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

Unified Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/syntax/parsing/test.js

Issue 1984023002: Move web-platform-tests to wpt (part 1 of 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/syntax/parsing/test.js
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/syntax/parsing/test.js b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/syntax/parsing/test.js
deleted file mode 100644
index 362272a2f1881595a4a4e383a3f4b32369971865..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/syntax/parsing/test.js
+++ /dev/null
@@ -1,331 +0,0 @@
-var namespaces = {
- "html":"http://www.w3.org/1999/xhtml",
- "mathml":"http://www.w3.org/1998/Math/MathML",
- "svg":"http://www.w3.org/2000/svg",
- "xlink":"http://www.w3.org/1999/xlink",
- "xml":"http://www.w3.org/XML/1998/namespace",
- "xmlns":"http://www.w3.org/2000/xmlns/"
-};
-
-var prefixes = {};
-for (var prefix in namespaces) {
- if (namespaces.hasOwnProperty(prefix)) {
- prefixes[namespaces[prefix]] = prefix;
- }
-}
-prefixes[namespaces["mathml"]] = "math";
-
-function format(format_string) {
- var insertions = Array.prototype.slice.call(arguments, 1);
- var regexp = /%s/g;
- var match_count = 0;
- var rv = format_string.replace(regexp, function(match) {
- var rv = insertions[match_count];
- match_count++;
- return rv;
- });
- return rv;
-}
-
-function test_serializer(element) {
- element.normalize();
- var lines = [];
- function serialize_element(element, indent) {
- var indent_spaces = (new Array(indent)).join(" ");
- switch(element.nodeType) {
- case Node.DOCUMENT_TYPE_NODE:
- if (element.name) {
- if (element.publicId || element.systemId) {
- var publicId = element.publicId ? element.publicId : "";
- var systemId = element.systemId ? element.systemId : "";
- lines.push(format("|%s<!DOCTYPE %s \"%s\" \"%s\">", indent_spaces,
- element.name, publicId, systemId));
- } else {
- lines.push(format("|%s<!DOCTYPE %s>", indent_spaces,
- element.name));
- }
- } else {
- lines.push(format("|%s<!DOCTYPE >", indent_spaces));
- }
- break;
- case Node.DOCUMENT_NODE:
- lines.push("#document");
- break;
- case Node.DOCUMENT_FRAGMENT_NODE:
- lines.push("#document-fragment");
- break;
- case Node.COMMENT_NODE:
- lines.push(format("|%s<!-- %s -->", indent_spaces, element.nodeValue));
- break;
- case Node.TEXT_NODE:
- lines.push(format("|%s\"%s\"", indent_spaces, element.nodeValue));
- break;
- case Node.ELEMENT_NODE:
- if (element.getAttribute("data-skip") !== null) {
- return;
- }
- if (element.namespaceURI !== null && element.namespaceURI !== namespaces.html) {
- var name = format("%s %s", prefixes[element.namespaceURI],
- element.localName);
- } else {
- var name = element.localName;
- }
- lines.push(format("|%s<%s>", indent_spaces, name));
-
- var attributes = Array.prototype.map.call(
- element.attributes,
- function(attr) {
- var name = (attr.namespaceURI ? prefixes[attr.namespaceURI] + " " : "") +
- attr.localName;
- return [name, attr.value];
- });
- attributes.sort(function (a, b) {
- var x = a[0];
- var y = b[0];
- if (x === y) {
- return 0;
- }
- return x > y ? 1 : -1;
- });
-
- attributes.forEach(
- function(attr) {
- var indent_spaces = (new Array(indent + 2)).join(" ");
- lines.push(format("|%s%s=\"%s\"", indent_spaces, attr[0], attr[1]));
- }
- );
- break;
- }
- indent += 2;
- Array.prototype.forEach.call(element.childNodes,
- function(node) {
- serialize_element(node, indent);
- });
- }
- serialize_element(element, 0);
- return lines.join("\n");
-}
-
-function parse_query() {
- var query = location.search.slice(1);
- var vars = query.split("&");
- var fields = vars.map(function (x) {
- var split = x.split("=");
- return [split[0], split.slice(1).join("=")];
- });
- return fields;
-}
-
-function get_type() {
- var run_type = "uri";
- var fields = parse_query();
- fields.forEach(function(x) {
- if(x[0] == "run_type") {
- run_type = x[1];
- }
- });
- return run_type;
-};
-
-var test_in_blob_uri = get_test_func(function (iframe, uri_encoded_input, t) {
- var b = new Blob([decodeURIComponent(uri_encoded_input)], { type: "text/html" });
- var blobURL = URL.createObjectURL(b);
- iframe.src = blobURL;
- t.add_cleanup(function() {
- URL.revokeObjectURL(blobURL);
- });
- });
-
-var test_document_write = get_test_func(function(iframe, uri_encoded_input, t) {
- iframe.contentDocument.open();
- var input = decodeURIComponent(uri_encoded_input);
- iframe.contentDocument.write(input);
- iframe.contentDocument.close();
- });
-
-var test_document_write_single = get_test_func(function(iframe, uri_encoded_input, t) {
- iframe.contentDocument.open();
- var input = decodeURIComponent(uri_encoded_input);
- for (var i=0; i< input.length; i++) {
- iframe.contentDocument.write(input[i]);
- }
- iframe.contentDocument.close();
- });
-
-function get_test_func(inject_func) {
- function test_func(iframe, t, test_id, uri_encoded_input, escaped_expected) {
- var expected = decodeURIComponent(escaped_expected);
- current_tests[iframe.id] = {test_id:test_id,
- uri_encoded_input:uri_encoded_input,
- expected:expected,
- actual:null
- };
-
- iframe.onload = function() {
- t.step(function() {
- iframe.onload = null;
- var serialized_dom = test_serializer(iframe.contentDocument);
- current_tests[iframe.id].actual = serialized_dom;
- assert_equals(serialized_dom, expected);
- t.done();
- }
- );
- };
- inject_func(iframe, uri_encoded_input, t);
- }
- return test_func;
-}
-
-function test_fragment(iframe, t, test_id, uri_encoded_input, escaped_expected, container) {
- var input_string = decodeURIComponent(uri_encoded_input);
- var expected = decodeURIComponent(escaped_expected);
- current_tests[iframe.id] = {
- test_id:test_id,
- input:uri_encoded_input,
- expected:expected,
- actual:null,
- container:container
- };
-
- var components = container.split(" ");
- var container_elem = null;
- if (components.length > 1) {
- var namespace = namespaces[components[0]];
- container_elem = document.createElementNS(namespace,
- components[0] + ":" +
- components[1]);
- } else {
- container_elem = document.createElement(container);
- }
- container_elem.innerHTML = input_string;
- var serialized_dom = test_serializer(container_elem);
- current_tests[iframe.id].actual = serialized_dom;
- serialized_dom = convert_innerHTML(serialized_dom);
- assert_equals(serialized_dom, expected);
- t.done();
-}
-
-function convert_innerHTML(serialized_dom) {
- var lines = serialized_dom.split("\n");
- lines[0] = "#document";
- return lines.join("\n");
-}
-
-function print_diffs(test_id, uri_encoded_input, expected, actual, container) {
- container = container ? container : null;
- if (actual) {
- var diffs = mark_diffs(expected, actual);
- var expected_text = diffs[0];
- var actual_text = diffs[1];
- } else {
- var expected_text = expected;
- var actual_text = "";
- }
-
- var tmpl = ["div", {"id":"${test_id}"},
- ["h2", {}, "${test_id}"],
- function(vars) {
- if (vars.container !== null) {
- return ["div", {"class":"container"},
- ["h3", {}, "innerHTML Container"],
- ["pre", {}, vars.container]];
- } else {
- return null;
- }
- },
- ["div", {"id":"input_${test_id}"}, ["h3", {}, "Input"], ["pre", {},
- ["code", {}, decodeURIComponent(uri_encoded_input)]]],
- ["div", {"id":"expected_${test_id}"}, ["h3", {}, "Expected"],
- ["pre", {}, ["code", {}, expected_text]]],
- ["div", {"id":"actual_${test_id}"}, ["h3", {}, "Actual"],
- ["pre", {}, ["code", {}, actual_text]]]
- ];
-
- var diff_dom = template.render(tmpl, {test_id:test_id, container:container});
- document.body.appendChild(diff_dom);
-}
-
-var current_tests = {};
-var iframe_map = {};
-
-function init_tests(test_type) {
- var test_func = null;
- var test_funcs = {
- "write":test_document_write,
- "write_single":test_document_write_single,
- "uri":test_in_blob_uri,
- "innerHTML":test_fragment
- };
- var tests_started = 0;
- var tests_complete = 0;
-
- setup(function() {
- test_func = test_funcs[test_type];
-
- var fails = [];
-
- add_result_callback(function(test) {
- tests_complete++;
- var iframe = document.getElementById(iframe_map[test.name]);
- if (test.status !== test.PASS) {
- fails.push(current_tests[iframe.id]);
- var new_iframe = document.createElement("iframe");
- new_iframe.style.display = "none";
- new_iframe.id = iframe.id;
- document.body.replaceChild(new_iframe, iframe);
- iframe = new_iframe;
- }
- if (tests_complete === order.length) {
- done();
- } else if (tests_started < order.length) {
- test_next(iframe);
- }
- });
-
- add_completion_callback(function() {
- fails.forEach(function(t) {
- print_diffs(t.test_id, t.uri_encoded_input,
- t.expected, t.actual);
- });
- });
-
- //Create the iframes we will use to test
- //in the innerHTML case these are not actually used
- //but it is convenient to reuse the same code
- for (var i=0; i<num_iframes; i++) {
- var iframe = document.createElement("iframe");
- iframe.id = "iframe_" + i;
- iframe.style.display = "none";
- document.body.appendChild(iframe);
- }
- },
- {explicit_done:true});
-
- function test_next(iframe) {
- var test_id = order[tests_started];
- tests_started++;
- var x = tests[test_id];
- var t = x[0];
- iframe_map[t.name] = iframe.id;
- setTimeout(function() {
- t.step(function() {
- var string_uri_encoded_input = x[1];
- var string_escaped_expected = x[2];
- if (test_type === "innerHTML") {
- var container = x[3];
- }
- test_func(iframe, t, test_id, string_uri_encoded_input, string_escaped_expected,
- container);
- });
- }, 0);
- }
-
- onload = function() {
- Array.prototype.forEach.call(document.getElementsByTagName("iframe"),
- function(iframe) {
- if (tests_started<order.length) {
- test_next(iframe);
- }
- });
- };
-}

Powered by Google App Engine
This is Rietveld 408576698