Add more WebElementWrapper tests
This commit is contained in:
parent
d357ccf403
commit
a0ae96d43e
@ -453,15 +453,39 @@ class TestWebElementWrapper:
|
|||||||
elem._elem.findFirst.return_value = nullelem._elem
|
elem._elem.findFirst.return_value = nullelem._elem
|
||||||
assert elem.find_first('foo') is None
|
assert elem.find_first('foo') is None
|
||||||
|
|
||||||
def test_text(self, elem):
|
@pytest.mark.parametrize('use_js, editable, expected', [
|
||||||
raise Exception
|
(True, 'false', 'js'),
|
||||||
|
(True, 'true', 'nojs'),
|
||||||
|
(False, 'false', 'nojs'),
|
||||||
|
(False, 'true', 'nojs'),
|
||||||
|
])
|
||||||
|
def test_text(self, use_js, editable, expected):
|
||||||
|
elem = get_webelem(attributes={'contenteditable': editable})
|
||||||
|
elem._elem.toPlainText.return_value = 'nojs'
|
||||||
|
elem._elem.evaluateJavaScript.return_value = 'js'
|
||||||
|
assert elem.text(use_js=use_js) == expected
|
||||||
|
|
||||||
def test_set_text(self, elem):
|
@pytest.mark.parametrize('use_js, editable, text, uses_js, arg', [
|
||||||
raise Exception
|
(True, 'false', 'foo', True, "this.value='foo'"),
|
||||||
|
(True, 'false', "foo'bar", True, r"this.value='foo\'bar'"),
|
||||||
def test_run_js_async(self, elem):
|
(True, 'true', 'foo', False, 'foo'),
|
||||||
raise Exception
|
(False, 'false', 'foo', False, 'foo'),
|
||||||
|
(False, 'true', 'foo', False, 'foo'),
|
||||||
|
])
|
||||||
|
def test_set_text(self, use_js, editable, text, uses_js, arg):
|
||||||
|
elem = get_webelem(attributes={'contenteditable': editable})
|
||||||
|
elem.set_text(text, use_js=use_js)
|
||||||
|
attr = 'evaluateJavaScript' if uses_js else 'setPlainText'
|
||||||
|
called_mock = getattr(elem._elem, attr)
|
||||||
|
called_mock.assert_called_with(arg)
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('with_cb', [True, False])
|
||||||
|
def test_run_js_async(self, elem, with_cb):
|
||||||
|
cb = mock.Mock(spec={}) if with_cb else None
|
||||||
|
elem._elem.evaluateJavaScript.return_value = 42
|
||||||
|
elem.run_js_async('the_answer();', cb)
|
||||||
|
if with_cb:
|
||||||
|
cb.assert_called_with(42)
|
||||||
|
|
||||||
|
|
||||||
class TestRemoveBlankTarget:
|
class TestRemoveBlankTarget:
|
||||||
|
Loading…
Reference in New Issue
Block a user