From 796f9d6690e3f2ff0dc01ab113529143e137fbe1 Mon Sep 17 00:00:00 2001 From: Urban Müller Date: Thu, 31 Jan 2013 18:24:31 +0000 Subject: it::serialize must quote ' in keys --- itjs.class | 2 +- tests/itjs.t | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/itjs.class b/itjs.class index 79158f6..e8284ce 100644 --- a/itjs.class +++ b/itjs.class @@ -85,7 +85,7 @@ static function encode($values) if ($texts[2]) { if ($jskeyword[$key] || !preg_match('/^[a-z_]\w*$/i', $key)) - $key = "'$key'"; + $key = "'" . addslashes($key) . "'"; $result .= "$key:"; } diff --git a/tests/itjs.t b/tests/itjs.t index f616ced..4fcc9b4 100755 --- a/tests/itjs.t +++ b/tests/itjs.t @@ -47,4 +47,8 @@ is( 'keywords' ); -?> +is( + itjs::serialize(array("foo'foo" => "bar")), + "{'foo\'foo':\"bar\"}", + "quote ' in keys", +); -- cgit v1.2.3