From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001
From: "Matt A. Tobin"
Date: Fri, 2 Feb 2018 04:16:08 -0500
Subject: Add m-esr52 at 52.6.0
---
.../old-tests/webdriver/element_state/__init__.py | 0
.../webdriver/element_state/method_test.py | 107 +++++++
.../webdriver/element_state/properties.py | 17 ++
.../webdriver/element_state/res/0x0-pixels.html | 12 +
.../webdriver/element_state/res/1x1-pixels.html | 12 +
.../element_state/res/a-with-href-attribute.html | 5 +
...absolute-children-ancestor-hidden-overflow.html | 16 +
.../webdriver/element_state/res/body_empty.html | 4 +
.../webdriver/element_state/res/body_implicit.html | 3 +
.../element_state/res/body_overflow_hidden.html | 4 +
.../element_state/res/body_visibility_hidden.html | 4 +
.../webdriver/element_state/res/display-block.html | 5 +
.../element_state/res/display-none-child-link.html | 11 +
.../res/display-none-child-paragraph.html | 11 +
.../element_state/res/display-none-child.html | 11 +
.../element_state/res/display-none-dynamic.html | 10 +
.../display-none-parent-presedence-visibility.html | 15 +
.../res/display-none-parent-presedence.html | 14 +
.../webdriver/element_state/res/display-none.html | 11 +
...element-dynamically-moved-outside-viewport.html | 15 +
.../res/element-hidden-by-other-element.html | 20 ++
.../res/element-hidden-by-z-index.html | 29 ++
...nt-moved-behind-other-element-by-transform.html | 31 ++
...lement-moved-outside-viewport-by-transform.html | 15 +
.../res/element-outside-viewport.html | 13 +
.../element-partially-hidden-by-other-element.html | 23 ++
.../element_state/res/element-selected.html | 89 ++++++
.../res/element-with-color-style-attribute.html | 5 +
.../res/element-with-custom-attribute.html | 5 +
.../res/element-with-id-attribute.html | 5 +
.../res/element-with-same-color-as-background.html | 10 +
...ement-with-same-color-as-parent-background.html | 18 ++
.../res/element-with-style-attribute.html | 5 +
.../res/element-without-attribute.html | 5 +
.../webdriver/element_state/res/elements_text.html | 10 +
.../res/get-element-attribute-extended.html | 72 +++++
.../hidden-input-type-checkbox-untogglable.html | 9 +
.../res/hidden-input-type-text-writing.html | 9 +
.../webdriver/element_state/res/hidden.html | 5 +
.../element_state/res/img-with-src-attribute.html | 5 +
.../res/input-morphs-into-hidden.html | 10 +
.../res/input-type-hidden-unclickable.html | 5 +
.../element_state/res/input-type-hidden.html | 5 +
.../res/input-with-checked-attribute.html | 5 +
.../res/input-without-checked-attribute.html | 5 +
.../res/option-with-value-attribute.html | 7 +
.../res/option-without-value-attribute.html | 7 +
.../text-with-matching-color-and-background.html | 14 +
.../res/text-with-same-color-as-background.html | 12 +
.../text-with-same-color-as-parent-background.html | 14 +
.../element_state/res/visibility-child-link.html | 11 +
.../res/visibility-child-paragraph.html | 11 +
.../res/visibility-child-presedence.html | 12 +
.../element_state/res/visibility-child.html | 11 +
.../element_state/res/visibility-hidden.html | 11 +
.../element_state/res/visibility-visible.html | 5 +
.../element_state/res/x-auto-y-hidden.html | 30 ++
.../element_state/res/x-hidden-y-auto.html | 30 ++
.../element_state/res/x-hidden-y-hidden.html | 30 ++
.../element_state/res/x-hidden-y-scroll.html | 30 ++
.../element_state/res/x-scroll-y-hidden.html | 30 ++
.../zero-sized-element-with-sizable-decendant.html | 14 +
.../webdriver/element_state/selected_test.py | 210 +++++++++++++
.../webdriver/element_state/visibility_test.py | 324 +++++++++++++++++++++
64 files changed, 1513 insertions(+)
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/__init__.py
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/method_test.py
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/properties.py
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/0x0-pixels.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/1x1-pixels.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/a-with-href-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/body_empty.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/body_implicit.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/body_overflow_hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/body_visibility_hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-block.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-child-link.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-child-paragraph.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-child.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-dynamic.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-parent-presedence-visibility.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none-parent-presedence.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/display-none.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-dynamically-moved-outside-viewport.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-hidden-by-other-element.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-hidden-by-z-index.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-moved-behind-other-element-by-transform.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-moved-outside-viewport-by-transform.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-outside-viewport.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-partially-hidden-by-other-element.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-selected.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-custom-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-id-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-style-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/element-without-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/elements_text.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/get-element-attribute-extended.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/img-with-src-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/input-with-checked-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/input-without-checked-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/option-with-value-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/option-without-value-attribute.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-link.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-paragraph.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-presedence.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-visible.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/x-auto-y-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-auto.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/selected_test.py
create mode 100644 testing/web-platform/tests/old-tests/webdriver/element_state/visibility_test.py
(limited to 'testing/web-platform/tests/old-tests/webdriver/element_state')
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/__init__.py b/testing/web-platform/tests/old-tests/webdriver/element_state/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/method_test.py b/testing/web-platform/tests/old-tests/webdriver/element_state/method_test.py
new file mode 100644
index 000000000..85b240c7a
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/method_test.py
@@ -0,0 +1,107 @@
+import os
+import sys
+import unittest
+
+sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
+import base_test
+
+
+class GetElementAttributeTest(base_test.WebDriverBaseTest):
+ def test_get_element_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-id-attribute.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertEqual("myId", el.get_attribute("id"))
+
+ def test_style_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-style-attribute.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ expected_style = """
+ font-family: \"Gill Sans Extrabold\",Helvetica,sans-serif;
+ line-height: 1.2; font-weight: bold;
+ """
+ self.assertEqual(expected_style, el.get_attribute("style"))
+
+ def test_color_serialization_of_style_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-color-style-attribute.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertEqual("color: rgba(255, 0, 0, 1.0);", el.get_attribute("style"))
+
+ def test_true_if_boolean_attribute_present(self):
+ self.driver.get(self.webserver.where_is("element_state/res/input-with-checked-attribute.html"))
+ el = self.driver.find_element_by_css_selector("input")
+ self.assertEqual("true", el.get_attribute("checked"))
+
+ def test_none_if_boolean_attribute_absent(self):
+ self.driver.get(self.webserver.where_is("element_state/res/input-without-checked-attribute.html"))
+ el = self.driver.find_element_by_css_selector("input")
+ self.assertIsNone(el.get_attribute("checked"))
+
+ def test_option_with_attribute_value(self):
+ self.driver.get(self.webserver.where_is("element_state/res/option-with-value-attribute.html"))
+ el = self.driver.find_element_by_css_selector("option")
+ self.assertEqual("value1", el.get_attribute("value"))
+
+ def test_option_without_value_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/option-without-value-attribute.html"))
+ el = self.driver.find_element_by_css_selector("option")
+ self.assertEqual("Value 1", el.get_attribute("value"))
+
+ def test_a_href_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/a-with-href-attribute.html"))
+ el = self.driver.find_element_by_css_selector("a")
+ self.assertEqual("http://web-platform.test:8000/path#fragment", el.get_attribute("href"))
+
+ def test_img_src_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/img-with-src-attribute.html"))
+ el = self.driver.find_element_by_css_selector("img")
+ self.assertEqual("http://web-platform.test:8000/images/blue.png", el.get_attribute("src"))
+
+ def test_custom_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-custom-attribute.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertEqual("attribute value", el.get_attribute("webdriver-custom-attribute"))
+
+ def test_attribute_not_present(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-without-attribute.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertIsNone(el.get_attribute("class"))
+
+ def test_find_attribute_with_special_characters(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_special_char_attribute_name")
+ attribute = element.get_attribute("*")
+ self.assertEquals("special_char_attribute_name", attribute)
+
+ def test_find_attribute_with_special_char_name_and_value(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_special_char_attribute_name_and_value")
+ attribute = element.get_attribute("@")
+ self.assertEquals("(", attribute)
+
+ def test_find_attribute_with_numeric_name(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_attribute_name_numeric")
+ attribute = element.get_attribute("1")
+ self.assertEquals("numeric attribute name", attribute)
+
+ def test_find_attribute_with_numeric_value(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_attribute_value_numeric")
+ attribute = element.get_attribute("one")
+ self.assertEquals("2", attribute)
+
+ def test_find_attribute_with_negative_numeric_name(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_attribute_negative_numeric_name")
+ attribute = element.get_attribute("-5")
+ self.assertEquals("attribute name is -5", attribute)
+
+ def test_find_attribute_with_negative_numeric_value(self):
+ self.driver.get(self.webserver.where_is("element_state/res/get-element-attribute-extended.html"))
+ element = self.driver.find_element_by_id("id_attribute_negative_numeric_value")
+ attribute = element.get_attribute("negative_numeric_value")
+ self.assertEquals("-9", attribute)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/properties.py b/testing/web-platform/tests/old-tests/webdriver/element_state/properties.py
new file mode 100644
index 000000000..a76770085
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/properties.py
@@ -0,0 +1,17 @@
+import os
+import sys
+import unittest
+
+sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
+import base_test
+
+
+class GetElementPropertiesTest(base_test.WebDriverBaseTest):
+ def test_get_element_text(self):
+ self.driver.get(self.webserver.where_is("element_state/res/elements_text.html"))
+ e = self.driver.find_element_by_name("name")
+ self.assertEquals("name", e.text)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/0x0-pixels.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/0x0-pixels.html
new file mode 100644
index 000000000..3b081ca09
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/0x0-pixels.html
@@ -0,0 +1,12 @@
+
+
+0x0 pixel element
+
+
+
+This element is not visible.
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/1x1-pixels.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/1x1-pixels.html
new file mode 100644
index 000000000..f9b2cbc3c
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/1x1-pixels.html
@@ -0,0 +1,12 @@
+
+
+1x1 pixel element
+
+
+
+This element is visible.
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/a-with-href-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/a-with-href-attribute.html
new file mode 100644
index 000000000..7722426a3
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/a-with-href-attribute.html
@@ -0,0 +1,5 @@
+
+
+"a" element with not fully qualified url
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html
new file mode 100644
index 000000000..fcf104414
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/absolute-children-ancestor-hidden-overflow.html
@@ -0,0 +1,16 @@
+
+
+Parent node visible with absolutely positioned children, where ancestor overflow is hidden
+
+
+
+
+
grated
+
cheese
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_empty.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_empty.html
new file mode 100644
index 000000000..0f4dff691
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_empty.html
@@ -0,0 +1,4 @@
+
+
+
BODY element has no children. MUST be reported displayed
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_implicit.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_implicit.html
new file mode 100644
index 000000000..f45815380
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_implicit.html
@@ -0,0 +1,3 @@
+
+
+BODY tag is omitted; BODY element MUST be reported displayed
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_overflow_hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_overflow_hidden.html
new file mode 100644
index 000000000..1411ef37b
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_overflow_hidden.html
@@ -0,0 +1,4 @@
+
+
+BODY element with style=overflow:hidden. MUST be reported displayed
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_visibility_hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_visibility_hidden.html
new file mode 100644
index 000000000..ce4d41036
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/body_visibility_hidden.html
@@ -0,0 +1,4 @@
+
+
+
BODY element with style=visibility:hidden. MUST be reported displayed
+
+
+ selected-1
+
+
+ selected-2
+ unselected-1
+
+
+ unselected-2
+ selected-3
+ unselected-3
+
+
+ unselected-4
+ unselected-5
+ selected-4
+
+
+ unselected-6
+ selected-5
+
+
+
+ unselected-7
+ unselected-8
+
+
+ selected-6
+ unselected-9
+ selected-7
+
+
+
+Input Checkbox Elements
+ selected-8
+
+ selected-9
+
+ unselected-10
+ unselected-11
+
+ unselected-12
+
+ unselected-13
+ selected-10
+
+Input Radio Elements
+ Group 1:
+ selected-11
+ Group 2:
+ selected-12
+
+ Group 3:
+ unselected-14
+ selected-13
+ Group 4:
+ unselected-15
+ selected-14
+ Group 5:
+ unselected-16
+ unselected-17
+
+ Group 6
+ selected-15
+ unselected-18
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html
new file mode 100644
index 000000000..acf2fc095
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-color-style-attribute.html
@@ -0,0 +1,5 @@
+
+
+Element with color style attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-custom-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-custom-attribute.html
new file mode 100644
index 000000000..8f84b97ff
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-custom-attribute.html
@@ -0,0 +1,5 @@
+
+
+Element with custom attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-id-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-id-attribute.html
new file mode 100644
index 000000000..7512344f5
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-id-attribute.html
@@ -0,0 +1,5 @@
+
+
+Element with id attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html
new file mode 100644
index 000000000..aaea9a935
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-background.html
@@ -0,0 +1,10 @@
+
+
+Element with same color as background
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html
new file mode 100644
index 000000000..80a4118df
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-same-color-as-parent-background.html
@@ -0,0 +1,18 @@
+
+
+Element with same color as background
+
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-style-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-style-attribute.html
new file mode 100644
index 000000000..b163a751a
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-with-style-attribute.html
@@ -0,0 +1,5 @@
+
+
+Element with style attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-without-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-without-attribute.html
new file mode 100644
index 000000000..b03d4545b
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/element-without-attribute.html
@@ -0,0 +1,5 @@
+
+
+Element without attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/elements_text.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/elements_text.html
new file mode 100644
index 000000000..45b7c2370
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/elements_text.html
@@ -0,0 +1,10 @@
+
+
+
+Element location
+
+
+ id
+ name
+ link text
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/get-element-attribute-extended.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/get-element-attribute-extended.html
new file mode 100644
index 000000000..1fff60f03
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/get-element-attribute-extended.html
@@ -0,0 +1,72 @@
+
+
+Get Element Attribute Extended
+
+Span
+Span
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html
new file mode 100644
index 000000000..7e7c2e238
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-checkbox-untogglable.html
@@ -0,0 +1,9 @@
+
+
+Hidden INPUT @type="checkbox" is untogglable
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html
new file mode 100644
index 000000000..a1db85009
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden-input-type-text-writing.html
@@ -0,0 +1,9 @@
+
+
+Typing in hidden input is impossible
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden.html
new file mode 100644
index 000000000..0e8097e97
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/hidden.html
@@ -0,0 +1,5 @@
+
+This will not be visible
+
+
My parent is hidden so you can't see me
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/img-with-src-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/img-with-src-attribute.html
new file mode 100644
index 000000000..057bb9bf5
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/img-with-src-attribute.html
@@ -0,0 +1,5 @@
+
+
+"img" element with not fully qualified url
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html
new file mode 100644
index 000000000..98b954855
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-morphs-into-hidden.html
@@ -0,0 +1,10 @@
+
+
+INPUT motphs into @type="hidden"
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html
new file mode 100644
index 000000000..b06822b10
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden-unclickable.html
@@ -0,0 +1,5 @@
+
+
+INPUT @type="hidden" is unclickable
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden.html
new file mode 100644
index 000000000..b7195709d
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-type-hidden.html
@@ -0,0 +1,5 @@
+
+
+INPUT @type="hidden" are always hidden
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-with-checked-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-with-checked-attribute.html
new file mode 100644
index 000000000..d7aad5ea5
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-with-checked-attribute.html
@@ -0,0 +1,5 @@
+
+
+Input with checked attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-without-checked-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-without-checked-attribute.html
new file mode 100644
index 000000000..9f1d5ad35
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/input-without-checked-attribute.html
@@ -0,0 +1,5 @@
+
+
+Input without checked attribute
+
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-with-value-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-with-value-attribute.html
new file mode 100644
index 000000000..5ef08c405
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-with-value-attribute.html
@@ -0,0 +1,7 @@
+
+
+Option with value attribute
+
+
+ Value 1
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-without-value-attribute.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-without-value-attribute.html
new file mode 100644
index 000000000..5f6087ddd
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/option-without-value-attribute.html
@@ -0,0 +1,7 @@
+
+
+Option without value attribute
+
+
+ Value 1
+
\ No newline at end of file
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html
new file mode 100644
index 000000000..d6591ef04
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-matching-color-and-background.html
@@ -0,0 +1,14 @@
+
+
+Text with matching color and background
+
+
+
+
+ This on the other hand, should be visible
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html
new file mode 100644
index 000000000..e6290d576
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-background.html
@@ -0,0 +1,12 @@
+
+
+Text with same color as background
+
+
+
+
+ Shouldn't be visible.
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html
new file mode 100644
index 000000000..f7480f509
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/text-with-same-color-as-parent-background.html
@@ -0,0 +1,14 @@
+
+
+Text with same color as parent background
+
+
+
+
+
+ Should not be visible
+
+
g
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-link.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-link.html
new file mode 100644
index 000000000..638c3c9ee
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-link.html
@@ -0,0 +1,11 @@
+
+
+visibility: hidden applies to child node of type A
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-paragraph.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-paragraph.html
new file mode 100644
index 000000000..8f703ba54
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-paragraph.html
@@ -0,0 +1,11 @@
+
+
+visibility: hidden applies to child nodes of type P
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-presedence.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-presedence.html
new file mode 100644
index 000000000..adf679c8a
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child-presedence.html
@@ -0,0 +1,12 @@
+
+
+visibility: visible on child node takes presedence
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child.html
new file mode 100644
index 000000000..5464025fa
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-child.html
@@ -0,0 +1,11 @@
+
+
+visibility: hidden applies to child nodes
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-hidden.html
new file mode 100644
index 000000000..24e89499f
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-hidden.html
@@ -0,0 +1,11 @@
+
+
+visibility: hidden;
+
+
+
+This element is not visible.
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-visible.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-visible.html
new file mode 100644
index 000000000..e0c090217
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/visibility-visible.html
@@ -0,0 +1,5 @@
+
+
+visibility: visible;
+
+This element is visible.
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-auto-y-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-auto-y-hidden.html
new file mode 100644
index 000000000..e9ce24c73
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-auto-y-hidden.html
@@ -0,0 +1,30 @@
+
+
+
+ Page with overflow
+
+
+
+
+
+
+ Right clicked:
+ Bottom clicked:
+ Bottom-right clicked:
+
+
+
Click bottom
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-auto.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-auto.html
new file mode 100644
index 000000000..22b5049ff
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-auto.html
@@ -0,0 +1,30 @@
+
+
+
+ Page with overflow
+
+
+
+
+
+
+ Right clicked:
+ Bottom clicked:
+ Bottom-right clicked:
+
+
+
Click bottom
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html
new file mode 100644
index 000000000..c26b48aea
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-hidden.html
@@ -0,0 +1,30 @@
+
+
+
+ Page with overflow
+
+
+
+
+
+
+ Right clicked:
+ Bottom clicked:
+ Bottom-right clicked:
+
+
+
Click bottom
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html
new file mode 100644
index 000000000..b98b79a7e
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-hidden-y-scroll.html
@@ -0,0 +1,30 @@
+
+
+
+ Page with overflow
+
+
+
+
+
+
+ Right clicked:
+ Bottom clicked:
+ Bottom-right clicked:
+
+
+
Click bottom
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html
new file mode 100644
index 000000000..9348681ac
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/x-scroll-y-hidden.html
@@ -0,0 +1,30 @@
+
+
+
+ Page with overflow
+
+
+
+
+
+
+ Right clicked:
+ Bottom clicked:
+ Bottom-right clicked:
+
+
+
Click bottom
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html b/testing/web-platform/tests/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html
new file mode 100644
index 000000000..f7e37f855
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/res/zero-sized-element-with-sizable-decendant.html
@@ -0,0 +1,14 @@
+
+
+Zero sized element with sizable decendant
+
+
+
+
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/selected_test.py b/testing/web-platform/tests/old-tests/webdriver/element_state/selected_test.py
new file mode 100644
index 000000000..9c80f29f6
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/selected_test.py
@@ -0,0 +1,210 @@
+import os
+import sys
+import unittest
+
+sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
+import base_test
+
+
+class GetElementSelectedTest(base_test.WebDriverBaseTest):
+ def test_selected_1(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-1")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_2(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-2")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_3(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-3")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_4(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-4")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_5(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-5")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_6(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-6")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_7(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-7")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_8(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-8")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_9(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-9")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_10(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-10")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_11(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-11")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_12(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-12")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_13(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-13")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_14(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-14")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_selected_15(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("selected-15")
+
+ self.assertEquals(element.is_selected(), True)
+
+ def test_unselected_1(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-1")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_2(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-2")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_3(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-3")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_4(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-4")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_5(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-5")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_6(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-6")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_7(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-7")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_8(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-8")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_9(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-9")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_10(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-10")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_11(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-11")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_12(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-12")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_13(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-13")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_14(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-14")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_15(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-15")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_16(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-16")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_17(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-17")
+
+ self.assertEquals(element.is_selected(), False)
+
+ def test_unselected_18(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-selected.html"))
+ element = self.driver.find_element_by_id("unselected-18")
+
+ self.assertEquals(element.is_selected(), False)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/testing/web-platform/tests/old-tests/webdriver/element_state/visibility_test.py b/testing/web-platform/tests/old-tests/webdriver/element_state/visibility_test.py
new file mode 100644
index 000000000..58218a7ff
--- /dev/null
+++ b/testing/web-platform/tests/old-tests/webdriver/element_state/visibility_test.py
@@ -0,0 +1,324 @@
+import os
+import sys
+import unittest
+
+sys.path.insert(1, os.path.abspath(os.path.join(__file__, "../..")))
+import base_test
+from selenium.common import exceptions
+
+
+class NaturalNonVisibleElementsTest(base_test.WebDriverBaseTest):
+ def test_0x0_pixel_element_is_not_visible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/0x0-pixels.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertFalse(el.is_displayed())
+
+ def test_0x0_pixel_text_node_is_visible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/0x0-pixels-text-node.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertTrue(el.is_displayed())
+
+ def test_1x1_pixel_element(self):
+ self.driver.get(self.webserver.where_is("element_state/res/1x1-pixels.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertTrue(el.is_displayed())
+
+ def test_zero_sized_element_is_shown_if_decendant_has_size(self):
+ self.driver.get(self.webserver.where_is("element_state/res/zero-sized-element-with-sizable-decendant.html"))
+ parent = self.driver.find_element_by_css_selector("#parent")
+ child = self.driver.find_element_by_css_selector("#child")
+
+ self.assertTrue(parent.is_displayed())
+ self.assertTrue(child.is_displayed())
+
+ def test_input_type_hidden_is_never_visible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/input-type-hidden.html"))
+ input = self.driver.find_element_by_css_selector("input")
+ self.assertFalse(input.is_displayed())
+
+ def test_input_morphs_into_hidden(self):
+ self.driver.get(self.webserver.where_is("element_state/res/input-morphs-into-hidden.html"))
+ input = self.driver.find_element_by_css_selector("input")
+ self.assertFalse(input.is_displayed())
+
+ def test_parent_node_visible_when_all_children_are_absolutely_positioned_and_overflow_is_hidden(self):
+ pass
+
+ def test_parent_of_absolutely_positioned_elements_visible_where_ancestor_overflow_is_hidden(self):
+ """When a parent's ancestor hides any overflow, absolutely positioned child elements are
+ still visible. The parent container is also considered visible by webdriver for this
+ reason because it is interactable."""
+
+ self.driver.get(self.webserver.where_is("element_state/res/absolute-children-ancestor-hidden-overflow.html"))
+
+ children = self.driver.find_elements_by_css_selector(".child")
+ assert all(child.is_displayed() for child in children)
+
+ parent = self.driver.find_element_by_css_selector("#parent")
+ assert parent.is_displayed()
+
+ def test_element_hidden_by_overflow_x_is_not_visible(self):
+ # TODO(andreastt): This test should probably be split in three. Also it's making two
+ # assertions.
+ pages = ["element_state/res/x-hidden-y-hidden.html",
+ "element_state/res/x-hidden-y-scroll.html",
+ "element_state/res/x-hidden-y-auto.html"]
+
+ for page in pages:
+ self.driver.get(self.webserver.where_is(page))
+ right = self.driver.find_element_by_css_selector("#right")
+ bottom_right = self.driver.find_element_by_css_selector("#bottom-right")
+
+ self.assertFalse(right.is_displayed())
+ self.assertFalse(bottom_right.is_displayed())
+
+ def test_element_hidden_by_overflow_y_is_not_visible(self):
+ # TODO(andreastt): This test should probably be split in three. Also it's making two
+ # assertions.
+ pages = ["element_state/res/x-hidden-y-hidden.html",
+ "element_state/res/x-scroll-y-hidden.html",
+ "element_state/res/x-auto-y-hidden.html"]
+
+ for page in pages:
+ self.driver.get(self.webserver.where_is(page))
+ bottom = self.driver.find_element_by_css_selector("#bottom")
+ bottom_right = self.driver.find_element_by_css_selector("#bottom-right")
+
+ self.assertFalse(bottom.is_displayed())
+ self.assertFalse(bottom_right.is_displayed())
+
+ def test_parent_node_visible_when_all_children_are_absolutely_position_and_overflow_is_hidden(self):
+ pass
+
+ def test_element_scrollable_by_overflow_x_is_visible(self):
+ pass
+
+ def test_element_scrollable_by_overflow_y_is_visible(self):
+ pass
+
+ def test_element_scrollable_by_overflow_x_and_y_is_visible(self):
+ pass
+
+ def test_element_scrollable_by_overflow_y_is_visible(self):
+ pass
+
+ def test_element_outside_viewport(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-outside-viewport.html"))
+ hidden = self.driver.find_element_by_css_selector("div")
+ self.assertFalse(hidden.is_displayed())
+
+ def test_element_dynamically_moved_outside_viewport(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-dynamically-moved-outside-viewport.html"))
+ hidden = self.driver.find_element_by_css_selector("div")
+ self.assertFalse(hidden.is_displayed())
+
+ def test_element_hidden_by_other_element(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-hidden-by-other-element.html"))
+ overlay = self.driver.find_element_by_css_selector("#overlay")
+ hidden = self.driver.find_element_by_css_selector("#hidden")
+
+ self.assertTrue(overlay.is_displayed())
+ self.assertFalse(hidden.is_displayed())
+
+ def test_element_partially_hidden_by_other_element(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-partially-hidden-by-other-element.html"))
+ partial = self.driver.find_element_by_css_selector("#partial")
+ self.assertTrue(partial.is_displayed())
+
+ def test_element_hidden_by_z_index(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-hidden-by-z-index.html"))
+ overlay = self.driver.find_element_by_css_selector("#overlay")
+ hidden = self.driver.find_element_by_css_selector("#hidden")
+
+ self.assertTrue(overlay.is_displayed())
+ self.assertFalse(hidden.is_displayed())
+
+ def test_element_moved_outside_viewport_by_transform(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-moved-outside-viewport-by-transform.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertFalse(el.is_displayed())
+
+ def test_element_moved_behind_other_element_by_transform(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-moved-behind-other-element-by-transform.html"))
+ overlay = self.driver.find_element_by_css_selector("#overlay")
+ hidden = self.driver.find_element_by_css_selector("#hidden")
+
+ self.assertTrue(overlay.is_displayed())
+ self.assertFalse(hidden.is_displayed())
+
+ def test_text_with_same_color_as_background(self):
+ self.driver.get(self.webserver.where_is("element_state/res/text-with-same-color-as-background.html"))
+ p = self.driver.find_element_by_css_selector("p")
+ self.assertFalse(p.is_displayed())
+
+ def test_text_with_same_color_as_parent_background(self):
+ self.driver.get(self.webserver.where_is("element_state/res/text-with-same-color-as-parent-background.html"))
+ p = self.driver.find_element_by_css_selector("p")
+ self.assertFalse(p.is_displayed())
+
+ def test_text_with_matching_color_and_background(self):
+ self.driver.get(self.webserver.where_is("element_state/res/text-with-matching-color-and-background.html"))
+ p = self.driver.find_element_by_css_selector("p")
+ self.assertTrue(p.is_displayed())
+
+ def test_element_with_same_color_as_background(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-same-color-as-background.html"))
+ el = self.driver.find_element_by_css_selector("div")
+ self.assertFalse(el.is_displayed())
+
+ def test_element_with_same_color_as_parent_background(self):
+ self.driver.get(self.webserver.where_is("element_state/res/element-with-same-color-as-parent-background.html"))
+ hidden = self.driver.find_element_by_css_selector("#hidden")
+ self.assertFalse(hidden.is_displayed())
+
+
+class BodyElementIsAlwaysDisplayedTest(base_test.WebDriverBaseTest):
+ def assert_body_is_displayed_on(self, page):
+ self.driver.get(self.webserver.where_is(page))
+ body = self.driver.find_element_by_css_selector("body")
+ assert body.is_displayed()
+
+ def test_implicit(self):
+ self.assert_body_is_displayed_on("element_state/res/body_implicit.html")
+
+ def test_empty(self):
+ self.assert_body_is_displayed_on("element_state/res/body_empty.html")
+
+ def test_visibility_hidden(self):
+ self.assert_body_is_displayed_on("element_state/res/body_visibility_hidden.html")
+
+ def test_overflow_hidden(self):
+ self.assert_body_is_displayed_on("element_state/res/body_overflow_hidden.html")
+
+
+class DisplayTest(base_test.WebDriverBaseTest):
+ def test_display_block(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-block.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertTrue(el.is_displayed())
+
+ def test_display_none(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertFalse(el.is_displayed())
+
+ def test_display_none_hides_child_node(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-child.html"))
+ parent = self.driver.find_element_by_css_selector("#parent")
+ child = self.driver.find_element_by_css_selector("#child")
+
+ self.assertFalse(parent.is_displayed())
+ self.assertFalse(child.is_displayed())
+
+ def test_display_none_hides_child_node_link(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-child-link.html"))
+ child = self.driver.find_element_by_css_selector("#child")
+ self.assertFalse(child.is_displayed())
+
+ def test_display_none_hides_child_node_paragraph(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-child-paragraph.html"))
+ child = self.driver.find_element_by_css_selector("#child")
+ self.assertFalse(child.is_displayed())
+
+ def test_display_none_on_parent_takes_presedence(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-parent-presedence.html"))
+ child = self.driver.find_element_by_css_selector("#child")
+ self.assertFalse(child.is_displayed())
+
+ def test_display_none_on_parent_takes_presedence_over_visibility_visible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-parent-presedence-visibility.html"))
+ child = self.driver.find_element_by_css_selector("#child")
+ self.assertFalse(child.is_displayed())
+
+ def test_display_none_hidden_dynamically(self):
+ self.driver.get(self.webserver.where_is("element_state/res/display-none-dynamic.html"))
+ hidden = self.driver.find_element_by_css_selector("#hidden")
+ self.assertFalse(hidden.is_displayed())
+
+
+class VisibilityTest(base_test.WebDriverBaseTest):
+ def test_element_state_hidden(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-hidden.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertFalse(el.is_displayed())
+
+ def test_element_state_visible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-visible.html"))
+ el = self.driver.find_element_by_css_selector("p")
+ self.assertTrue(el.is_displayed())
+
+ def test_visibility_hidden_hides_child_node(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-child.html"))
+ parent = self.driver.find_element_by_css_selector("#parent")
+ child = self.driver.find_element_by_css_selector("#child")
+
+ self.assertFalse(parent.is_displayed())
+ self.assertFalse(child.is_displayed())
+
+ def test_visibility_hidden_hides_child_node_link(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-child-link.html"))
+ parent = self.driver.find_element_by_css_selector("#parent")
+ child = self.driver.find_element_by_css_selector("#child")
+
+ self.assertFalse(parent.is_displayed())
+ self.assertFalse(child.is_displayed())
+
+ def test_visibility_hidden_hides_child_node_paragraph(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-child-paragraph.html"))
+ parent = self.driver.find_element_by_css_selector("#parent")
+ child = self.driver.find_element_by_css_selector("#child")
+
+ self.assertFalse(parent.is_displayed())
+ self.assertFalse(child.is_displayed())
+
+ def test_visibility_hidden_on_child_takes_precedence(self):
+ self.driver.get(self.webserver.where_is("element_state/res/visibility-child-presedence.html"))
+ child = self.driver.find_element_by_css_selector("#child")
+ self.assertTrue(child.is_displayed())
+
+ def test_visibility_hidden_on_parent_takes_precedence_over_display_block(self):
+ pass
+
+ def test_visibility_hidden_set_dynamically(self):
+ pass
+
+ def test_should_show_element_not_visible_with_hidden_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/hidden.html"))
+ singleHidden = self.driver.find_element_by_css_selector('#singleHidden')
+ self.assertFalse(singleHidden.is_displayed())
+
+ def test_should_show_element_not_visible_when_parent_element_has_hidden_attribute(self):
+ self.driver.get(self.webserver.where_is("element_state/res/hidden.html"))
+ child = self.driver.find_element_by_css_selector('#child')
+ self.assertFalse(child.is_displayed())
+
+
+class VisibilityInteractionTest(base_test.WebDriverBaseTest):
+ def test_input_hidden_is_unclickable(self):
+ self.driver.get(self.webserver.where_is("element_state/res/input-type-hidden-unclickable.html"))
+ input = self.driver.find_element_by_css_selector("input")
+
+ with self.assertRaises(exceptions.ElementNotVisibleException):
+ input.click()
+
+ def test_hidden_input_checkbox_is_untogglable(self):
+ self.driver.get(self.webserver.where_is("element_state/res/hidden-input-type-checkbox-untogglable.html"))
+ checkbox = self.driver.find_element_by_css_selector("input")
+
+ with self.assertRaises(exceptions.ElementNotVisibleException):
+ checkbox.click()
+
+ def test_typing_in_hidden_input_is_impossible(self):
+ self.driver.get(self.webserver.where_is("element_state/res/hidden-input-type-text-writing.html"))
+ textfield = self.driver.find_element_by_css_selector("input")
+
+ with self.assertRaises(exceptions.ElementNotVisibleException):
+ textfield.send_keys("Koha is a popular Indian cheese")
+
+
+class OpacityTest(base_test.WebDriverBaseTest):
+ pass
+
+
+if __name__ == "__main__":
+ unittest.main()
--
cgit v1.2.3