Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / tests / Framework / Constraint / JsonMatchesTest.php
diff --git a/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
new file mode 100644 (file)
index 0000000..2b7221c
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * @since      File available since Release 3.7.0
+ */
+class Framework_Constraint_JsonMatchesTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @dataProvider evaluateDataprovider
+     * @covers PHPUnit_Framework_Constraint_JsonMatches::evaluate
+     * @covers PHPUnit_Framework_Constraint_JsonMatches::matches
+     * @covers PHPUnit_Framework_Constraint_JsonMatches::__construct
+     */
+    public function testEvaluate($expected, $jsonOther, $jsonValue)
+    {
+        $constraint = new PHPUnit_Framework_Constraint_JsonMatches($jsonValue);
+        $this->assertEquals($expected, $constraint->evaluate($jsonOther, '', true));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Constraint_JsonMatches::toString
+     */
+    public function testToString()
+    {
+        $jsonValue  = json_encode(array('Mascott' => 'Tux'));
+        $constraint = new PHPUnit_Framework_Constraint_JsonMatches($jsonValue);
+
+        $this->assertEquals('matches JSON string "' . $jsonValue . '"', $constraint->toString());
+    }
+
+    public static function evaluateDataprovider()
+    {
+        return array(
+            'valid JSON'                          => array(true, json_encode(array('Mascott'                           => 'Tux')), json_encode(array('Mascott'                           => 'Tux'))),
+            'error syntax'                        => array(false, '{"Mascott"::}', json_encode(array('Mascott'         => 'Tux'))),
+            'error UTF-8'                         => array(false, json_encode('\xB1\x31'), json_encode(array('Mascott' => 'Tux'))),
+            'invalid JSON in class instantiation' => array(false, json_encode(array('Mascott'                          => 'Tux')), '{"Mascott"::}'),
+        );
+    }
+}