summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/JsonTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/JsonTest.php')
-rw-r--r--tests/phpunit/includes/JsonTest.php27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/phpunit/includes/JsonTest.php b/tests/phpunit/includes/JsonTest.php
new file mode 100644
index 00000000..96a2ead5
--- /dev/null
+++ b/tests/phpunit/includes/JsonTest.php
@@ -0,0 +1,27 @@
+<?php
+
+class JsonTest extends MediaWikiTestCase {
+
+ function testPhpBug46944Test() {
+ $this->assertNotEquals(
+ '\ud840\udc00',
+ strtolower( FormatJson::encode( "\xf0\xa0\x80\x80" ) ),
+ 'Test encoding an broken json_encode character (U+20000)'
+ );
+
+ }
+
+ function testDecodeVarTypes() {
+ $this->assertInternalType(
+ 'object',
+ FormatJson::decode( '{"Name": "Cheeso", "Rank": 7}' ),
+ 'Default to object'
+ );
+
+ $this->assertInternalType(
+ 'array',
+ FormatJson::decode( '{"Name": "Cheeso", "Rank": 7}', true ),
+ 'Optional array'
+ );
+ }
+}