summaryrefslogtreecommitdiff
path: root/tests/itjs.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/itjs.t')
-rwxr-xr-xtests/itjs.t44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/itjs.t b/tests/itjs.t
new file mode 100755
index 0000000..4b4b0c8
--- /dev/null
+++ b/tests/itjs.t
@@ -0,0 +1,44 @@
+#!/www/server/bin/php -qC
+<?php
+
+# Tests for itjs.class, currently only itjs::serialize()
+
+require 'searchlib/search_test.class';
+
+is(
+ itjs::serialize(array()),
+ '[]',
+ 'empty array'
+);
+
+is(
+ itjs::serialize(array(0, "0")),
+ '[0, 0]',
+ 'number 0'
+);
+
+is(
+ itjs::serialize(array(null, "", false)),
+ '["", "", false]',
+ 'null, empty string, false'
+);
+
+is(
+ itjs::serialize(array(42, "42", 42.5, "042")),
+ '[42, 42, "42.5", "042"]',
+ 'numbers'
+);
+
+is(
+ itjs::serialize(array('foo' => "bar", "qux", 42 => "quux")),
+ "{foo:\"bar\",\n'0':\"qux\",\n'42':\"quux\"}",
+ 'key-value pairs'
+);
+
+is(
+ itjs::serialize(array('foo' => array('bar' => array("qux", 42)))),
+ '{foo:{bar:["qux", 42]}}',
+ 'nested arrays'
+);
+
+?>