diff options
Diffstat (limited to 'devtools/client/sourceeditor/test/browser_editor_cursor.js')
-rw-r--r-- | devtools/client/sourceeditor/test/browser_editor_cursor.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/devtools/client/sourceeditor/test/browser_editor_cursor.js b/devtools/client/sourceeditor/test/browser_editor_cursor.js new file mode 100644 index 000000000..236b3d152 --- /dev/null +++ b/devtools/client/sourceeditor/test/browser_editor_cursor.js @@ -0,0 +1,44 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +function test() { + waitForExplicitFinish(); + setup((ed, win) => { + ch(ed.getCursor(), { line: 0, ch: 0 }, "default cursor position is ok"); + ed.setText("Hello.\nHow are you?"); + + ed.setCursor({ line: 1, ch: 5 }); + ch(ed.getCursor(), { line: 1, ch: 5 }, "setCursor({ line, ch })"); + + ch(ed.getPosition(7), { line: 1, ch: 0}, "getPosition(num)"); + ch(ed.getPosition(7, 1)[0], { line: 1, ch: 0}, "getPosition(num, num)[0]"); + ch(ed.getPosition(7, 1)[1], { line: 0, ch: 1}, "getPosition(num, num)[1]"); + + ch(ed.getOffset({ line: 1, ch: 0 }), 7, "getOffset(num)"); + ch(ed.getOffset({ line: 1, ch: 0 }, { line: 0, ch: 1 })[0], 7, + "getOffset(num, num)[0]"); + ch(ed.getOffset({ line: 1, ch: 0 }, { line: 0, ch: 1 })[0], 2, + "getOffset(num, num)[1]"); + + is(ed.getSelection(), "", "nothing is selected"); + ed.setSelection({ line: 0, ch: 0 }, { line: 0, ch: 5 }); + is(ed.getSelection(), "Hello", "setSelection"); + + ed.dropSelection(); + is(ed.getSelection(), "", "dropSelection"); + + // Check that shift-click on a gutter selects the whole line (bug 919707) + let iframe = win.document.querySelector("iframe"); + let gutter = + iframe.contentWindow.document.querySelector(".CodeMirror-gutters"); + + EventUtils.sendMouseEvent({ type: "mousedown", shiftKey: true }, gutter, + iframe.contentWindow); + is(ed.getSelection(), "Hello.", "shift-click"); + + teardown(ed, win); + }); +} |