Yaffs site version 1.1
[yaffs-website] / vendor / phpunit / phpunit / tests / Framework / Constraint / JsonMatches / ErrorMessageProviderTest.php
diff --git a/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
new file mode 100644 (file)
index 0000000..8529026
--- /dev/null
@@ -0,0 +1,83 @@
+<?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_JsonMatches_ErrorMessageProviderTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @dataProvider translateTypeToPrefixDataprovider
+     * @covers PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::translateTypeToPrefix
+     */
+    public function testTranslateTypeToPrefix($expected, $type)
+    {
+        $this->assertEquals(
+            $expected,
+            PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::translateTypeToPrefix($type)
+        );
+    }
+
+    /**
+     * @dataProvider determineJsonErrorDataprovider
+     * @covers PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError
+     */
+    public function testDetermineJsonError($expected, $error, $prefix)
+    {
+        $this->assertEquals(
+            $expected,
+            PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
+                $error,
+                $prefix
+            )
+        );
+    }
+
+    public static function determineJsonErrorDataprovider()
+    {
+        return array(
+            'JSON_ERROR_NONE'  => array(
+                null, 'json_error_none', ''
+            ),
+            'JSON_ERROR_DEPTH' => array(
+                'Maximum stack depth exceeded', JSON_ERROR_DEPTH, ''
+            ),
+            'prefixed JSON_ERROR_DEPTH' => array(
+                'TUX: Maximum stack depth exceeded', JSON_ERROR_DEPTH, 'TUX: '
+            ),
+            'JSON_ERROR_STATE_MISMatch' => array(
+                'Underflow or the modes mismatch', JSON_ERROR_STATE_MISMATCH, ''
+            ),
+            'JSON_ERROR_CTRL_CHAR' => array(
+                'Unexpected control character found', JSON_ERROR_CTRL_CHAR, ''
+            ),
+            'JSON_ERROR_SYNTAX' => array(
+                'Syntax error, malformed JSON', JSON_ERROR_SYNTAX, ''
+            ),
+            'JSON_ERROR_UTF8`' => array(
+                'Malformed UTF-8 characters, possibly incorrectly encoded',
+                JSON_ERROR_UTF8,
+                ''
+            ),
+            'Invalid error indicator' => array(
+                'Unknown error', 55, ''
+            ),
+        );
+    }
+
+    public static function translateTypeToPrefixDataprovider()
+    {
+        return array(
+            'expected' => array('Expected value JSON decode error - ', 'expected'),
+            'actual'   => array('Actual value JSON decode error - ', 'actual'),
+            'default'  => array('', ''),
+        );
+    }
+}