86 | 87 | var expected = "{\"ary\" : [], \"ary2\" : [\"[\\\"im-jssp-rpc\\\\\\\"a\\\\\\\"\\\"]\", \"[\\\"im-jssp-rpc\\\"a\\\"\\\"]\"], \"str\" : \"string\", \"num\" : -1, \"bol\" : true, \"obj\" : {\"ary\" : [], \"ary2\" : [\"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\", \",/,\\b,\\f,\\n,\\r,\\t,u\"], \"str\" : \"string1\", \"num\" : 0, \"bol\" : false}}"; |
---|
90 | | |
---|
91 | | JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 92 | // JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 93 | |
---|
| 94 | // JavaScriptでは、プロパティの定義順番までは考慮されていません。 |
---|
| 95 | eval("var expectedObj = " + expected); |
---|
| 96 | eval("var actualObj = " + ImJson.toJSONString(input)); |
---|
| 97 | |
---|
| 98 | JsUnit.assertEquals("ary", 0 , actualObj.ary.length ); |
---|
| 99 | JsUnit.assertEquals("ary2", 2 , actualObj.ary2.length ); |
---|
| 100 | JsUnit.assertEquals("ary2[0]", expectedObj.ary2[0] , actualObj.ary2[0] ); |
---|
| 101 | JsUnit.assertEquals("ary2[1]", expectedObj.ary2[1] , actualObj.ary2[1] ); |
---|
| 102 | JsUnit.assertEquals("str", expectedObj.str , actualObj.str ); |
---|
| 103 | JsUnit.assertEquals("num", expectedObj.num , actualObj.num ); |
---|
| 104 | JsUnit.assertEquals("bol", expectedObj.bol , actualObj.bol ); |
---|
| 105 | JsUnit.assertEquals("num", expectedObj.num , actualObj.num ); |
---|
| 106 | JsUnit.assertEquals("obj.ary", 0 , actualObj.obj.ary.length ); |
---|
| 107 | JsUnit.assertEquals("actualObj.obj.ary2", 2 , actualObj.obj.ary2.length ); |
---|
| 108 | JsUnit.assertEquals("obj.ary2[0]", expectedObj.obj.ary2[0] , actualObj.obj.ary2[0] ); |
---|
| 109 | JsUnit.assertEquals("obj.ary2[1]", expectedObj.obj.ary2[1] , actualObj.obj.ary2[1] ); |
---|
| 110 | JsUnit.assertEquals("obj.str", expectedObj.obj.str , actualObj.obj.str ); |
---|
| 111 | JsUnit.assertEquals("obj.num", expectedObj.obj.num , actualObj.obj.num ); |
---|
| 112 | JsUnit.assertEquals("obj.bol", expectedObj.obj.bol , actualObj.obj.bol ); |
---|
| 113 | |
---|
295 | | |
---|
296 | | JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 317 | // JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 318 | |
---|
| 319 | // JavaScriptでは、プロパティの定義順番までは考慮されていません。 |
---|
| 320 | eval("var expectedObj = " + expected); |
---|
| 321 | eval("var actualObj = " + ImJson.toJSONString(input)); |
---|
| 322 | |
---|
| 323 | JsUnit.assertEquals("prop_null", expectedObj.prop_null , actualObj.prop_null ); |
---|
| 324 | JsUnit.assertEquals("prop_undefined", expectedObj.prop_undefined , actualObj.prop_undefined ); |
---|
| 325 | JsUnit.assertEquals("prop_string", expectedObj.prop_string , actualObj.prop_string ); |
---|
| 326 | JsUnit.assertEquals("prop_number", expectedObj.prop_number , actualObj.prop_number ); |
---|
| 327 | JsUnit.assertEquals("prop_boolean", expectedObj.prop_boolean , actualObj.prop_boolean ); |
---|
| 328 | JsUnit.assertEquals("prop_functionはundefinedであること", undefined , actualObj.prop_function ); |
---|
| 329 | JsUnit.assertEquals("prop_object.inner_obj_string", expectedObj.prop_object.inner_obj_string , actualObj.prop_object.inner_obj_string ); |
---|
| 330 | JsUnit.assertEquals("prop_object.inner_obj_number", expectedObj.prop_object.inner_obj_number , actualObj.prop_object.inner_obj_number ); |
---|
| 331 | JsUnit.assertEquals("prop_array", 2 , actualObj.prop_array.length ); |
---|
| 332 | JsUnit.assertEquals("prop_array[0]", expectedObj.prop_array[0] , actualObj.prop_array[0] ); |
---|
| 333 | JsUnit.assertEquals("prop_array[1]", expectedObj.prop_array[1] , actualObj.prop_array[1] ); |
---|
| 334 | |
---|
| 474 | /* String */\n\ |
---|
| 475 | \"str\" : \"string\", \n\ |
---|
| 476 | \n\ |
---|
| 477 | /* Object */\n\ |
---|
| 478 | \"obj\" : {\n\ |
---|
| 479 | /* String */\n\ |
---|
| 480 | \"str\" : \"string1\", \n\ |
---|
| 481 | \n\ |
---|
| 482 | /* Boolean */\n\ |
---|
| 483 | \"bol\" : false, \n\ |
---|
| 484 | \n\ |
---|
| 485 | /* Array */\n\ |
---|
| 486 | \"ary2\" : [\n\ |
---|
| 487 | /* String */\n\ |
---|
| 488 | \"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\", \n\ |
---|
| 489 | \n\ |
---|
| 490 | /* String */\n\ |
---|
| 491 | \",/,\\b,\\f,\\n,\\r,\\t,u\"\n\ |
---|
| 492 | ], \n\ |
---|
| 493 | \n\ |
---|
| 494 | /* Array */\n\ |
---|
| 495 | \"ary\" : [\n\ |
---|
| 496 | \n\ |
---|
| 497 | ], \n\ |
---|
| 498 | \n\ |
---|
| 499 | /* Number */\n\ |
---|
| 500 | \"num\" : 0\n\ |
---|
| 501 | }, \n\ |
---|
| 502 | \n\ |
---|
| 503 | /* Boolean */\n\ |
---|
| 504 | \"bol\" : true, \n\ |
---|
| 505 | \n\ |
---|
| 506 | /* Array */\n\ |
---|
| 507 | \"ary2\" : [\n\ |
---|
| 508 | /* String */\n\ |
---|
| 509 | \"[\\\"im-jssp-rpc\\\\\\\"a\\\\\\\"\\\"]\", \n\ |
---|
| 510 | \n\ |
---|
| 511 | /* String */\n\ |
---|
| 512 | \"[\\\"im-jssp-rpc\\\"a\\\"\\\"]\"\n\ |
---|
| 513 | ], \n\ |
---|
| 514 | \n\ |
---|
454 | | \"num\" : -1, \n\ |
---|
455 | | \n\ |
---|
456 | | /* Boolean */\n\ |
---|
457 | | \"bol\" : true, \n\ |
---|
458 | | \n\ |
---|
459 | | /* Object */\n\ |
---|
460 | | \"obj\" : {\n\ |
---|
461 | | /* Array */\n\ |
---|
462 | | \"ary\" : [\n\ |
---|
463 | | \n\ |
---|
464 | | ], \n\ |
---|
465 | | \n\ |
---|
466 | | /* Array */\n\ |
---|
467 | | \"ary2\" : [\n\ |
---|
468 | | /* String */\n\ |
---|
469 | | \"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\", \n\ |
---|
470 | | \n\ |
---|
471 | | /* String */\n\ |
---|
472 | | \",/,\\b,\\f,\\n,\\r,\\t,u\"\n\ |
---|
473 | | ], \n\ |
---|
474 | | \n\ |
---|
475 | | /* String */\n\ |
---|
476 | | \"str\" : \"string1\", \n\ |
---|
477 | | \n\ |
---|
478 | | /* Number */\n\ |
---|
479 | | \"num\" : 0, \n\ |
---|
480 | | \n\ |
---|
481 | | /* Boolean */\n\ |
---|
482 | | \"bol\" : false\n\ |
---|
483 | | }\n\ |
---|
| 521 | \"num\" : -1\n\ |
---|
900 | | JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 939 | // JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 940 | |
---|
| 941 | // JavaScriptでは、プロパティの定義順番までは考慮されていません。 |
---|
| 942 | eval("var expectedObj = " + expected); |
---|
| 943 | eval("var actualObj = " + ImJson.toJSONString(input)); |
---|
| 944 | |
---|
| 945 | JsUnit.assertEquals("prop_java", expectedObj.prop_java , actualObj.prop_java ); |
---|
| 946 | JsUnit.assertEquals("prop_null", expectedObj.prop_null , actualObj.prop_null ); |
---|
| 947 | JsUnit.assertEquals("prop_undefined", expectedObj.prop_undefined , actualObj.prop_undefined ); |
---|
| 948 | JsUnit.assertEquals("prop_string", expectedObj.prop_string , actualObj.prop_string ); |
---|
| 949 | JsUnit.assertEquals("prop_number", expectedObj.prop_number , actualObj.prop_number ); |
---|
| 950 | JsUnit.assertEquals("prop_boolean", expectedObj.prop_boolean , actualObj.prop_boolean ); |
---|
| 951 | JsUnit.assertEquals("prop_function", undefined , actualObj.prop_function ); |
---|
| 952 | |
---|
| 953 | JsUnit.assertEquals("prop_object.inner_obj_java", expectedObj.prop_object.inner_obj_java , actualObj.prop_object.inner_obj_java ); |
---|
| 954 | JsUnit.assertEquals("prop_object.inner_obj_string", expectedObj.prop_object.inner_obj_string , actualObj.prop_object.inner_obj_string ); |
---|
| 955 | JsUnit.assertEquals("prop_object.inner_obj_number", expectedObj.prop_object.inner_obj_number , actualObj.prop_object.inner_obj_number ); |
---|
| 956 | |
---|
| 957 | JsUnit.assertEquals("prop_array", 3 , actualObj.prop_array.length ); |
---|
| 958 | JsUnit.assertEquals("prop_array[0]", expectedObj.prop_array[0] , actualObj.prop_array[0] ); |
---|
| 959 | JsUnit.assertEquals("prop_array[1]", expectedObj.prop_array[1] , actualObj.prop_array[1] ); |
---|
| 960 | JsUnit.assertEquals("prop_array[2]", expectedObj.prop_array[2] , actualObj.prop_array[2] ); |
---|
1243 | | |
---|
1244 | | JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 1303 | // JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input)); |
---|
| 1304 | |
---|
| 1305 | // JavaScriptでは、プロパティの定義順番までは考慮されていません。 |
---|
| 1306 | eval("var expectedObj = " + expected); |
---|
| 1307 | eval("var actualObj = " + ImJson.toJSONString(input)); |
---|
| 1308 | |
---|
| 1309 | JsUnit.assertEquals('["\n"] ', expectedObj["\n"] , actualObj["\n"] ); |
---|
| 1310 | JsUnit.assertEquals('["\f"] ', expectedObj["\f"] , actualObj["\f"] ); |
---|
| 1311 | JsUnit.assertEquals('["\b"] ', expectedObj["\b"] , actualObj["\b"] ); |
---|
| 1312 | JsUnit.assertEquals('["\r"] ', expectedObj["\r"] , actualObj["\r"] ); |
---|
| 1313 | JsUnit.assertEquals('["\t"] ', expectedObj["\t"] , actualObj["\t"] ); |
---|
| 1314 | JsUnit.assertEquals('["\'"] ', expectedObj["\'"] , actualObj["\'"] ); |
---|
| 1315 | JsUnit.assertEquals('["\""] ', expectedObj["\""] , actualObj["\""] ); |
---|
| 1316 | JsUnit.assertEquals('["\\"] ', expectedObj["\\"] , actualObj["\\"] ); |
---|
| 1317 | JsUnit.assertEquals('["\101"] ', expectedObj["\101"] , actualObj["\101"] ); |
---|
| 1318 | JsUnit.assertEquals('["\x42"] ', expectedObj["\x42"] , actualObj["\x42"] ); |
---|
| 1319 | JsUnit.assertEquals('["\u3042"]', expectedObj["\u3042"] , actualObj["\u3042"] ); |
---|
| 1320 | |
---|