#!/www/server/bin/php -qC
<?php

# Tests for itjs.class, currently only itjs::serialize()

$_GET['aa'] = 1;

is(
	itjs::serialize(null),
	'null',
	'null'
);

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'
);

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("hellö"),
	'"hellö"',
	"string"
);