summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js')
-rw-r--r--testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js b/testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js
new file mode 100644
index 0000000000..9b1c6bd70f
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/forms/the-output-element/mutations.window.js
@@ -0,0 +1,36 @@
+function assert_equal_values(output, value, message) {
+ assert_equals(output.value, value, `.value ${message}`);
+ assert_equals(output.defaultValue, value, `.defaultValue ${message}`);
+}
+function assert_values(output, value, defaultValue, message) {
+ assert_equals(output.value, value, `.value ${message}`);
+ assert_equals(output.defaultValue, defaultValue, `.defaultValue ${message}`);
+}
+
+test(() => {
+ const output = document.createElement("output"),
+ child = output.appendChild(document.createElement("span"));
+ assert_equal_values(output, "", "start");
+ child.textContent = "x";
+ assert_equal_values(output, "x", "after setting textContent");
+ output.value = "some";
+ assert_values(output, "some", "x", "after setting value");
+ output.textContent = "y";
+ assert_values(output, "y", "x", "after setting textContent again");
+}, "Descendant mutations and output.value and .defaultValue");
+
+test(() => {
+ const form = document.createElement("form"),
+ output = form.appendChild(document.createElement("output"));
+ output.textContent = "value";
+ assert_equal_values(output, "value", "after setting textContent");
+ output.value = "heya";
+ assert_values(output, "heya", "value", "after setting value");
+ form.reset();
+ assert_equal_values(output, "value", "after form.reset()");
+
+ output.innerHTML = "<div>something</div>";
+ assert_equal_values(output, "something", "after setting innerHTML");
+ form.reset();
+ assert_equal_values(output, "something", "after form.reset() again");
+}, "output and output.form.reset()");