| Server IP : 54.233.248.239 / Your IP : 172.28.1.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/anahkiasen/underscore-php/tests/ |
Upload File : |
<?php
namespace Underscore;
use Underscore\Dummies\DummyDefault;
class ParseTest extends UnderscoreTestCase
{
////////////////////////////////////////////////////////////////////
////////////////////////// DATA PROVIDERS //////////////////////////
////////////////////////////////////////////////////////////////////
public function provideSwitchers()
{
return [
['toArray', null, []],
['toArray', 15, [15]],
['toArray', 'foobar', ['foobar']],
['toArray', (object) $this->array, $this->array],
['toArray', new DummyDefault(), ['foo', 'bar']],
['toString', 15, '15'],
['toString', ['foo', 'bar'], '["foo","bar"]'],
['toInteger', 'foo', 3],
['toInteger', '', 0],
['toInteger', '15', 15],
['toInteger', [1, 2, 3], 3],
['toInteger', [], 0],
['toObject', $this->array, (object) $this->array],
['toBoolean', '', false],
['toBoolean', 'foo', true],
['toBoolean', 15, true],
['toBoolean', 0, false],
['toBoolean', [], false],
];
}
////////////////////////////////////////////////////////////////////
////////////////////////////// TESTS ///////////////////////////////
////////////////////////////////////////////////////////////////////
public function testCanCreateCsvFiles()
{
$csv = Parse::toCSV($this->arrayMulti);
$matcher = '"bar";"ter"'.PHP_EOL.'"bar";"ter"'.PHP_EOL.'"foo";"ter"';
$this->assertEquals($matcher, $csv);
}
public function testCanUseCustomCsvDelimiter()
{
$csv = Parse::toCSV($this->arrayMulti, ',');
$matcher = '"bar","ter"'.PHP_EOL.'"bar","ter"'.PHP_EOL.'"foo","ter"';
$this->assertEquals($matcher, $csv);
}
public function testCanOutputCsvHeaders()
{
$csv = Parse::toCSV($this->arrayMulti, ',', true);
$matcher = 'foo,bis'.PHP_EOL.'"bar","ter"'.PHP_EOL.'"bar","ter"'.PHP_EOL.'"foo","ter"';
$this->assertEquals($matcher, $csv);
}
public function testCanConvertToJson()
{
$json = Parse::toJSON($this->arrayMulti);
$matcher = '[{"foo":"bar","bis":"ter"},{"foo":"bar","bis":"ter"},{"bar":"foo","bis":"ter"}]';
$this->assertEquals($matcher, $json);
}
public function testCanParseJson()
{
$json = Parse::toJSON($this->arrayMulti);
$array = Parse::fromJSON($json);
$this->assertEquals($this->arrayMulti, $array);
}
public function testCanParseXML()
{
$array = Parse::fromXML('<article><name>foo</name><content>bar</content></article>');
$matcher = ['name' => 'foo', 'content' => 'bar'];
$this->assertEquals($matcher, $array);
}
public function testCanParseCSV()
{
$array = Parse::fromCSV("foo;bar;bis\nbar\tfoo\tter");
$results = [['foo', 'bar', 'bis'], ['bar', 'foo', 'ter']];
$this->assertEquals($results, $array);
}
public function testCanParseCSVWithHeaders($value = '')
{
$array = Parse::fromCSV('foo;bar;bis'.PHP_EOL."bar\tfoo\tter", true);
$results = [['foo' => 'bar', 'bar' => 'foo', 'bis' => 'ter']];
$this->assertEquals($results, $array);
}
////////////////////////////////////////////////////////////////////
///////////////////////// TYPES SWITCHERS //////////////////////////
////////////////////////////////////////////////////////////////////
/**
* @dataProvider provideSwitchers
*/
public function testCanSwitchTypes($method, $from, $to)
{
$from = Parse::$method($from);
$this->assertEquals($to, $from);
}
}