Skip to content

Commit

Permalink
WebDriver conformance tests for element clear command
Browse files Browse the repository at this point in the history
Signed-off-by: AutomatedTester <dburns@mozilla.com>
  • Loading branch information
jimevans authored and AutomatedTester committed Mar 24, 2014
1 parent e1d5867 commit 887f874
Show file tree
Hide file tree
Showing 8 changed files with 138 additions and 0 deletions.
53 changes: 53 additions & 0 deletions webdriver/user_input/clear_test.py
@@ -0,0 +1,53 @@
# -*- mode: python; fill-column: 100; comment-column: 100; -*-

import os
import sys
import unittest

from selenium.common.exceptions import InvalidElementStateException

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
import base_test


class ElementClearTest(base_test.WebDriverBaseTest):
def test_writable_text_input_element_should_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_writable_input_page.html"))
e = self.driver.find_element_by_id("writableTextInput")
e.clear()
self.assertEquals("", e.get_attribute("value"))

def test_disabled_text_input_element_should_not_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_disabled_input_page.html"))
e = self.driver.find_element_by_id("disabledTextInput")
self.assertRaises(InvalidElementStateException, lambda: e.clear())

def test_read_only_text_input_element_should_not_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_readonly_input_page.html"))
e = self.driver.find_element_by_id("readOnlyTextInput")
self.assertRaises(InvalidElementStateException, lambda: e.clear())

def test_writable_text_area_element_should_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_writable_textarea_page.html"))
e = self.driver.find_element_by_id("writableTextArea")
e.clear()
self.assertEquals("", e.get_attribute("value"))

def test_disabled_text_area_element_should_not_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_disabled_textarea_page.html"))
e = self.driver.find_element_by_id("disabledTextArea")
self.assertRaises(InvalidElementStateException, lambda: e.clear())

def test_read_only_text_input_element_should_not_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_readonly_textarea_page.html"))
e = self.driver.find_element_by_id("readOnlyTextArea")
self.assertRaises(InvalidElementStateException, lambda: e.clear())

def test_content_editable_area_should_clear(self):
self.driver.get(self.webserver.where_is("user_input/res/element_clear_contenteditable_page.html"))
e = self.driver.find_element_by_id("contentEditableElement")
e.clear()
self.assertEquals("", e.text)

if __name__ == "__main__":
unittest.main()
13 changes: 13 additions & 0 deletions webdriver/user_input/res/element_clear_contenteditable_page.html
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<div id="contentEditableElement" contentEditable="true">
This is a contentEditable area
</div>
</body>
</html>

11 changes: 11 additions & 0 deletions webdriver/user_input/res/element_clear_disabled_input_page.html
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<input id="disabledTextInput" type="text" disabled="true" value="Test"/>
</body>
</html>

13 changes: 13 additions & 0 deletions webdriver/user_input/res/element_clear_disabled_textarea_page.html
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<textarea rows="5" id="disabledTextArea" disabled="true" cols="20">
text area which is not supposed to be cleared
</textarea>
</body>
</html>

11 changes: 11 additions & 0 deletions webdriver/user_input/res/element_clear_readonly_input_page.html
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<input id="readOnlyTextInput" type="text" readonly value="Test"/>
</body>
</html>

13 changes: 13 additions & 0 deletions webdriver/user_input/res/element_clear_readonly_textarea_page.html
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<textarea id="readOnlyTextArea" readonly rows="5" cols="20">
text area which is not supposed to be cleared
</textarea>
</body>
</html>

11 changes: 11 additions & 0 deletions webdriver/user_input/res/element_clear_writable_input_page.html
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<input id="writableTextInput" type="text" value="Test"/>
</body>
</html>

13 changes: 13 additions & 0 deletions webdriver/user_input/res/element_clear_writable_textarea_page.html
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>Clear Elements Test</title>
<meta charset=utf-8>
</head>
<body>
<textarea id="writableTextArea" rows="2" cols="20">
This is a sample text area which is supposed to be cleared
</textarea>
</body>
</html>

0 comments on commit 887f874

Please sign in to comment.