diff options
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r-- | test/simpleTests.py | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py index 5383911ee..289359475 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -191,6 +191,12 @@ class TestSimple(unittest.TestCase): self.assertEquals(self.ed.Length, 1) self.assertEquals(data, self.ed.ByteRange(0,1)) + def testNewLine(self): + self.ed.SetContents(b"12") + self.ed.SetSel(1, 1) + self.ed.NewLine() + self.assertEquals(self.ed.Contents(), b"1\r\n2") + def testUndoRedo(self): data = b"xy" self.assertEquals(self.ed.Modify, 0) @@ -580,12 +586,81 @@ class TestSimple(unittest.TestCase): self.ed.SelectionDuplicate() self.assertEquals(self.ed.Contents(), b"1bb2") + def testLineDuplicate(self): + self.ed.SetContents(b"1\r\nb\r\n2") + self.ed.SetSel(3, 3) + # Duplicates the second line containing 'b' + self.ed.LineDuplicate() + self.assertEquals(self.ed.Contents(), b"1\r\nb\r\nb\r\n2") + + def testLineDuplicateDifferentLineEnd(self): + self.ed.SetContents(b"1\nb\n2") + self.ed.SetSel(3, 3) + # Duplicates the second line containing 'b' + self.ed.LineDuplicate() + # Same as above but end of duplicated line is \r\n + self.assertEquals(self.ed.Contents(), b"1\nb\r\nb\n2") + def testTransposeLines(self): self.ed.AddText(8, b"a1\nb2\nc3") self.ed.SetSel(3,3) self.ed.LineTranspose() self.assertEquals(self.ed.Contents(), b"b2\na1\nc3") + def testMoveSelectedLines(self): + lineEndType = self.ed.EOLMode + self.ed.EOLMode = self.ed.SC_EOL_LF + + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(3, 6) + self.ed.MoveSelectedLinesDown() + self.assertEquals(self.ed.Contents(), b"a1\nc3\nb2") + + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(3, 6) + self.ed.MoveSelectedLinesUp() + self.assertEquals(self.ed.Contents(), b"b2\na1\nc3") + + # Exercise the 'appendEol' case as the last line has no EOL characters to copy + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(4, 7) + self.ed.MoveSelectedLinesUp() + self.assertEquals(self.ed.Contents(), b"b2\nc3\na1") + + # Testing extreme lines + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(6, 7) + self.ed.MoveSelectedLinesDown() + # No change as moving last line down + self.assertEquals(self.ed.Contents(), b"a1\nb2\nc3") + + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(1, 2) + self.ed.MoveSelectedLinesUp() + # No change as moving first line up + self.assertEquals(self.ed.Contents(), b"a1\nb2\nc3") + + # Moving line to end with different line end uses that line end + self.ed.EOLMode = self.ed.SC_EOL_CRLF + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(3, 6) + self.ed.MoveSelectedLinesDown() + self.assertEquals(self.ed.Contents(), b"a1\nc3\r\nb2") + + # Exercise 'appendEol' + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(4, 7) + self.ed.MoveSelectedLinesUp() + self.assertEquals(self.ed.Contents(), b"b2\nc3\r\na1") + + self.ed.SetContents(b"a1\nb2\nc3") + self.ed.SetSel(1, 2) + self.ed.MoveSelectedLinesDown() + self.assertEquals(self.ed.Contents(), b"b2\na1\nc3") + + # Restore line end + self.ed.EOLMode = lineEndType + def testGetSet(self): self.ed.SetContents(b"abc") self.assertEquals(self.ed.TextLength, 3) |