Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Unified Diff: LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support.html

Issue 23903014: DOMParser.parseFromString() should support creating HTML Document with mimetype text/html (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch for landing! Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support.html
diff --git a/LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support.html b/LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support.html
new file mode 100644
index 0000000000000000000000000000000000000000..4c7f080bc5a852a2bcc2161481fcbe2a2afa5072
--- /dev/null
+++ b/LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+.fail {
+ color: red;
+ font-weight: bold;
+}
+
+.pass {
+ color: green;
+ font-weight: bold;
+}
+</style>
+<script>
+var htmlContent =
+ "<html>" +
+ "<head>" +
+ "<noscript>" +
+ "Scripts must be disabled for the document created using DOMParser.parseFromString()" +
+ "</noscript>" +
+ "</head>" +
+ "<body>" +
+ "<div id='text'>Sample text content</div>" +
+ "<script>document.getElementById('text').textContent = 'Modified text content';<\/script>" +
+ "</body>" +
+ "</html>";
+
+var xmlContent =
+ "<root>" +
+ "</root>";
+
+
+var xhtmlContent =
+ "<!DOCTYPE html>" +
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">" +
+ "<head>" +
+ "<title>Title of document</title>" +
+ "<noscript>" +
+ "Scripts must be disabled for the document created using DOMParser.parseFromString()" +
+ "</noscript>" +
+ "</head>" +
+ "<body>" +
+ "<div id='text'></div>" +
+ "<script>document.getElementById('text').textContent = 'Newly added text';<\/script>" +
+ "</body>" +
+ "</html>";
+
+var svgImageContent =
+ "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">" +
+ "<circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\"/>" +
+ "</svg>";
+
+var xslContent =
+ "<?xml version=\"1.0\"?>" +
+ "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">" +
+ "<xsl:template match=\"/\">" +
+ "<html>" +
+ "<head>" +
+ "<title>XML XSL Example</title>" +
+ "<style type=\"text/css\">" +
+ "body" +
+ "{" +
+ "background-color:red;" +
+ "}" +
+ "</style>" +
+ "</head>" +
+ "<body>" +
+ "<xsl:apply-templates/>" +
+ "</body>" +
+ "</html>" +
+ "</xsl:template>" +
+ "" +
+ "<xsl:template match=\"tutorial\">" +
+ "<span><xsl:value-of select=\"name\"/></span>" +
+ "<span><xsl:value-of select=\"url\"/></span>" +
+ "</xsl:template>" +
+ "</xsl:stylesheet>";
+
+var count = 0;
+
+function shouldSupport(content, mimeType)
+{
+ var description = document.createElement("div");
+ description.innerHTML = (++count) + ". Should support mime-type = \"" + mimeType + "\"";
+ document.body.appendChild(description);
+
+ var parser = new DOMParser();
+ var resultDocument = parser.parseFromString(content, mimeType);
+ if (!resultDocument) {
+ var result = document.createElement("div");
+ result.className = "fail";
+ result.textContent = "FAIL";
+ document.body.appendChild(result);
+ } else {
+ var content = document.createElement("div");
+ var docElement = resultDocument.documentElement;
+ if (mimeType.lastIndexOf("xml") === mimeType.length - 3)
+ content.innerHTML = "Root element: " + docElement.tagName;
+ else
+ content.innerHTML = "HTML content:<br>" + docElement.innerHTML;
+ document.body.appendChild(content);
+
+ var result = document.createElement("div");
+ result.className = "pass";
+ result.textContent = "PASS";
+ document.body.appendChild(result);
+ }
+ document.body.appendChild(document.createElement("br"));
+}
+
+function shouldNotSupport(content, mimeType)
+{
+ var description = document.createElement("div");
+ description.innerHTML = (++count) + ". Should NOT support mime-type = \"" + mimeType + "\"";
+ document.body.appendChild(description);
+
+ var parser = new DOMParser();
+ var resultDocument = parser.parseFromString(content, mimeType);
+ if (!resultDocument) {
+ var result = document.createElement("div");
+ result.className = "pass";
+ result.textContent = "PASS";
+ document.body.appendChild(result);
+ } else {
+ var result = document.createElement("div");
+ result.className = "fail";
+ result.textContent = "FAIL";
+ document.body.appendChild(result);
+ }
+ document.body.appendChild(document.createElement("br"));
+}
+
+function runTest()
+{
+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ }
+ shouldSupport(htmlContent, "text/html");
+ shouldSupport(xmlContent, "text/xml");
+ shouldSupport(xmlContent, "application/xml");
+ shouldSupport(xhtmlContent, "application/xhtml+xml");
+ shouldSupport(svgImageContent, "image/svg+xml");
+ shouldNotSupport(xslContent, "text/xsl");
+}
+</script>
+</head>
+<body onload="runTest();">
+<p>This tests DOMParser supports creating Document for HTML content with mime-type "text/html".</p>
+</body>
+</html>
« no previous file with comments | « no previous file | LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698