From e700d114471ea2034431be74f62f86ba14739b52 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 7 Sep 2016 11:29:26 +0200 Subject: [PATCH] Add check_vanished() in webkitelem.insert_text --- qutebrowser/browser/webkit/webkitelem.py | 1 + tests/unit/browser/webkit/test_webkitelem.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py index 89422fc5d..f8e98a04e 100644 --- a/qutebrowser/browser/webkit/webkitelem.py +++ b/qutebrowser/browser/webkit/webkitelem.py @@ -136,6 +136,7 @@ class WebKitElement(webelem.AbstractWebElement): self._elem.evaluateJavaScript("this.value='{}'".format(text)) def insert_text(self, text): + self._check_vanished() if not self.is_editable(strict=True): raise webelem.Error("Element is not editable!") log.misc.debug("Inserting text into element {!r}".format(self)) diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py index 347c0a9f3..ca9a7dd07 100644 --- a/tests/unit/browser/webkit/test_webkitelem.py +++ b/tests/unit/browser/webkit/test_webkitelem.py @@ -260,6 +260,7 @@ class TestWebKitElement: lambda e: e.style_property('visibility', strategy='computed'), lambda e: e.text(), lambda e: e.set_text('foo'), + lambda e: e.insert_text('foo'), lambda e: e.is_writable(), lambda e: e.is_content_editable(), lambda e: e.is_editable(), @@ -272,7 +273,7 @@ class TestWebKitElement: lambda e: e.is_visible(None), ], ids=['str', 'getitem', 'setitem', 'delitem', 'contains', 'iter', 'len', 'frame', 'geometry', 'style_property', 'text', 'set_text', - 'is_writable', 'is_content_editable', 'is_editable', + 'insert_text', 'is_writable', 'is_content_editable', 'is_editable', 'is_text_input', 'remove_blank_target', 'debug_text', 'outer_xml', 'tag_name', 'rect_on_view', 'is_visible']) def test_vanished(self, elem, code):