|
@@ -0,0 +1,71 @@
|
|
|
|
+// META: script=/resources/testdriver.js
|
|
|
|
+// META: script=/resources/testdriver-vendor.js
|
|
|
|
+// META: script=/resources/testdriver-actions.js
|
|
|
|
+
|
|
|
|
+promise_test(async () => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ control.switch = true;
|
|
|
|
+ const role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "");
|
|
|
|
+}, `Disconnected <input type=checkbox switch>`);
|
|
|
|
+
|
|
|
|
+promise_test(async t => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ t.add_cleanup(() => control.remove());
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ control.switch = true;
|
|
|
|
+ document.body.append(control);
|
|
|
|
+ const role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "switch");
|
|
|
|
+}, `Connected <input type=checkbox switch>`);
|
|
|
|
+
|
|
|
|
+promise_test(async t => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ t.add_cleanup(() => control.remove());
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ document.body.append(control);
|
|
|
|
+ let role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "checkbox");
|
|
|
|
+ control.switch = true;
|
|
|
|
+ role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "switch");
|
|
|
|
+}, `Connected <input type=checkbox switch>: adding switch attribute`);
|
|
|
|
+
|
|
|
|
+promise_test(async t => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ t.add_cleanup(() => control.remove());
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ control.switch = true;
|
|
|
|
+ document.body.append(control);
|
|
|
|
+ let role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "switch");
|
|
|
|
+ control.switch = false;
|
|
|
|
+ role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "checkbox");
|
|
|
|
+}, `Connected <input type=checkbox switch>: removing switch attribute`);
|
|
|
|
+
|
|
|
|
+promise_test(async t => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ t.add_cleanup(() => control.remove());
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ document.body.append(control);
|
|
|
|
+ control.switch = true;
|
|
|
|
+ let role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "switch");
|
|
|
|
+ control.removeAttribute("type");
|
|
|
|
+ role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "textbox");
|
|
|
|
+}, `Connected <input type=checkbox switch>: removing type attribute`);
|
|
|
|
+
|
|
|
|
+promise_test(async t => {
|
|
|
|
+ const control = document.createElement("input");
|
|
|
|
+ t.add_cleanup(() => control.remove());
|
|
|
|
+ control.switch = true;
|
|
|
|
+ document.body.append(control);
|
|
|
|
+ let role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "textbox");
|
|
|
|
+ control.type = "checkbox";
|
|
|
|
+ role = await test_driver.get_computed_role(control);
|
|
|
|
+ assert_equals(role, "switch");
|
|
|
|
+}, `Connected <input type=checkbox switch>: adding type attribute`);
|