189
191
'any_unix_timestamp MySQL expression that looks like another type'
195
# Tests borrowed from http://api.metacpan.org/source/MAKAMAKA/JSON-2.53/t/08_pc_base.t
197
my $js = encode_json($obj);
201
$js = encode_json($obj);
204
$obj = {"foo" => "bar"};
205
$js = encode_json($obj);
206
is($js,'{"foo":"bar"}', '{"foo":"bar"}');
208
$js = encode_json({"foo" => ""});
209
is($js,'{"foo":""}', '{"foo":""}');
211
$js = encode_json({"foo" => " "});
212
is($js,'{"foo":" "}' ,'{"foo":" "}');
214
$js = encode_json({"foo" => "0"});
215
is($js,'{"foo":"0"}',q|{"foo":"0"} - autoencode (default)|);
217
$js = encode_json({"foo" => "0 0"});
218
is($js,'{"foo":"0 0"}','{"foo":"0 0"}');
220
$js = encode_json([1,2,3]);
223
$js = encode_json({"foo"=>{"bar"=>"hoge"}});
224
is($js,q|{"foo":{"bar":"hoge"}}|);
226
$obj = [{"foo"=>[1,2,3]},-0.12,{"a"=>"b"}];
227
$js = encode_json($obj);
228
is($js,q|[{"foo":[1,2,3]},-0.12,{"a":"b"}]|);
231
is(encode_json($obj),'["\\u0001"]');
234
is(encode_json($obj),'["\\u001b"]');
237
# http://api.metacpan.org/source/MAKAMAKA/JSON-2.53/t/07_pc_esc.t
240
$obj = {test => qq|abc"def|};
241
my $str = encode_json($obj);
242
is($str,q|{"test":"abc\"def"}|);
244
$obj = {qq|te"st| => qq|abc"def|};
245
$str = encode_json($obj);
246
is($str,q|{"te\"st":"abc\"def"}|);
248
$obj = {test => q|abc\def|};
249
$str = encode_json($obj);
250
is($str,q|{"test":"abc\\\\def"}|);
252
$obj = {test => "abc\bdef"};
253
$str = encode_json($obj);
254
is($str,q|{"test":"abc\bdef"}|);
256
$obj = {test => "abc\fdef"};
257
$str = encode_json($obj);
258
is($str,q|{"test":"abc\fdef"}|);
260
$obj = {test => "abc\ndef"};
261
$str = encode_json($obj);
262
is($str,q|{"test":"abc\ndef"}|);
264
$obj = {test => "abc\rdef"};
265
$str = encode_json($obj);
266
is($str,q|{"test":"abc\rdef"}|);
268
$obj = {test => "abc-def"};
269
$str = encode_json($obj);
270
is($str,q|{"test":"abc-def"}|);
272
$obj = {test => "abc(def"};
273
$str = encode_json($obj);
274
is($str,q|{"test":"abc(def"}|);
276
$obj = {test => "abc\\def"};
277
$str = encode_json($obj);
278
is($str,q|{"test":"abc\\\\def"}|);
281
$obj = {test => "あいうえお"};
282
$str = encode_json($obj);
283
my $expect = q|{"test":"あいうえお"}|;
284
utf8::encode($expect);
287
$obj = {"あいうえお" => "かきくけこ"};
288
$str = encode_json($obj);
289
$expect = q|{"あいうえお":"かきくけこ"}|;
290
utf8::encode($expect);
193
296
# #############################################################################