| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="../inspector-test.js"></script> | 3 <script src="../inspector-test.js"></script> |
| 4 <script src="../network-test.js"></script> | 4 <script src="../network-test.js"></script> |
| 5 <script> | 5 <script> |
| 6 | 6 |
| 7 function test() | 7 function test() |
| 8 { | 8 { |
| 9 var testData; | 9 function check(text) { |
| 10 InspectorTest.addResult(""); |
| 11 InspectorTest.addResult("Input: " + text); |
| 12 var parsedJSON = WebInspector.RequestJSONView.parseJSON(text); |
| 13 if (!parsedJSON) { |
| 14 InspectorTest.addResult("Can't parse"); |
| 15 return; |
| 16 } |
| 17 InspectorTest.addResult("Prefix: " + parsedJSON.prefix); |
| 18 InspectorTest.addResult("Data: " + JSON.stringify(parsedJSON.data)); |
| 19 InspectorTest.addResult("Suffix: " + parsedJSON.suffix); |
| 20 } |
| 10 | 21 |
| 11 testData = "while(1);"; | 22 check("{\"name\": \"value\"}"); |
| 12 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSON(testData),
"Should not be able to parse \"" + testData + "\"."); | 23 check("while(1); {\"name\": \"value\"}"); |
| 24 check("[,\"foo\", -4.2, true, false, null]"); |
| 25 check("[{\"foo\": {}, \"bar\": []},[[],{}]]"); |
| 26 check("/* vanilla */ run([1, 2, 3]);"); |
| 27 check("[\"A\\\"B\\u0020C\\nD\\\\E\\u04ABF\"]"); |
| 13 | 28 |
| 14 testData = "{\"name\": \"value\""; | 29 check("<html>404 Page not found</html>"); |
| 15 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSON(testData),
"Should not be able to parse \"" + testData + "\"."); | |
| 16 | |
| 17 testData = "{\"name\": \"value\"}"; | |
| 18 var parsedJSON = WebInspector.RequestJSONView.parseJSON(testData); | |
| 19 InspectorTest.assertEquals(parsedJSON.prefix, ""); | |
| 20 InspectorTest.assertEquals(parsedJSON.data.name, "value"); | |
| 21 InspectorTest.assertEquals(parsedJSON.suffix, ""); | |
| 22 | |
| 23 testData = "while(1); {\"name\": \"value\"}"; | |
| 24 parsedJSON = WebInspector.RequestJSONView.parseJSON(testData); | |
| 25 InspectorTest.assertEquals(parsedJSON.prefix, "while(1); "); | |
| 26 InspectorTest.assertEquals(parsedJSON.data.name, "value"); | |
| 27 InspectorTest.assertEquals(parsedJSON.suffix, ""); | |
| 28 | |
| 29 testData = "func({)"; | |
| 30 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSONP(testData),
"Should not be able to parse \"" + testData + "\"."); | |
| 31 | |
| 32 testData = "func){("; | |
| 33 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSONP(testData),
"Should not be able to parse \"" + testData + "\"."); | |
| 34 | |
| 35 testData = "func({\"name\": \"value\"}"; | |
| 36 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSONP(testData),
"Should not be able to parse \"" + testData + "\"."); | |
| 37 | |
| 38 testData = "func{\"name\": \"value\"})"; | |
| 39 InspectorTest.assertTrue(!WebInspector.RequestJSONView.parseJSONP(testData),
"Should not be able to parse \"" + testData + "\"."); | |
| 40 | |
| 41 testData = "func({\"name\": \"value\"})"; | |
| 42 var parsedJSONP = WebInspector.RequestJSONView.parseJSONP(testData); | |
| 43 InspectorTest.assertEquals(parsedJSONP.prefix, "func("); | |
| 44 InspectorTest.assertEquals(parsedJSONP.data.name, "value"); | |
| 45 InspectorTest.assertEquals(parsedJSONP.suffix, ")"); | |
| 46 | 30 |
| 47 InspectorTest.completeTest(); | 31 InspectorTest.completeTest(); |
| 48 } | 32 } |
| 49 </script> | 33 </script> |
| 50 </head> | 34 </head> |
| 51 <body onload="runTest()"> | 35 <body onload="runTest()"> |
| 52 <p>Tests RequestJSONView ability to parse JSON passed in XHR, JSONP</p> | 36 <p>Tests RequestJSONView ability to parse JSON passed in XHR, JSONP</p> |
| 53 <a href="https://bugs.webkit.org/show_bug.cgi?id=65559">Bug 65559</a> | 37 <a href="https://bugs.webkit.org/show_bug.cgi?id=65559">Bug 65559</a> |
| 54 </body> | 38 </body> |
| 55 </html> | 39 </html> |
| OLD | NEW |