#!/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(array()), '[]', 'empty array' ); is( itjs::serialize(array(0, "0")), '[0,"0"]', 'number strings stay strings' ); is( itjs::serialize(array(null, "", false)), '[null,"",false]', 'null, empty string, false' ); is( itjs::serialize(array('foo' => "bar", "qux", 42 => "quux")), '{"foo":"bar","0":"qux","42":"quux"}', 'key-value pairs' ); is( itjs::serialize(array('foo' => array('bar' => array("qux", 42)))), '{"foo":{"bar":["qux",42]}}', 'nested arrays' ); is( itjs::serialize(array('import' => array('function' => array(true, 42)))), '{"import":{"function":[true,42]}}', 'keywords' ); is( itjs::serialize(array('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" );