Index: chrome/browser/resources/shared/js/parse_html_subset_test.html |
=================================================================== |
--- chrome/browser/resources/shared/js/parse_html_subset_test.html (revision 177292) |
+++ chrome/browser/resources/shared/js/parse_html_subset_test.html (working copy) |
@@ -1,116 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
-<head> |
-<title>parseHtmlSubset test</title> |
-<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js"></script> |
-<script src="parse_html_subset.js"></script> |
-<script> |
- |
-goog.require('goog.testing.jsunit'); |
- |
-</script> |
- |
-</head> |
-<body> |
-<script> |
- |
-function parseAndAssertThrows() { |
- var args = arguments; |
- assertThrows(function() { |
- parseHtmlSubset.apply(null, args); |
- }); |
-} |
- |
-function parseAndAssertNotThrows() { |
- var args = arguments; |
- assertNotThrows(function() { |
- parseHtmlSubset.apply(null, args); |
- }); |
-} |
- |
-function testText() { |
- parseAndAssertNotThrows(''); |
- parseAndAssertNotThrows('abc'); |
- parseAndAssertNotThrows(' '); |
-} |
- |
-function testSupportedTags() { |
- parseAndAssertNotThrows('<b>bold</b>'); |
- parseAndAssertNotThrows('Some <b>bold</b> text'); |
- parseAndAssertNotThrows('Some <strong>strong</strong> text'); |
- parseAndAssertNotThrows('<B>bold</B>'); |
- parseAndAssertNotThrows('Some <B>bold</B> text'); |
- parseAndAssertNotThrows('Some <STRONG>strong</STRONG> text'); |
-} |
- |
-function testInvalidTags() { |
- parseAndAssertThrows('<unknown_tag>x</unknown_tag>'); |
- parseAndAssertThrows('<img>'); |
- parseAndAssertThrows('<script>alert(1)<' + '/script>'); |
-} |
- |
-function testInvalidAttributes() { |
- parseAndAssertThrows('<b onclick="alert(1)">x</b>'); |
- parseAndAssertThrows('<b style="color:red">x</b>'); |
- parseAndAssertThrows('<b foo>x</b>'); |
- parseAndAssertThrows('<b foo=bar></b>'); |
-} |
- |
-function testValidAnchors() { |
- parseAndAssertNotThrows('<a href="https://google.com">Google</a>'); |
- parseAndAssertNotThrows('<a href="chrome://settings">Google</a>'); |
-} |
- |
-function testInvalidAnchorHrefs() { |
- parseAndAssertThrows('<a href="http://google.com">Google</a>'); |
- parseAndAssertThrows('<a href="ftp://google.com">Google</a>'); |
- parseAndAssertThrows('<a href="http/google.com">Google</a>'); |
- parseAndAssertThrows('<a href="javascript:alert(1)">Google</a>'); |
- parseAndAssertThrows('<a href="chrome-extension://whurblegarble">Google</a>'); |
-} |
- |
-function testInvalidAnchorAttributes() { |
- parseAndAssertThrows('<a name=foo>Google</a>'); |
- parseAndAssertThrows( |
- '<a onclick="alert(1)" href="https://google.com">Google</a>'); |
- parseAndAssertThrows('<a foo="bar(1)" href="https://google.com">Google</a>'); |
-} |
- |
-function testAnchorTarget() { |
- parseAndAssertNotThrows( |
- '<a href="https://google.com" target="blank_">Google</a>'); |
- parseAndAssertNotThrows( |
- '<a href="https://google.com" target="foo">Google</a>'); |
-} |
- |
-function testCustomTags() { |
- parseAndAssertNotThrows('yo <I>ho</i><bR>yo <EM>ho</em>', ['i', 'EM', 'Br']); |
-} |
- |
-function testInvalidCustomTags() { |
- parseAndAssertThrows("a pirate's<script>lifeForMe();<" + '/script>', ['br']); |
-} |
- |
-function testCustomAttributes() { |
- function returnsTruthy(node, value) { |
- assertEquals('A', node.tagName); |
- assertEquals('fancy', value); |
- return true; |
- } |
- parseAndAssertNotThrows('<a class="fancy">I\'m fancy!</a>', null, |
- {class: returnsTruthy}); |
-} |
- |
-function testInvalidCustomAttributes() { |
- function returnsFalsey() { |
- return false; |
- } |
- parseAndAssertThrows('<a class="fancy">I\'m fancy!</a>', null, |
- {class: returnsFalsey}); |
- parseAndAssertThrows('<a class="fancy">I\'m fancy!</a>'); |
-} |
- |
-</script> |
- |
-</body> |
-</html> |