1
0
mirror of https://github.com/danielstjules/Stringy.git synced 2025-08-13 16:53:59 +02:00

isJson() function, with tests

This commit is contained in:
Lucas
2013-08-23 14:58:28 +02:00
committed by Daniel St. Jules
parent 454e8e2f87
commit cd5e897ac3
6 changed files with 88 additions and 0 deletions

View File

@@ -766,6 +766,33 @@ abstract class CommonTest extends PHPUnit_Framework_TestCase
return $testData;
}
public function stringsForIsJson()
{
$testData = array(
array(false, ''),
array(false, '123'),
array(true, '{"foo": "bar"}'),
array(false, '{"foo":"bar",}'),
array(false, '{"foo"}'),
array(false, '["foo": "bar"]'),
array(true, '["foo"]'),
array(false, '{"foo"}'),
array(false, '{"foo": "bar"]'),
array(true, ' { "foo" : "bar" } '),
array(false, '123', 'UTF-8'),
array(true, '{"foo": "bar"}', 'UTF-8'),
array(false, '{"foo":"bar",}', 'UTF-8'),
array(false, '{"foo"}', 'UTF-8'),
array(false, '["foo": "bar"]', 'UTF-8'),
array(true, '["foo"]', 'UTF-8'),
array(false, '{"foo"}', 'UTF-8'),
array(false, '{"foo": "bar"]', 'UTF-8'),
array(true, ' { "foo" : "bar" } ', 'UTF-8'),
);
return $testData;
}
public function stringsForIsLowerCase()
{
$testData = array(

View File

@@ -461,6 +461,16 @@ class StaticStringyTestCase extends CommonTest
$this->assertInternalType('boolean', $result);
$this->assertEquals($expected, $result);
}
/**
* @dataProvider stringsForIsJson
*/
public function testIsJson($expected, $str, $encoding = null)
{
$result = S::isJson($str, $encoding);
$this->assertInternalType('boolean', $result);
$this->assertEquals($expected, $result);
}
/**
* @dataProvider stringsForIsLowerCase

View File

@@ -538,6 +538,18 @@ class StringyTestCase extends CommonTest
$this->assertEquals($str, $stringy);
}
/**
* @dataProvider stringsForIsJson
*/
public function testIsJson($expected, $str, $encoding = null)
{
$stringy = S::create($str, $encoding);
$result = $stringy->isJson();
$this->assertInternalType('boolean', $result);
$this->assertEquals($expected, $result);
$this->assertEquals($str, $stringy);
}
/**
* @dataProvider stringsForIsLowerCase
*/