mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-25 01:43:42 +00:00
50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Abraham\TwitterOAuth\Tests;
|
|
|
|
use Abraham\TwitterOAuth\Util\JsonDecoder;
|
|
|
|
class JsonDecoderTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* @dataProvider jsonProvider
|
|
*/
|
|
public function testDecode($input, $asArray, $expected)
|
|
{
|
|
$this->assertEquals($expected, JsonDecoder::decode($input, $asArray));
|
|
}
|
|
|
|
public function jsonProvider()
|
|
{
|
|
return [
|
|
['[]', true, []],
|
|
['[1,2,3]', true, [1, 2, 3]],
|
|
['[{"id": 556179961825226750}]', true, [['id' => 556179961825226750]]],
|
|
['[]', false, []],
|
|
['[1,2,3]', false, [1, 2, 3]],
|
|
[
|
|
'[{"id": 556179961825226750}]',
|
|
false,
|
|
[
|
|
$this->getClass(function ($object) {
|
|
$object->id = 556179961825226750;
|
|
return $object;
|
|
})
|
|
]
|
|
],
|
|
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @param callable $callable
|
|
*
|
|
* @return stdClass
|
|
*/
|
|
private function getClass(\Closure $callable)
|
|
{
|
|
$object = new \stdClass();
|
|
|
|
return $callable($object);
|
|
}
|
|
}
|