Skip to content

Commit d83d584

Browse files
committed
Merge branch 'master' of github.com:akahuku/wasavi
2 parents e4e87da + fdc87b8 commit d83d584

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

src/wd-tests/src/UndoTest.java

+62
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,68 @@ public void abbreviate () {
579579
Wasavi.send("\u0012");
580580
assertValue("#1-3", "FOO\nBAR bar");
581581
}
582+
583+
@Test
584+
public void withCount () {
585+
Wasavi.send("afoo \u001b");
586+
Wasavi.send("abar \u001b");
587+
Wasavi.send("abaz \u001b");
588+
589+
Wasavi.send("2u");
590+
assertValue("#1-1", "foo ");
591+
assertEquals("#1-2", "2 operations have reverted.", Wasavi.getLastMessage());
592+
593+
Wasavi.send("2\u0012");
594+
assertValue("#2-1", "foo bar baz ");
595+
assertEquals("#2-2", "2 operations have executed again.", Wasavi.getLastMessage());
596+
597+
Wasavi.send("100u");
598+
assertValue("#3-1", "");
599+
assertEquals("#3-2", "3 operations have reverted.", Wasavi.getLastMessage());
600+
601+
Wasavi.send("100\u0012");
602+
assertValue("#4-1", "foo bar baz ");
603+
assertEquals("#4-2", "3 operations have executed again.", Wasavi.getLastMessage());
604+
}
605+
606+
@Test
607+
public void flippingUndo () {
608+
Wasavi.send(":set undolevels=0\n");
609+
Wasavi.send("afoo bar baz\u001b");
610+
611+
Wasavi.send("u");
612+
assertValue("#1-1", "");
613+
614+
Wasavi.send("u");
615+
assertValue("#2-1", "foo bar baz");
616+
617+
// in flipping undo mode, count must be ignored
618+
Wasavi.send("100u");
619+
assertValue("#1-1", "");
620+
621+
Wasavi.send("100u");
622+
assertValue("#2-1", "foo bar baz");
623+
}
624+
625+
@Test
626+
public void flippingRedo () {
627+
Wasavi.send(":set undolevels=0\n");
628+
Wasavi.send("afoo \u001b");
629+
Wasavi.send("abar \u001b");
630+
Wasavi.send("abaz \u001b");
631+
632+
Wasavi.send("u");
633+
assertValue("#1-1", "foo bar ");
634+
Wasavi.send("\u0012");
635+
assertValue("#1-2", "foo bar ");
636+
assertEquals("#1-3", "No undo item.", Wasavi.getLastMessage());
637+
638+
Wasavi.send("u");
639+
assertValue("#2-1", "foo bar baz ");
640+
Wasavi.send("\u0012");
641+
assertValue("#2-2", "foo bar baz ");
642+
assertEquals("#2-3", "No redo item.", Wasavi.getLastMessage());
643+
}
582644
}
583645

584646
/* vim:set ts=4 sw=4 fileencoding=UTF-8 fileformat=unix filetype=java : */

0 commit comments

Comments
 (0)