OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 GenericToJSONChecks(Boolean, true, false); | 58 GenericToJSONChecks(Boolean, true, false); |
59 GenericToJSONChecks(Boolean, false, true); | 59 GenericToJSONChecks(Boolean, false, true); |
60 | 60 |
61 // String toJSON | 61 // String toJSON |
62 assertEquals("flot", "flot".toJSON()); | 62 assertEquals("flot", "flot".toJSON()); |
63 assertEquals("flot", "flot".toJSON(3)); | 63 assertEquals("flot", "flot".toJSON(3)); |
64 assertEquals("tolf", (new String("tolf")).toJSON()); | 64 assertEquals("tolf", (new String("tolf")).toJSON()); |
65 GenericToJSONChecks(String, "x", "y"); | 65 GenericToJSONChecks(String, "x", "y"); |
66 | 66 |
67 // Date toJSON | 67 // Date toJSON |
68 assertEquals("1970-01-01T00:00:00Z", new Date(0).toJSON()); | 68 assertEquals("1970-01-01T00:00:00.000Z", new Date(0).toJSON()); |
69 assertEquals("1979-01-11T08:00:00Z", new Date("1979-01-11 08:00 GMT").toJSON()); | 69 assertEquals("1979-01-11T08:00:00.000Z", new Date("1979-01-11 08:00 GMT").toJSON
()); |
70 assertEquals("2005-05-05T05:05:05Z", new Date("2005-05-05 05:05:05 GMT").toJSON(
)); | 70 assertEquals("2005-05-05T05:05:05.000Z", new Date("2005-05-05 05:05:05 GMT").toJ
SON()); |
71 var n1 = new Date(10000); | 71 var n1 = new Date(10000); |
72 n1.toISOString = function () { return "foo"; }; | 72 n1.toISOString = function () { return "foo"; }; |
73 assertEquals("foo", n1.toJSON()); | 73 assertEquals("foo", n1.toJSON()); |
74 var n2 = new Date(10001); | 74 var n2 = new Date(10001); |
75 n2.toISOString = null; | 75 n2.toISOString = null; |
76 assertThrows(function () { n2.toJSON(); }, TypeError); | 76 assertThrows(function () { n2.toJSON(); }, TypeError); |
77 var n3 = new Date(10002); | 77 var n3 = new Date(10002); |
78 n3.toISOString = function () { return {}; }; | 78 n3.toISOString = function () { return {}; }; |
79 assertThrows(function () { n3.toJSON(); }, TypeError, "result_not_primitive"); | 79 assertThrows(function () { n3.toJSON(); }, TypeError, "result_not_primitive"); |
80 var n4 = new Date(10003); | 80 var n4 = new Date(10003); |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 | 198 |
199 function checkIllegal(str) { | 199 function checkIllegal(str) { |
200 assertThrows(function () { JSON.parse(str); }, SyntaxError); | 200 assertThrows(function () { JSON.parse(str); }, SyntaxError); |
201 } | 201 } |
202 | 202 |
203 checkIllegal('1); throw "foo"; (1'); | 203 checkIllegal('1); throw "foo"; (1'); |
204 | 204 |
205 var x = 0; | 205 var x = 0; |
206 eval("(1); x++; (1)"); | 206 eval("(1); x++; (1)"); |
207 checkIllegal('1); x++; (1'); | 207 checkIllegal('1); x++; (1'); |
OLD | NEW |