| <script src="../../resources/js-test.js"></script> |
| testRunner.waitUntilDone(); |
| var parser = document.createElement('a'); |
| if (parser.protocol.indexOf("javascript") == -1) { |
| function unfiltered(url){ |
| var parser = document.createElement('a'); |
| if (parser.protocol === "javascript:") { |
| description("Tests that we properly handle JavaScript URLs containing comment characters, newlines, and carriage returns."); |
| let cases = [ "javascript:alert(count); ++count;", |
| "javascript:// A fun test%0aalert(count); ++count;", |
| "javascript://:%0aalert(count); ++count;", |
| "javascript://:%0dalert(count); ++count;", |
| "javascript://:%0a%0dalert(count); ++count;", |
| "javascript://%0a://%0dalert(count); ++count;", |
| "javascript://%0d//:%0aalert(count); ++count;" |
| testPassed("No JavaScript URLs executed."); |
| testFailed("JavaScript URLs were executed.") |
| if (count == cases.length) |
| testPassed("JavaScript URLs were executed.") |
| testFailed("No JavaScript URLs executed."); |