Index: /trunk/im-jssp/src/test/js/jssp/script/api/im_json_test.js
===================================================================
--- /trunk/im-jssp/src/test/js/jssp/script/api/im_json_test.js (リビジョン 313)
+++ /trunk/im-jssp/src/test/js/jssp/script/api/im_json_test.js (リビジョン 313)
@@ -0,0 +1,1305 @@
+/**
+ * @fileoverview ImJsonのテストケース
+ */
+
+/**
+ *
+ */
+function testToJSONString001_JSON文字列のエスケープ文字対応() {
+ var input = "\",\\,\\/,\\b,\\f,\\n,\\r,\\t,\\u";
+ var expected = "\"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\"";
+
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+ Debug.console("expected", expected);
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString002_JSON文字列のエスケープ文字対応() {
+ var input = '["im-jssp-rpc\\\"a\\\""]';
+ var expected = "\"[\\\"im-jssp-rpc\\\\\\\"a\\\\\\\"\\\"]\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString003_JSON文字列のエスケープシーケンスされていない文字対応() {
+ var input = "\,\/,\b,\f,\n,\r,\t,\u";
+ var expected = "\",/,\\b,\\f,\\n,\\r,\\t,u\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString004_JSON文字列の16進対応() {
+ var input = "\u005C\u002C\u005C\u002F\u002C\u005C\u0062\u002C\u005C\u0066\u002C\u005C\u006E\u002C\u005C\u0072\u002C\u005C\u0074\u002C\u005C\u0075";
+ var expected = "\"\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input) );
+}
+
+/**
+ *
+ */
+function testToJSONString005_JSON文字列のダブルクォート() {
+ var input = '["im-jssp-rpc\"a\""]';
+ var expected = "\"[\\\"im-jssp-rpc\\\"a\\\"\\\"]\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString006_JSON文字列のダブルクォート() {
+ var input = '{"roles" : [], "departments" : [], "posts" : [], "publicGroups" : []}';
+ var expected = "\"{\\\"roles\\\" : [], \\\"departments\\\" : [], \\\"posts\\\" : [], \\\"publicGroups\\\" : []}\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString007_JSON文字列変換() {
+
+ var input = new Object();
+ input.ary = new Array();
+ input.ary2= new Array('["im-jssp-rpc\\\"a\\\""]', '["im-jssp-rpc\"a\""]');
+ input.str = "string";
+ input.num = -1;
+ input.bol = true;
+ input.obj = new Object();
+ input.obj.ary = new Array();
+ input.obj.ary2= new Array("\",\\,\\/,\\b,\\f,\\n,\\r,\\t,\\u", "\,\/,\b,\f,\n,\r,\t,\u");
+ input.obj.str = "string1";
+ input.obj.num = 0;
+ input.obj.bol = false;
+
+ 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}}";
+
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+ Debug.console("expected", expected);
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString008_nullの場合() {
+ var input = null;
+ var expected = "null";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString009_undefinedの場合() {
+ var input = undefined;
+ var expected = "undefined";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString010_文字列の場合() {
+ var input = "test_文字列㈱①~";
+ var expected = "\"test_文字列㈱①~\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString011_数値の場合() {
+ // 数値
+
+ var input = 0;
+ var expected = "0";
+ JsUnit.assertEquals("0", expected, ImJson.toJSONString(input));
+
+ input = 1234567890;
+ expected = "1234567890";
+ JsUnit.assertEquals("正の整数", expected, ImJson.toJSONString(input));
+
+ input = -1234567890;
+ expected = "-1234567890";
+ JsUnit.assertEquals("負の整数", expected, ImJson.toJSONString(input));
+
+ input = 123.456789;
+ expected = "123.456789";
+ JsUnit.assertEquals("正の少数", expected, ImJson.toJSONString(input));
+
+ input = -123.456789;
+ expected = "-123.456789";
+ JsUnit.assertEquals("負の少数", expected, ImJson.toJSONString(input));
+
+ input = 1.23e4;
+ expected = "12300";
+ JsUnit.assertEquals("正のX乗:1.23 × 10の4乗", expected, ImJson.toJSONString(input));
+
+ input = 1.23E4;
+ expected = "12300";
+ JsUnit.assertEquals("正のX乗:1.23 × 10の4乗", expected, ImJson.toJSONString(input));
+
+ input = -1.23e3;
+ expected = "-1230";
+ JsUnit.assertEquals("負のX乗:-1.23 × 10の3乗", expected, ImJson.toJSONString(input));
+
+ input = -1.23E3;
+ expected = "-1230";
+ JsUnit.assertEquals("負のX乗:-1.23 × 10の3乗", expected, ImJson.toJSONString(input));
+
+ input = 0777;
+ expected = "511";
+ JsUnit.assertEquals("8進数", expected, ImJson.toJSONString(input));
+
+ input = 0xff88;
+ expected = "65416";
+ JsUnit.assertEquals("16進数", expected, ImJson.toJSONString(input));
+
+ input = Number.MAX_VALUE;
+ expected = "1.7976931348623157e+308";
+ JsUnit.assertEquals("定数:Number.MAX_VALUE", expected, ImJson.toJSONString(input));
+
+ input = Number.MIN_VALUE;
+ expected = "5e-324";
+ JsUnit.assertEquals("定数:Number.MIN_VALUE", expected, ImJson.toJSONString(input));
+
+ input = Number.POSITIVE_INFINITY;
+ expected = "Infinity";
+ JsUnit.assertEquals("定数:Number.POSITIVE_INFINITY", expected, ImJson.toJSONString(input));
+
+ input = Number.NEGATIVE_INFINITY;
+ expected = "-Infinity";
+ JsUnit.assertEquals("定数:Number.NEGATIVE_INFINITY", expected, ImJson.toJSONString(input));
+
+ input = Number.NaN;
+ expected = "NaN";
+ JsUnit.assertEquals("定数:Number.NaN", expected, ImJson.toJSONString(input));
+
+ input = Infinity;
+ expected = "Infinity";
+ JsUnit.assertEquals("定数:Infinity", expected, ImJson.toJSONString(input));
+
+ input = -Infinity;
+ expected = "-Infinity";
+ JsUnit.assertEquals("定数:-Infinity", expected, ImJson.toJSONString(input));
+
+ input = Number.NaN;
+ expected = "NaN";
+ JsUnit.assertEquals("定数:NaN", expected, ImJson.toJSONString(input));
+
+ input = Math.PI;
+ expected = "3.141592653589793";
+ JsUnit.assertEquals("定数:Math.PI;", expected, ImJson.toJSONString(input));
+
+ input = Math.SQRT2;
+ expected = "1.4142135623730951";
+ JsUnit.assertEquals("定数:Math.SQRT2;", expected, ImJson.toJSONString(input));
+
+ input = Math.SQRT1_2;
+ expected = "0.7071067811865476";
+ JsUnit.assertEquals("定数:Math.SQRT1_2;", expected, ImJson.toJSONString(input));
+
+ input = Math.E;
+ expected = "2.718281828459045";
+ JsUnit.assertEquals("定数:Math.E;", expected, ImJson.toJSONString(input));
+
+ input = Math.LN2;
+ expected = "0.6931471805599453";
+ JsUnit.assertEquals("定数:Math.LN2;", expected, ImJson.toJSONString(input));
+
+ input = Math.LN10;
+ expected = "2.302585092994046";
+ JsUnit.assertEquals("定数:Math.LN10;", expected, ImJson.toJSONString(input));
+
+ input = Math.LOG2E;
+ // if(window.navigator.userAgent.indexOf("MSIE") != -1){
+ // expected = "1.4426950408889633";
+ // }
+ // else{
+ expected = "1.4426950408889634";
+ // }
+ JsUnit.assertEquals("定数:Math.LOG2E;", expected, ImJson.toJSONString(input));
+
+ input = Math.LOG10E;
+ expected = "0.4342944819032518";
+ JsUnit.assertEquals("定数:Math.LOG10E;", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString012_真偽値の場合() {
+ var input = true;
+ var expected = "true";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+
+ input = false;
+ expected = "false";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+
+}
+
+/**
+ *
+ */
+function testToJSONString013_関数の場合() {
+ var input = function(){ return "テスト用関数です。"; };
+ var expected = "";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+
+/**
+ *
+ */
+function testToJSONString014_オブジェクトの場合() {
+ var input = {
+ prop_null : null,
+ prop_undefined : undefined,
+ prop_string : "文字列",
+ prop_number : 1234567890,
+ prop_boolean : false,
+ prop_function : function(){ return "テスト関数"; },
+ prop_object : {
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ prop_array : [
+ "テスト",
+ -12345
+ ]
+ }
+
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "{\"prop_null\" : null, \"prop_undefined\" : undefined, \"prop_string\" : \"文字列\", \"prop_number\" : 1234567890, \"prop_boolean\" : false, \"prop_object\" : {\"inner_obj_string\" : \"テスト\", \"inner_obj_number\" : -12345}, \"prop_array\" : [\"テスト\", -12345]}";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+
+/**
+ *
+ */
+function testToJSONString015_配列の場合() {
+ var input = [
+ null,
+ undefined,
+ "文字列",
+ 1234567890,
+ false,
+ function(){ return "テスト関数"; },
+ {
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ [
+ "テスト",
+ -12345
+ ]
+ ]
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "[null, undefined, \"文字列\", 1234567890, false, {\"inner_obj_string\" : \"テスト\", \"inner_obj_number\" : -12345}, [\"テスト\", -12345]]";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString016_エスケープ文字の場合() {
+ var input = new Array();
+ input[0] = "\n"; // \n - ニューライン(改行文字)
+ input[1] = "\f"; // \f - フォームフィード
+ input[2] = "\b"; // \b - バックスペース
+ input[3] = "\r"; // \r - キャリッジリターン(復帰文字)
+ input[4] = "\t"; // \t - タブ文字
+ input[5] = "\'"; // \' - シングルクォート(')
+ input[6] = "\""; // \" - ダブルクォート(")
+ input[7] = "\\"; // \\ - バックスラッシュ(\)
+ input[8] = "\101"; // - 8進\nnn - 8進数による文字コード指定(例えば "A" は "\101")
+ input[9] = "\x41"; // - 16\xnn - 16進数による文字コード指定(例えば "A" は "\x41")
+ input[10] = "\u3042"; // - \unnnn - Unicode文字(例えば "あ" は "\u3042")
+
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "[\"\\n\", \"\\f\", \"\\b\", \"\\r\", \"\\t\", \"'\", \"\\\"\", \"\\\\\", \"A\", \"A\", \"あ\"]";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString017_DebugConsole用_JSON文字列のエスケープ文字対応() {
+ var input = "\",\\,\\/,\\b,\\f,\\n,\\r,\\t,\\u";
+ var expected = "/* String */\n\"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\"";
+
+ Debug.console("testToJSONString017_DebugConsole用_JSON文字列のエスケープ文字対応:ImJson.toJSONString(input, true)",
+ ImJson.toJSONString(input, true));
+ Debug.console("expected", expected);
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString018_DebugConsole用_JSON文字列のエスケープ文字対応() {
+ var input = '["im-jssp-rpc\\\"a\\\""]';
+ var expected = "/* String */\n\"[\\\"im-jssp-rpc\\\\\\\"a\\\\\\\"\\\"]\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString019_DebugConsole用_JSON文字列のエスケープシーケンスされていない文字対応() {
+ var input = "\,\/,\b,\f,\n,\r,\t,\u";
+ var expected = "/* String */\n\",/,\\b,\\f,\\n,\\r,\\t,u\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString020_DebugConsole用_JSON文字列の16進対応() {
+ var input = "\u005C\u002C\u005C\u002F\u002C\u005C\u0062\u002C\u005C\u0066\u002C\u005C\u006E\u002C\u005C\u0072\u002C\u005C\u0074\u002C\u005C\u0075";
+ var expected = "/* String */\n\"\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true) );
+}
+
+/**
+ *
+ */
+function testToJSONString021_DebugConsole用_JSON文字列のダブルクォート() {
+ var input = '["im-jssp-rpc\"a\""]';
+ var expected = "/* String */\n\"[\\\"im-jssp-rpc\\\"a\\\"\\\"]\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString022_DebugConsole用_JSON文字列のダブルクォート() {
+ var input = '{"roles" : [], "departments" : [], "posts" : [], "publicGroups" : []}';
+ var expected = "/* String */\n\"{\\\"roles\\\" : [], \\\"departments\\\" : [], \\\"posts\\\" : [], \\\"publicGroups\\\" : []}\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString023_DebugConsole用_JSON文字列変換() {
+
+ var input = new Object();
+ input.ary = new Array();
+ input.ary2= new Array('["im-jssp-rpc\\\"a\\\""]', '["im-jssp-rpc\"a\""]');
+ input.str = "string";
+ input.num = -1;
+ input.bol = true;
+ input.obj = new Object();
+ input.obj.ary = new Array();
+ input.obj.ary2= new Array("\",\\,\\/,\\b,\\f,\\n,\\r,\\t,\\u", "\,\/,\b,\f,\n,\r,\t,\u");
+ input.obj.str = "string1";
+ input.obj.num = 0;
+ input.obj.bol = false;
+
+ var expected =
+"/* Object */\n\
+{\n\
+ /* Array */\n\
+ \"ary\" : [\n\
+ \n\
+ ], \n\
+\n\
+ /* Array */\n\
+ \"ary2\" : [\n\
+ /* String */\n\
+ \"[\\\"im-jssp-rpc\\\\\\\"a\\\\\\\"\\\"]\", \n\
+\n\
+ /* String */\n\
+ \"[\\\"im-jssp-rpc\\\"a\\\"\\\"]\"\n\
+ ], \n\
+\n\
+ /* String */\n\
+ \"str\" : \"string\", \n\
+\n\
+ /* Number */\n\
+ \"num\" : -1, \n\
+\n\
+ /* Boolean */\n\
+ \"bol\" : true, \n\
+\n\
+ /* Object */\n\
+ \"obj\" : {\n\
+ /* Array */\n\
+ \"ary\" : [\n\
+ \n\
+ ], \n\
+\n\
+ /* Array */\n\
+ \"ary2\" : [\n\
+ /* String */\n\
+ \"\\\",\\\\,\\\\/,\\\\b,\\\\f,\\\\n,\\\\r,\\\\t,\\\\u\", \n\
+\n\
+ /* String */\n\
+ \",/,\\b,\\f,\\n,\\r,\\t,u\"\n\
+ ], \n\
+\n\
+ /* String */\n\
+ \"str\" : \"string1\", \n\
+\n\
+ /* Number */\n\
+ \"num\" : 0, \n\
+\n\
+ /* Boolean */\n\
+ \"bol\" : false\n\
+ }\n\
+}";
+
+ Debug.console("ImJson.toJSONString(input, true)", ImJson.toJSONString(input, true));
+ Debug.console("expected", expected);
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString024_DebugConsole用_nullの場合() {
+ var input = null;
+ var expected = "/* Null */\nnull";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString025_DebugConsole用_undefinedの場合() {
+ var input = undefined;
+ var expected = "/* Undefined */\nundefined";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString026_DebugConsole用_文字列の場合() {
+ var input = "test_文字列㈱①~";
+ var expected = "/* String */\n\"test_文字列㈱①~\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString027_DebugConsole用_数値の場合() {
+ // 数値
+
+ var input = 0;
+ var expected = "/* Number */\n0";
+ JsUnit.assertEquals("0", expected, ImJson.toJSONString(input, true));
+
+ input = 1234567890;
+ expected = "/* Number */\n1234567890";
+ JsUnit.assertEquals("正の整数", expected, ImJson.toJSONString(input, true));
+
+ input = -1234567890;
+ expected = "/* Number */\n-1234567890";
+ JsUnit.assertEquals("負の整数", expected, ImJson.toJSONString(input, true));
+
+ input = 123.456789;
+ expected = "/* Number */\n123.456789";
+ JsUnit.assertEquals("正の少数", expected, ImJson.toJSONString(input, true));
+
+ input = -123.456789;
+ expected = "/* Number */\n-123.456789";
+ JsUnit.assertEquals("負の少数", expected, ImJson.toJSONString(input, true));
+
+ input = 1.23e4;
+ expected = "/* Number */\n12300";
+ JsUnit.assertEquals("正のX乗:1.23 × 10の4乗", expected, ImJson.toJSONString(input, true));
+
+ input = 1.23E4;
+ expected = "/* Number */\n12300";
+ JsUnit.assertEquals("正のX乗:1.23 × 10の4乗", expected, ImJson.toJSONString(input, true));
+
+ input = -1.23e3;
+ expected = "/* Number */\n-1230";
+ JsUnit.assertEquals("負のX乗:-1.23 × 10の3乗", expected, ImJson.toJSONString(input, true));
+
+ input = -1.23E3;
+ expected = "/* Number */\n-1230";
+ JsUnit.assertEquals("負のX乗:-1.23 × 10の3乗", expected, ImJson.toJSONString(input, true));
+
+ input = 0777;
+ expected = "/* Number */\n511";
+ JsUnit.assertEquals("8進数", expected, ImJson.toJSONString(input, true));
+
+ input = 0xff88;
+ expected = "/* Number */\n65416";
+ JsUnit.assertEquals("16進数", expected, ImJson.toJSONString(input, true));
+
+ input = Number.MAX_VALUE;
+ expected = "/* Number */\n1.7976931348623157e+308";
+ JsUnit.assertEquals("定数:Number.MAX_VALUE", expected, ImJson.toJSONString(input, true));
+
+ input = Number.MIN_VALUE;
+ expected = "/* Number */\n5e-324";
+ JsUnit.assertEquals("定数:Number.MIN_VALUE", expected, ImJson.toJSONString(input, true));
+
+ input = Number.POSITIVE_INFINITY;
+ expected = "/* Number */\nInfinity";
+ JsUnit.assertEquals("定数:Number.POSITIVE_INFINITY", expected, ImJson.toJSONString(input, true));
+
+ input = Number.NEGATIVE_INFINITY;
+ expected = "/* Number */\n-Infinity";
+ JsUnit.assertEquals("定数:Number.NEGATIVE_INFINITY", expected, ImJson.toJSONString(input, true));
+
+ input = Number.NaN;
+ expected = "/* Number */\nNaN";
+ JsUnit.assertEquals("定数:Number.NaN", expected, ImJson.toJSONString(input, true));
+
+ input = Infinity;
+ expected = "/* Number */\nInfinity";
+ JsUnit.assertEquals("定数:Infinity", expected, ImJson.toJSONString(input, true));
+
+ input = -Infinity;
+ expected = "/* Number */\n-Infinity";
+ JsUnit.assertEquals("定数:-Infinity", expected, ImJson.toJSONString(input, true));
+
+ input = Number.NaN;
+ expected = "/* Number */\nNaN";
+ JsUnit.assertEquals("定数:NaN", expected, ImJson.toJSONString(input, true));
+
+ input = Math.PI;
+ expected = "/* Number */\n3.141592653589793";
+ JsUnit.assertEquals("定数:Math.PI;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.SQRT2;
+ expected = "/* Number */\n1.4142135623730951";
+ JsUnit.assertEquals("定数:Math.SQRT2;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.SQRT1_2;
+ expected = "/* Number */\n0.7071067811865476";
+ JsUnit.assertEquals("定数:Math.SQRT1_2;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.E;
+ expected = "/* Number */\n2.718281828459045";
+ JsUnit.assertEquals("定数:Math.E;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.LN2;
+ expected = "/* Number */\n0.6931471805599453";
+ JsUnit.assertEquals("定数:Math.LN2;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.LN10;
+ expected = "/* Number */\n2.302585092994046";
+ JsUnit.assertEquals("定数:Math.LN10;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.LOG2E;
+ // if(window.navigator.userAgent.indexOf("MSIE") != -1){
+ // expected = "/* Number */\n1.4426950408889633";
+ // }
+ // else{
+ expected = "/* Number */\n1.4426950408889634";
+ // }
+ JsUnit.assertEquals("定数:Math.LOG2E;", expected, ImJson.toJSONString(input, true));
+
+ input = Math.LOG10E;
+ expected = "/* Number */\n0.4342944819032518";
+ JsUnit.assertEquals("定数:Math.LOG10E;", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString028_DebugConsole用_真偽値の場合() {
+ var input = true;
+ var expected = "/* Boolean */\ntrue";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+
+ input = false;
+ expected = "/* Boolean */\nfalse";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+
+}
+
+/**
+ *
+ */
+function testToJSONString029_DebugConsole用_関数の場合() {
+ var input = function(){ return "テスト用関数です。"; };
+ var expected = "/* Function */\n\"THIS_IS_FUNCTION\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString030_DebugConsole用_オブジェクトの場合() {
+ var input = {
+ prop_null : null,
+ prop_undefined : undefined,
+ prop_string : "文字列",
+ prop_number : 1234567890,
+ prop_boolean : false,
+ prop_function : function(){ return "テスト関数"; },
+ prop_object : {
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ prop_array : [
+ "テスト",
+ -12345
+ ]
+ }
+
+ var expected =
+"/* Object */\n\
+{\n\
+ /* Null */\n\
+ \"prop_null\" : null, \n\
+\n\
+ /* Undefined */\n\
+ \"prop_undefined\" : undefined, \n\
+\n\
+ /* String */\n\
+ \"prop_string\" : \"文字列\", \n\
+\n\
+ /* Number */\n\
+ \"prop_number\" : 1234567890, \n\
+\n\
+ /* Boolean */\n\
+ \"prop_boolean\" : false, \n\
+\n\
+ /* Function */\n\
+ \"prop_function\" : \"THIS_IS_FUNCTION\", \n\
+\n\
+ /* Object */\n\
+ \"prop_object\" : {\n\
+ /* String */\n\
+ \"inner_obj_string\" : \"テスト\", \n\
+\n\
+ /* Number */\n\
+ \"inner_obj_number\" : -12345\n\
+ }, \n\
+\n\
+ /* Array */\n\
+ \"prop_array\" : [\n\
+ /* String */\n\
+ \"テスト\", \n\
+\n\
+ /* Number */\n\
+ -12345\n\
+ ]\n\
+}";
+
+ Debug.console("testToJSONString030 expected\n" + expected);
+ Debug.console("testToJSONString030 result\n" + ImJson.toJSONString(input, true));
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+
+/**
+ *
+ */
+function testToJSONString031_DebugConsole用_配列の場合() {
+ var input = [
+ null,
+ undefined,
+ "文字列",
+ 1234567890,
+ false,
+ function(){ return "テスト関数"; },
+ {
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ [
+ "テスト",
+ -12345
+ ]
+ ]
+
+ var expected =
+"/* Array */\n\
+[\n\
+ /* Null */\n\
+ null, \n\
+\n\
+ /* Undefined */\n\
+ undefined, \n\
+\n\
+ /* String */\n\
+ \"文字列\", \n\
+\n\
+ /* Number */\n\
+ 1234567890, \n\
+\n\
+ /* Boolean */\n\
+ false, \n\
+\n\
+ /* Function */\n\
+ \"THIS_IS_FUNCTION\", \n\
+\n\
+ /* Object */\n\
+ {\n\
+ /* String */\n\
+ \"inner_obj_string\" : \"テスト\", \n\
+\n\
+ /* Number */\n\
+ \"inner_obj_number\" : -12345\n\
+ }, \n\
+\n\
+ /* Array */\n\
+ [\n\
+ /* String */\n\
+ \"テスト\", \n\
+\n\
+ /* Number */\n\
+ -12345\n\
+ ]\n\
+]";
+
+ Debug.console("testToJSONString031 expected\n" + expected);
+ Debug.console("testToJSONString031 result\n" + ImJson.toJSONString(input, true));
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString032_DebugConsole用_エスケープ文字の場合() {
+ var input = new Array();
+ input[0] = "\n"; // \n - ニューライン(改行文字)
+ input[1] = "\f"; // \f - フォームフィード
+ input[2] = "\b"; // \b - バックスペース
+ input[3] = "\r"; // \r - キャリッジリターン(復帰文字)
+ input[4] = "\t"; // \t - タブ文字
+ input[5] = "\'"; // \' - シングルクォート(')
+ input[6] = "\""; // \" - ダブルクォート(")
+ input[7] = "\\"; // \\ - バックスラッシュ(\)
+ input[8] = "\101"; // - 8進\nnn - 8進数による文字コード指定(例えば "A" は "\101")
+ input[9] = "\x41"; // - 16\xnn - 16進数による文字コード指定(例えば "A" は "\x41")
+ input[10] = "\u3042"; // - \unnnn - Unicode文字(例えば "あ" は "\u3042")
+
+ var expected =
+"/* Array */\n\
+[\n\
+ /* String */\n\
+ \"\\n\", \n\
+\n\
+ /* String */\n\
+ \"\\f\", \n\
+\n\
+ /* String */\n\
+ \"\\b\", \n\
+\n\
+ /* String */\n\
+ \"\\r\", \n\
+\n\
+ /* String */\n\
+ \"\\t\", \n\
+\n\
+ /* String */\n\
+ \"'\", \n\
+\n\
+ /* String */\n\
+ \"\\\"\", \n\
+\n\
+ /* String */\n\
+ \"\\\\\", \n\
+\n\
+ /* String */\n\
+ \"A\", \n\
+\n\
+ /* String */\n\
+ \"A\", \n\
+\n\
+ /* String */\n\
+ \"あ\"\n\
+]";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+
+/**
+ *
+ */
+function testToJSONString033_Javaインスタンスの場合() {
+ var input = new Packages.java.util.Date(1180354308359);
+ var expected = "\"Mon May 28 21:11:48 JST 2007\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+
+/**
+ *
+ */
+function testToJSONString034_オブジェクトの場合_Javaインスタンス含む() {
+ var input = {
+ prop_java : new Packages.java.util.Date(1180354308359),
+ prop_null : null,
+ prop_undefined : undefined,
+ prop_string : "文字列",
+ prop_number : 1234567890,
+ prop_boolean : false,
+ prop_function : function(){ return "テスト関数"; },
+ prop_object : {
+ inner_obj_java : new Packages.java.lang.String("Javaインスタンス"),
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ prop_array : [
+ new Packages.java.lang.Integer(56),
+ "テスト",
+ -12345
+ ]
+ }
+
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "{\"prop_java\" : \"Mon May 28 21:11:48 JST 2007\", \"prop_null\" : null, \"prop_undefined\" : undefined, \"prop_string\" : \"文字列\", \"prop_number\" : 1234567890, \"prop_boolean\" : false, \"prop_object\" : {\"inner_obj_java\" : \"Javaインスタンス\", \"inner_obj_string\" : \"テスト\", \"inner_obj_number\" : -12345}, \"prop_array\" : [\"56\", \"テスト\", -12345]}";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+
+/**
+ *
+ */
+function testToJSONString035_配列の場合_Javaインスタンス含む() {
+ var input = [
+ new Packages.java.util.Date(1180354308359),
+ null,
+ undefined,
+ "文字列",
+ 1234567890,
+ false,
+ function(){ return "テスト関数"; },
+ {
+ inner_obj_java : new Packages.java.lang.String("Javaインスタンス"),
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ [
+ new Packages.java.lang.Integer(56),
+ "テスト",
+ -12345
+ ]
+ ]
+ Debug.console("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "[\"Mon May 28 21:11:48 JST 2007\", null, undefined, \"文字列\", 1234567890, false, {\"inner_obj_java\" : \"Javaインスタンス\", \"inner_obj_string\" : \"テスト\", \"inner_obj_number\" : -12345}, [\"56\", \"テスト\", -12345]]";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+/**
+ *
+ */
+function testToJSONString036_DebugConsole用_関数_Javaインスタンスの場合() {
+ var input = new Packages.java.util.Date(1180354308359);
+ var expected = "/* Java */\n\"Mon May 28 21:11:48 JST 2007\"";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+
+/**
+ *
+ */
+function testToJSONString037_DebugConsole用_オブジェクト_Javaインスタンスの場合() {
+ var input = {
+ prop_java : new Packages.java.util.Date(1180354308359),
+ prop_null : null,
+ prop_undefined : undefined,
+ prop_string : "文字列",
+ prop_number : 1234567890,
+ prop_boolean : false,
+ prop_function : function(){ return "テスト関数"; },
+ prop_object : {
+ inner_obj_java : new Packages.java.lang.String("Javaインスタンス"),
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ prop_array : [
+ new Packages.java.lang.Integer(56),
+ "テスト",
+ -12345
+ ]
+ }
+
+ var expected =
+"/* Object */\n\
+{\n\
+ /* Java */\n\
+ \"prop_java\" : \"Mon May 28 21:11:48 JST 2007\", \n\
+\n\
+ /* Null */\n\
+ \"prop_null\" : null, \n\
+\n\
+ /* Undefined */\n\
+ \"prop_undefined\" : undefined, \n\
+\n\
+ /* String */\n\
+ \"prop_string\" : \"文字列\", \n\
+\n\
+ /* Number */\n\
+ \"prop_number\" : 1234567890, \n\
+\n\
+ /* Boolean */\n\
+ \"prop_boolean\" : false, \n\
+\n\
+ /* Function */\n\
+ \"prop_function\" : \"THIS_IS_FUNCTION\", \n\
+\n\
+ /* Object */\n\
+ \"prop_object\" : {\n\
+ /* Java */\n\
+ \"inner_obj_java\" : \"Javaインスタンス\", \n\
+\n\
+ /* String */\n\
+ \"inner_obj_string\" : \"テスト\", \n\
+\n\
+ /* Number */\n\
+ \"inner_obj_number\" : -12345\n\
+ }, \n\
+\n\
+ /* Array */\n\
+ \"prop_array\" : [\n\
+ /* Java */\n\
+ \"56\", \n\
+\n\
+ /* String */\n\
+ \"テスト\", \n\
+\n\
+ /* Number */\n\
+ -12345\n\
+ ]\n\
+}";
+
+ Debug.console("testToJSONString037 expected\n" + expected);
+ Debug.console("testToJSONString037 result\n" + ImJson.toJSONString(input, true));
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+
+/**
+ *
+ */
+function testToJSONString038_DebugConsole用_配列_Javaインスタンスの場合() {
+ var input = [
+ new Packages.java.util.Date(1180354308359),
+ null,
+ undefined,
+ "文字列",
+ 1234567890,
+ false,
+ function(){ return "テスト関数"; },
+ {
+ inner_obj_java : new Packages.java.lang.String("Javaインスタンス"),
+ inner_obj_string : "テスト",
+ inner_obj_number : -12345
+ },
+ [
+ new Packages.java.lang.Integer(56),
+ "テスト",
+ -12345
+ ]
+ ]
+
+ var expected =
+"/* Array */\n\
+[\n\
+ /* Java */\n\
+ \"Mon May 28 21:11:48 JST 2007\", \n\
+\n\
+ /* Null */\n\
+ null, \n\
+\n\
+ /* Undefined */\n\
+ undefined, \n\
+\n\
+ /* String */\n\
+ \"文字列\", \n\
+\n\
+ /* Number */\n\
+ 1234567890, \n\
+\n\
+ /* Boolean */\n\
+ false, \n\
+\n\
+ /* Function */\n\
+ \"THIS_IS_FUNCTION\", \n\
+\n\
+ /* Object */\n\
+ {\n\
+ /* Java */\n\
+ \"inner_obj_java\" : \"Javaインスタンス\", \n\
+\n\
+ /* String */\n\
+ \"inner_obj_string\" : \"テスト\", \n\
+\n\
+ /* Number */\n\
+ \"inner_obj_number\" : -12345\n\
+ }, \n\
+\n\
+ /* Array */\n\
+ [\n\
+ /* Java */\n\
+ \"56\", \n\
+\n\
+ /* String */\n\
+ \"テスト\", \n\
+\n\
+ /* Number */\n\
+ -12345\n\
+ ]\n\
+]";
+
+ Debug.console("testToJSONString038 expected\n" + expected);
+ Debug.console("testToJSONString038 result\n" + ImJson.toJSONString(input, true));
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
+
+/**
+ *
+ */
+function testToJSONString039_XMLDocumentの場合() {
+ var input = テキ\"ス\"ト;
+ var expected = "\"\n\n テキ\\\"ス\\\"ト\n\"";
+
+ var evaluate = ImJson.toJSONString(input);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+
+/**
+ *
+ */
+function testToJSONString040_XMLDocument_オブジェクト内の場合() {
+ var input = new Object();
+ input.prop_xml = テキ\"ス\"ト;
+
+ var expected = "{\"prop_xml\" : \"\n\n テキ\\\"ス\\\"ト\n\"}";
+
+ var evaluate = ImJson.toJSONString(input);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+/**
+ *
+ */
+function testToJSONString041_XMLDocument_配列内の場合() {
+ var input = new Array();
+ input[0] = テキ\"ス\"ト;
+
+ var expected = "[\"\n\n テキ\\\"ス\\\"ト\n\"]";
+
+ var evaluate = ImJson.toJSONString(input);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+
+/**
+ *
+ */
+function testToJSONString042_DebugConsole用_XMLDocumentの場合() {
+ var input = テキ\"ス\"ト;
+ var expected = "/* XML */\n\"\n\n テキ\\\"ス\\\"ト\n\"";
+
+ var evaluate = ImJson.toJSONString(input, true);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+
+/**
+ *
+ */
+function testToJSONString043_DebugConsole用_XMLDocument_オブジェクト内の場合() {
+ var input = new Object();
+ input.prop_xml = テキ\"ス\"ト;
+
+ var expected =
+"/* Object */\n\
+{\n\
+ /* XML */\n\
+ \"prop_xml\" : \"\n\n テキ\\\"ス\\\"ト\n\"\n\
+}";
+
+ var evaluate = ImJson.toJSONString(input, true);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+
+/**
+ *
+ */
+function testToJSONString044_DebugConsole用_XMLDocument_配列内の場合() {
+ var input = new Array();
+ input[0] = テキ\"ス\"ト;
+
+ var expected =
+"/* Array */\n\
+[\n\
+ /* XML */\n\
+ \"\n\n テキ\\\"ス\\\"ト\n\"\n\
+]";
+
+ var evaluate = ImJson.toJSONString(input, true);
+ evaluate = evaluate.split("\r\n").join("\n");
+
+ Debug.print("");
+ Debug.print(evaluate);
+ Debug.print("");
+ JsUnit.assertEquals("NG", expected, evaluate);
+}
+
+
+/**
+ *
+ */
+function testToJSONString045_プロパティがエスケープ文字の場合() {
+ var input = new Object();
+ input["\n"] = "0"; // \n - ニューライン(改行文字)
+ input["\f"] = "1"; // \f - フォームフィード
+ input["\b"] = "2"; // \b - バックスペース
+ input["\r"] = "3"; // \r - キャリッジリターン(復帰文字)
+ input["\t"] = "4"; // \t - タブ文字
+ input["\'"] = "5"; // \' - シングルクォート(')
+ input["\""] = "6"; // \" - ダブルクォート(")
+ input["\\"] = "7"; // \\ - バックスラッシュ(\)
+ input["\101"] = "8"; // - 8進\nnn - 8進数による文字コード指定(例えば "A" は "\101")
+ input["\x42"] = "9"; // - 16\xnn - 16進数による文字コード指定(例えば "B" は "\x42")
+ input["\u3042"] = "10"; // - \unnnn - Unicode文字(例えば "あ" は "\u3042")
+
+ Debug.print("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected = "{\"\\n\" : \"0\", \"\\f\" : \"1\", \"\\b\" : \"2\", \"\\r\" : \"3\", \"\\t\" : \"4\", \"'\" : \"5\", \"\\\"\" : \"6\", \"\\\\\" : \"7\", \"A\" : \"8\", \"B\" : \"9\", \"あ\" : \"10\"}";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input));
+}
+
+
+/**
+ *
+ */
+function testToJSONString046_DebugConsole用_プロパティがエスケープ文字の場合() {
+ var input = new Object();
+ input["\n"] = "0"; // \n - ニューライン(改行文字)
+ input["\f"] = "1"; // \f - フォームフィード
+ input["\b"] = "2"; // \b - バックスペース
+ input["\r"] = "3"; // \r - キャリッジリターン(復帰文字)
+ input["\t"] = "4"; // \t - タブ文字
+ input["\'"] = "5"; // \' - シングルクォート(')
+ input["\""] = "6"; // \" - ダブルクォート(")
+ input["\\"] = "7"; // \\ - バックスラッシュ(\)
+ input["\101"] = "8"; // - 8進\nnn - 8進数による文字コード指定(例えば "A" は "\101")
+ input["\x42"] = "9"; // - 16\xnn - 16進数による文字コード指定(例えば "B" は "\x42")
+ input["\u3042"] = "10"; // - \unnnn - Unicode文字(例えば "あ" は "\u3042")
+
+ Debug.print("ImJson.toJSONString(input)", ImJson.toJSONString(input));
+
+ var expected =
+"/* Object */\n\
+{\n\
+ /* String */\n\
+ \"\\n\" : \"0\", \n\
+\n\
+ /* String */\n\
+ \"\\f\" : \"1\", \n\
+\n\
+ /* String */\n\
+ \"\\b\" : \"2\", \n\
+\n\
+ /* String */\n\
+ \"\\r\" : \"3\", \n\
+\n\
+ /* String */\n\
+ \"\\t\" : \"4\", \n\
+\n\
+ /* String */\n\
+ \"'\" : \"5\", \n\
+\n\
+ /* String */\n\
+ \"\\\"\" : \"6\", \n\
+\n\
+ /* String */\n\
+ \"\\\\\" : \"7\", \n\
+\n\
+ /* String */\n\
+ \"A\" : \"8\", \n\
+\n\
+ /* String */\n\
+ \"B\" : \"9\", \n\
+\n\
+ /* String */\n\
+ \"あ\" : \"10\"\n\
+}";
+
+ JsUnit.assertEquals("NG", expected, ImJson.toJSONString(input, true));
+}
Index: /trunk/im-jssp/src/test/js/source-config.xml
===================================================================
--- /trunk/im-jssp/src/test/js/source-config.xml (リビジョン 313)
+++ /trunk/im-jssp/src/test/js/source-config.xml (リビジョン 313)
@@ -0,0 +1,16 @@
+
+ UTF-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /trunk/im-jssp/src/test/js/JsUnitを利用したテストに関する注意点.txt
===================================================================
--- /trunk/im-jssp/src/test/js/JsUnitを利用したテストに関する注意点.txt (リビジョン 313)
+++ /trunk/im-jssp/src/test/js/JsUnitを利用したテストに関する注意点.txt (リビジョン 313)
@@ -0,0 +1,47 @@
+//============================
+** JsUnitのテストケース保存用SVNディレクトリ
+//============================
+JSSPの JsUnit を利用したテストケースは以下のディレクトリ配下に格納してください。
+
+http://oss.intra-mart.org/projects/im-jssp/svn/XXXX/im-jssp/src/test/js
+ (XXXXは「trunk」や「branches/im-jssp_x.x.x」等を意味します)
+
+
+//============================
+** JsUnitのテスト実行前の注意点
+//============================
+現状では、ビルド時にユニットテストは自動実行されません。
+開発者がサーバ環境を作成し、テストを実行する必要があります。
+
+テスト実行時には、「im-jssp/src/test/js」ディレクトリをJSSPのソースディレクトリとして登録してください。
+
+上記ディレクトリを imart.xmlの
+「intra-mart/platform/service/resource/jssp/source-path/general/directory」タグに追加してください。
+
+- jssp-config-XXXX.xmlの設定例
+//----
+
+ UTF-8
+
+ ・
+ ・
+ ・
+
+
+ src/test/js
+ src/main/js
+
+
+ ・
+ ・
+ ・
+//----
+
+//============================
+** pages/test/src/source-config.xml について
+//============================
+im-jssp/src/test/js/source-config.xmlは、
+ソースファイルの文字コードが「UTF-8」、インタプリタモードで動作する設定となっています。
+
+作成したテストケースが上記以外の場合、テストケースを格納したディレクトリ内に、
+別途 source-config.xmlを作成するか、FILE_LABEL.properties を作成してください。
Index: /trunk/im-jssp/src/test/js/jsspUnitTestSuite.html
===================================================================
--- /trunk/im-jssp/src/test/js/jsspUnitTestSuite.html (リビジョン 313)
+++ /trunk/im-jssp/src/test/js/jsspUnitTestSuite.html (リビジョン 313)
@@ -0,0 +1,16 @@
+
+
+ JsspUnit Test Suite
+
+
+
+ JsspUnit Test Suite
+
+
+
+
+
+
+
+
+
Index: /trunk/im-jssp/src/test/js/jsspUnitTestExecute.js
===================================================================
--- /trunk/im-jssp/src/test/js/jsspUnitTestExecute.js (リビジョン 313)
+++ /trunk/im-jssp/src/test/js/jsspUnitTestExecute.js (リビジョン 313)
@@ -0,0 +1,17 @@
+function init(request){
+ Debug.print("テストを開始します");
+
+ var result = JsUnit.execute("jsspUnitTestExecute", "xsl/jsunit/im_jsunit.xsl");
+
+ var response = Web.getHTTPResponse();
+ response.setContentType("text/xml; charset=utf-8");
+ response.sendMessageBodyString(result);
+}
+
+function defineTestSuite() {
+ var suite = new JsTestSuite("All Test");
+
+ suite.addTest("サーバサイドのImJSONテスト","jssp/script/api/im_json_test");
+
+ return suite;
+}