summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/browser/browser_quickfind_editable.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /toolkit/content/tests/browser/browser_quickfind_editable.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/content/tests/browser/browser_quickfind_editable.js')
-rw-r--r--toolkit/content/tests/browser/browser_quickfind_editable.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/toolkit/content/tests/browser/browser_quickfind_editable.js b/toolkit/content/tests/browser/browser_quickfind_editable.js
new file mode 100644
index 000000000..d4ab59744
--- /dev/null
+++ b/toolkit/content/tests/browser/browser_quickfind_editable.js
@@ -0,0 +1,47 @@
+const PAGE = "data:text/html,<div contenteditable>foo</div><input><textarea></textarea>";
+const DESIGNMODE_PAGE = "data:text/html,<body onload='document.designMode=\"on\";'>";
+const HOTKEYS = ["/", "'"];
+
+function* test_hotkeys(browser, expected) {
+ let findbar = gBrowser.getFindBar();
+ for (let key of HOTKEYS) {
+ is(findbar.hidden, true, "findbar is hidden");
+ yield BrowserTestUtils.sendChar(key, gBrowser.selectedBrowser);
+ is(findbar.hidden, expected, "findbar should" + (expected ? "" : " not") + " be hidden");
+ if (!expected) {
+ yield closeFindbarAndWait(findbar);
+ }
+ }
+}
+
+function* focus_element(browser, query) {
+ yield ContentTask.spawn(browser, query, function* focus(query) {
+ let element = content.document.querySelector(query);
+ element.focus();
+ });
+}
+
+add_task(function* test_hotkey_on_editable_element() {
+ yield BrowserTestUtils.withNewTab({
+ gBrowser,
+ url: PAGE
+ }, function* do_tests(browser) {
+ yield test_hotkeys(browser, false);
+ const ELEMENTS = ["div", "input", "textarea"];
+ for (let elem of ELEMENTS) {
+ yield focus_element(browser, elem);
+ yield test_hotkeys(browser, true);
+ yield focus_element(browser, ":root");
+ yield test_hotkeys(browser, false);
+ }
+ });
+});
+
+add_task(function* test_hotkey_on_designMode_document() {
+ yield BrowserTestUtils.withNewTab({
+ gBrowser,
+ url: DESIGNMODE_PAGE
+ }, function* do_tests(browser) {
+ yield test_hotkeys(browser, true);
+ });
+});