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 --- ...ser_webconsole_bug_594497_history_arrow_keys.js | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 devtools/client/webconsole/test/browser_webconsole_bug_594497_history_arrow_keys.js (limited to 'devtools/client/webconsole/test/browser_webconsole_bug_594497_history_arrow_keys.js') diff --git a/devtools/client/webconsole/test/browser_webconsole_bug_594497_history_arrow_keys.js b/devtools/client/webconsole/test/browser_webconsole_bug_594497_history_arrow_keys.js new file mode 100644 index 000000000..514f875c0 --- /dev/null +++ b/devtools/client/webconsole/test/browser_webconsole_bug_594497_history_arrow_keys.js @@ -0,0 +1,155 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +var jsterm, inputNode, values; + +var TEST_URI = "data:text/html;charset=utf-8,Web Console test for " + + "bug 594497 and bug 619598"; + +add_task(function* () { + yield loadTab(TEST_URI); + + let hud = yield openConsole(); + + setup(hud); + performTests(); + + jsterm = inputNode = values = null; +}); + +function setup(HUD) { + jsterm = HUD.jsterm; + inputNode = jsterm.inputNode; + + jsterm.focus(); + + ok(!jsterm.getInputValue(), "jsterm.getInputValue() is empty"); + + values = ["document", "window", "document.body"]; + values.push(values.join(";\n"), "document.location"); + + // Execute each of the values; + for (let i = 0; i < values.length; i++) { + jsterm.setInputValue(values[i]); + jsterm.execute(); + } +} + +function performTests() { + EventUtils.synthesizeKey("VK_UP", {}); + + + is(jsterm.getInputValue(), values[4], + "VK_UP: jsterm.getInputValue() #4 is correct"); + + ok(inputNode.selectionStart == values[4].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[3], + "VK_UP: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart == values[3].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + inputNode.setSelectionRange(values[3].length - 2, values[3].length - 2); + + EventUtils.synthesizeKey("VK_UP", {}); + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[3], + "VK_UP two times: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart == jsterm.getInputValue().indexOf("\n") && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[3], + "VK_UP again: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart == 0 && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[2], + "VK_UP: jsterm.getInputValue() #2 is correct"); + + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[1], + "VK_UP: jsterm.getInputValue() #1 is correct"); + + EventUtils.synthesizeKey("VK_UP", {}); + + is(jsterm.getInputValue(), values[0], + "VK_UP: jsterm.getInputValue() #0 is correct"); + + ok(inputNode.selectionStart == values[0].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[1], + "VK_DOWN: jsterm.getInputValue() #1 is correct"); + + ok(inputNode.selectionStart == values[1].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[2], + "VK_DOWN: jsterm.getInputValue() #2 is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[3], + "VK_DOWN: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart == values[3].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + inputNode.setSelectionRange(2, 2); + + EventUtils.synthesizeKey("VK_DOWN", {}); + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[3], + "VK_DOWN two times: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart > jsterm.getInputValue().lastIndexOf("\n") && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[3], + "VK_DOWN again: jsterm.getInputValue() #3 is correct"); + + ok(inputNode.selectionStart == values[3].length && + inputNode.selectionStart == inputNode.selectionEnd, + "caret location is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + is(jsterm.getInputValue(), values[4], + "VK_DOWN: jsterm.getInputValue() #4 is correct"); + + EventUtils.synthesizeKey("VK_DOWN", {}); + + ok(!jsterm.getInputValue(), + "VK_DOWN: jsterm.getInputValue() is empty"); +} -- cgit v1.2.3