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

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/custom-elements/reactions/Document.html

Issue 2468053002: Import wpt@9fcccf38b6be00f71ffa6bd6e29c5aa1ef25ee8c (Closed)
Patch Set: Skip cssom and svg/shapes, remove unwanted baseline Created 4 years, 1 month 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/wpt/custom-elements/reactions/Document.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/custom-elements/reactions/Document.html b/third_party/WebKit/LayoutTests/imported/wpt/custom-elements/reactions/Document.html
index 13f0d81b9eac44cf1026c8b63ce215f0404b55db..0d60f06e15d275e47b1b2c16f92ff06bc708d5fc 100644
--- a/third_party/WebKit/LayoutTests/imported/wpt/custom-elements/reactions/Document.html
+++ b/third_party/WebKit/LayoutTests/imported/wpt/custom-elements/reactions/Document.html
@@ -15,57 +15,101 @@
<div id="log"></div>
<script>
-test(function () {
- var element = define_new_custom_element();
- var instance = document.createElement(element.name);
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+ const instance = contentDocument.createElement('custom-element');
assert_array_equals(element.takeLog().types(), ['constructed']);
- var newDoc = document.implementation.createHTMLDocument();
+ const newDoc = contentDocument.implementation.createHTMLDocument();
newDoc.importNode(instance);
assert_array_equals(element.takeLog().types(), []);
}, 'importNode on Document must not construct a new custom element when importing a custom element into a window-less document');
-test(function () {
- var element = define_new_custom_element();
- var template = document.createElement('template');
- template.innerHTML = `<${element.name}></${element.name}>`;
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+ const template = contentDocument.createElement('template');
+ template.innerHTML = '<custom-element></custom-element>';
assert_array_equals(element.takeLog().types(), []);
- document.importNode(template.content, true);
+ contentDocument.importNode(template.content, true);
assert_array_equals(element.takeLog().types(), ['constructed']);
}, 'importNode on Document must construct a new custom element when importing a custom element from a template');
-test(function () {
- var element = define_new_custom_element();
- var instance = document.createElement(element.name);
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+ const instance = contentDocument.createElement('custom-element');
assert_array_equals(element.takeLog().types(), ['constructed']);
- var newDoc = document.implementation.createHTMLDocument();
+ const newDoc = contentDocument.implementation.createHTMLDocument();
newDoc.adoptNode(instance);
- var logEntries = element.takeLog();
+ const logEntries = element.takeLog();
assert_array_equals(logEntries.types(), ['adopted']);
- assert_equals(logEntries.last().oldDocument, document);
+ assert_equals(logEntries.last().oldDocument, contentDocument);
assert_equals(logEntries.last().newDocument, newDoc);
}, 'adoptNode on Document must enqueue an adopted reaction when importing a custom element');
-test(function () {
- var element = define_new_custom_element();
- var instance = document.createElement(element.name);
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+ const instance = contentDocument.createElement('custom-element');
- var container = document.createElement('div');
+ const container = contentDocument.createElement('div');
container.contentEditable = true;
container.appendChild(instance);
- document.body.appendChild(container);
+ contentDocument.body.appendChild(container);
assert_array_equals(element.takeLog().types(), ['constructed', 'connected']);
container.focus();
- document.execCommand('delete', false, null);
+ contentDocument.execCommand('delete', false, null);
assert_array_equals(element.takeLog().types(), ['disconnected']);
}, 'execCommand on Document must enqueue a disconnected reaction when deleting a custom element from a contenteditable element');
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+
+ contentDocument.title = '';
+ const title = contentDocument.querySelector('title');
+ const instance = contentDocument.createElement('custom-element');
+ title.appendChild(instance);
+ instance.textContent = 'hello';
+
+ assert_array_equals(element.takeLog().types(), ['constructed', 'connected']);
+ assert_equals(title.innerHTML, '<custom-element>hello</custom-element>');
+
+ title.text = 'world';
+ assert_equals(title.innerHTML, 'world');
+ assert_array_equals(element.takeLog().types(), ['disconnected']);
+}, 'title on Document must enqueue disconnectedCallback when removing a custom element');
+
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+
+ const body = contentDocument.body;
+ body.innerHTML = '<custom-element>hello</custom-element>';
+
+ assert_array_equals(element.takeLog().types(), ['constructed', 'connected']);
+ assert_equals(body.innerHTML, '<custom-element>hello</custom-element>');
+
+ contentDocument.body = contentDocument.createElement('body');
+ assert_array_equals(element.takeLog().types(), ['disconnected']);
+}, 'body on Document must enqueue disconnectedCallback when removing a custom element');
+
+test_with_window(function (contentWindow, contentDocument) {
+ const element = define_custom_element_in_window(contentWindow, 'custom-element', []);
+
+ const instance = contentDocument.createElement('custom-element');
+ const body = contentDocument.createElement('body');
+ body.appendChild(instance);
+
+ assert_array_equals(element.takeLog().types(), ['constructed']);
+ assert_equals(body.innerHTML, '<custom-element></custom-element>');
+
+ contentDocument.body = body;
+ assert_array_equals(element.takeLog().types(), ['connected']);
+}, 'body on Document must enqueue connectedCallback when inserting a custom element');
+
</script>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698