test_ManifestProcessor_JSON.html (1425B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1079453</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 <script src="common.js"></script> 12 <script> 13 /** 14 * JSON parsing/processing tests 15 * https://w3c.github.io/manifest/#processing 16 */ 17 "use strict"; 18 var invalidJson = ["", ` \t \n ${whiteSpace} `, "{", "{[[}"]; 19 invalidJson.forEach((testString) => { 20 var expected = `Expect to recover from invalid JSON: ${testString}`; 21 data.jsonText = testString; 22 data.checkConformance = true; 23 var result = processor.process(data); 24 SimpleTest.is(result.start_url, docURL.href, expected); 25 SimpleTest.ok( 26 [...result.moz_validation].find(x => x.error && x.type === "json"), 27 "A JSON error message is included"); 28 }); 29 30 var validButUnhelpful = ["1", 1, "[{}]"]; 31 validButUnhelpful.forEach((testString) => { 32 var expected = `Expect to recover from valid JSON: ${testString}`; 33 data.jsonText = testString; 34 var result = processor.process(data); 35 SimpleTest.is(result.start_url, docURL.href, expected); 36 }); 37 38 // Bug 1534756 - Allow for null manifests 39 var input = { 40 jsonText: "null", 41 manifestURL, 42 docURL, 43 }; 44 var result = processor.process(input); 45 SimpleTest.is(result, null, "Expected null when the input is null"); 46 47 </script> 48 </head>