summaryrefslogtreecommitdiffstats
path: root/tests/mark/mark.qs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mark/mark.qs')
-rw-r--r--tests/mark/mark.qs61
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/mark/mark.qs b/tests/mark/mark.qs
new file mode 100644
index 0000000..1c2521a
--- /dev/null
+++ b/tests/mark/mark.qs
@@ -0,0 +1,61 @@
+include("../test.js")
+
+markMove()
+markStays()
+markMoveOnPrevChar()
+markStaysOnNextChar()
+
+function findYay(editor) {
+ editor.gotoLine(1,0)
+ editor.find("yay")
+}
+
+function markMove() {
+ var editor = editors.openFile("test.cpp")
+ findYay(editor)
+ var mark = editor.createMark()
+ editor.gotoLine(1,0)
+ editor.insert("Hello World\n")
+ findYay(editor)
+ comparePositions(editor.position(),mark, "ensure mark moves on new lines")
+ editor.close()
+}
+
+function markStays() {
+ var editor = editors.openFile("test.cpp")
+ findYay(editor)
+ var mark = editor.createMark()
+ editor.gotoLineEnd()
+ editor.insert("Hello world")
+ findYay(editor)
+ comparePositions(editor.position(),mark, "ensure mark stays when inserting after the mark")
+ editor.close()
+}
+
+function markMoveOnPrevChar() {
+ var editor = editors.openFile("test.cpp")
+ findYay(editor)
+ var mark = editor.createMark()
+ var pos = editor.position()
+ editor.gotoPreviousCharacter(3)
+ editor.insert("WOW")
+ findYay(editor)
+ comparePositions(editor.position(),mark, "ensure mark moves on insert at prev character")
+ compare(mark.line,pos.line)
+ compare(mark.column, pos.column+3)
+ editor.close()
+}
+
+function markStaysOnNextChar() {
+ var editor = editors.openFile("test.cpp")
+ findYay(editor)
+ var mark = editor.createMark()
+ var pos = editor.position()
+ editor.insert("WOW")
+ findYay(editor)
+ comparePositions(editor.position(),mark, "ensure mark stays the same when inserting after point")
+ compare(mark.line,pos.line)
+ compare(mark.column, pos.column)
+ editor.close()
+
+}