#!/www/server/bin/php -qC <?php # Tests for itjs.class, currently only itjs::serialize() $GLOBALS['ULTRASERVERTYPE'] = "live"; # don't prettyprint json $_GET['aa'] = 1; is( itjs::serialize(null), 'null', 'null' ); is( itjs::serialize([]), '[]', 'empty array' ); is( itjs::serialize([0, "0"]), '[0,"0"]', 'number strings stay strings' ); is( itjs::serialize([null, "", false]), '[null,"",false]', 'null, empty string, false' ); is( itjs::serialize(['foo' => "bar", "qux", 42 => "quux"]), '{"foo":"bar","0":"qux","42":"quux"}', 'key-value pairs' ); is( itjs::serialize(['foo' => ['bar' => ["qux", 42]]]), '{"foo":{"bar":["qux",42]}}', 'nested arrays' ); is( itjs::serialize(['import' => ['function' => [true, 42]]]), '{"import":{"function":[true,42]}}', 'keywords' ); is( itjs::serialize(['foo"foo' => "bar"]), '{"foo\"foo":"bar"}', "quote ' in keys" ); is( itjs::serialize("</script>"), '"<\\/script>"', "quote slashes" ); is( itjs::serialize("hellö"), '"hellö"', "don't encode utf8" );