@Test public void testDeleteByCountWithRange() { /* * if both range and count are specified, first range should be discarded: * * 1 1 * 2 first 2 first * 3 3 * 4 second -- :2,4d2 --> 6 * 5 7 * 6 * 7 * * or in other words, :2,4d2 == 4,5d */ Wasavi.send("i1\n2\n3\n4\n5\n6\n7\u001b"); Wasavi.send(":2, 4d2\n"); assertValue("#1-1", "1\n2\n3\n6\n7"); assertPos("#1-2", 3, 0); assertEquals("#1-3", "4\n5\n", Wasavi.getRegister("\"")); Wasavi.send("u"); assertValue("#2-1", "1\n2\n3\n4\n5\n6\n7"); Wasavi.send("\u0012"); assertValue("#3-1", "1\n2\n3\n6\n7"); }
@Test public void testExecuteRegister() { Wasavi.send("is/\\d/\tfoo\u0016\u001b\\n\u0016\u0009\u001b"); assertValue("#1-1", "s/\\d/\tfoo\u001b\\n\t"); Wasavi.send("\"ayy"); assertEquals("#1-2", "s/\\d/\tfoo\u001b\\n\t\n", Wasavi.getRegister("a")); Wasavi.send("u"); assertValue("#1-3", ""); assertPos("#1-4", 0, 0); Wasavi.send("i1\n2\n3\u001b"); Wasavi.send(":%@a\n"); assertValue("#2-1", "1\n2\n\tfoo\u001b\n\t"); }
@Test public void testDeleteByCount() { Wasavi.send("i1\n2\n3\n4\n5\u001b"); Wasavi.send(":2dele3\n"); assertValue("#1-1", "1\n5"); assertPos("#1-2", 1, 0); assertEquals("#1-3", "2\n3\n4\n", Wasavi.getRegister("\"")); Wasavi.send("u"); assertValue("#2-1", "1\n2\n3\n4\n5"); Wasavi.send("\u0012"); assertValue("#3-1", "1\n5"); }
@Test public void testDeleteTail() { Wasavi.send("i1\n2\n3\n4\n5\u001b"); Wasavi.send(":4,5delet a\n"); assertValue("#1-1", "1\n2\n3"); assertPos("#1-2", 2, 0); assertEquals("#1-3", "4\n5\n", Wasavi.getRegister("a")); Wasavi.send("u"); assertValue("#2-1", "1\n2\n3\n4\n5"); Wasavi.send("\u0012"); assertValue("#3-1", "1\n2\n3"); }
@Test public void testDeleteZeroSource() { Wasavi.send("i1\n2\n3\n4\n5\u001b"); Wasavi.send(":0,2delete\n"); assertValue("#1-1", "3\n4\n5"); assertPos("#1-2", 0, 0); assertEquals("#1-3", "1\n2\n", Wasavi.getRegister("\"")); Wasavi.send("u"); assertValue("#2-1", "1\n2\n3\n4\n5"); Wasavi.send("\u0012"); assertValue("#3-1", "3\n4\n5"); }
@Test public void testYank() { Wasavi.send(":set noai\n"); Wasavi.send("i\t1.\n2.\n3.\u001b"); Wasavi.send("1G", "$"); assertPos("#1-1", 0, 2); Wasavi.send(":yank\n"); assertEquals("#2-1", "\t1.\n", Wasavi.getRegister("\"")); assertPos("#2-2", 0, 2); Wasavi.send(":1,2yan a\n"); assertEquals("#3-1", "\t1.\n2.\n", Wasavi.getRegister("a")); assertPos("#3-2", 0, 2); Wasavi.send(":2,3yan *\n"); assertEquals("#4-1", "2.\n3.\n", Wasavi.getRegister("*")); assertEquals("#4-2", "2.\n3.\n", getClipboardText()); assertPos("#4-3", 0, 2); Wasavi.send(":ya10\n"); assertEquals("#5-1", "\t1.\n2.\n3.\n", Wasavi.getRegister("\"")); assertPos("#5-2", 0, 2); }