summaryrefslogtreecommitdiff
path: root/tests/itjs.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/itjs.t')
-rwxr-xr-xtests/itjs.t46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/itjs.t b/tests/itjs.t
new file mode 100755
index 0000000..8cbf90c
--- /dev/null
+++ b/tests/itjs.t
@@ -0,0 +1,46 @@
+#!/www/server/bin/php -qC
+<?php
+#
+# $Id$
+#
+# Tests for itools/itjs.class: 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)),
+ '["", "", ""]',
+ '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'
+);
+
+?>