def testDeleteLine2(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(doc.lineText(1), 'hello\n') self.assertEqual(doc.lineText(2), 'how are you?\n') self.assertEqual(doc.numLines(), 2) self.assertFalse(doc.isModified()) self.assertRaises(IndexError, lambda : doc.deleteLine(5)) self.assertEqual(doc.lineText(1), 'hello\n') self.assertEqual(doc.lineText(2), 'how are you?\n') self.assertEqual(doc.numLines(), 2) self.assertFalse(doc.isModified()) doc.deleteLine(2) self.assertEqual(doc.lineText(1), 'hello\n') self.assertEqual(doc.numLines(), 1) self.assertFalse(doc.isEmpty()) self.assertTrue(doc.isModified()) doc.deleteLine(1) self.assertEqual(doc.lineText(1), '\n') self.assertEqual(doc.numLines(), 1) self.assertTrue(doc.isEmpty()) self.assertTrue(doc.isModified())
def testDeleteChars(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertRaises(ValueError, lambda : doc.deleteChars((1,3), -1)) d = doc.deleteChars( (1,3), 1) self.assertEqual(doc.lineText(1), 'helo\n') self.assertEqual(d[0], 'l') d = doc.deleteChars( (1,2), 100) self.assertEqual(doc.lineText(1), 'h\n') self.assertEqual(d[0], 'elo') d = doc.deleteChars( (1,2), 100) self.assertEqual(doc.lineText(1), 'h\n') self.assertEqual(d[0], '') d = doc.deleteChars( (1,1), 100) self.assertEqual(doc.lineText(1), '\n') self.assertEqual(d[0], 'h') d = doc.deleteChars( (1,1), 100) self.assertEqual(doc.lineText(1), '\n') self.assertEqual(d[0], '')
def testUpdateCharMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateCharMeta( (1, 3), { "foo" : ["a", "a"], "bar" : ['b', None, 'b'], } )
def testDeleteDocumentMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateDocumentMeta({"Hello": 5}) self.assertEqual(doc.documentMeta()["Hello"], 5) doc.deleteDocumentMeta("Hello") self.assertNotIn("Hello", doc.documentMeta())
def testJoinWithNextLine2(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.joinWithNextLine(2) self.assertEqual(doc.lineText(1), 'hello\n') self.assertEqual(doc.lineText(2), 'how are you?\n') self.assertEqual(doc.numLines(), 2) self.assertFalse(doc.isModified())
def testUpdateLineMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateLineMeta(1, {"hello": 5}) self.assertEqual(type(doc.lineMeta(1)), dict) self.assertEqual(doc.lineMeta(1)["hello"], 5) self.assertRaises(IndexError, lambda : doc.updateLineMeta(20, {}))
def testLastModified(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) last_modified = doc.lastModified() self.assertEqual(doc.lastModified(), last_modified) time.sleep(0.1) doc.insertLine(1,"") self.assertNotEqual(doc.lastModified(), last_modified)
def testInitFromEmptyFile(self): doc = TextDocument() doc.open(fixtures.get("empty_file.txt")) self.assertTrue(doc.isEmpty()) self.assertEqual(doc.filename(), fixtures.get("empty_file.txt")) self.assertFalse(doc.isModified()) self.assertEqual(doc.numLines(), 1) self.assertEqual(doc.documentText(), '\n')
def testInitFromNonEmptyFile(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertFalse(doc.isEmpty()) self.assertEqual(doc.filename(), fixtures.get("basic_nonempty_file.txt")) self.assertFalse(doc.isModified()) self.assertEqual(doc.numLines(), 2) self.assertEqual(doc.documentText(), 'hello\nhow are you?\n')
def testLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(doc.lineText(1), 'hello\n') self.assertEqual(doc.lineText(2), 'how are you?\n') self.assertRaises(IndexError, lambda : doc.lineText(-1)) self.assertRaises(IndexError, lambda : doc.lineText(0)) self.assertRaises(IndexError, lambda : doc.lineText(5))
def testLineLength(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(doc.lineLength(1), 6) self.assertEqual(doc.lineLength(2), 13) doc = TextDocument() doc.open(fixtures.get("empty_file.txt")) self.assertEqual(doc.lineLength(1), 1)
def testDeleteLineMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateLineMeta(1, {"hello": 5}) self.assertEqual(doc.lineMeta(1)["hello"], 5) doc.deleteLineMeta(1, ["hello"]) self.assertNotIn("hello", doc.lineMeta(1)) self.assertRaises(IndexError, lambda : doc.deleteLineMeta(20, "hello"))
def testReplaceChars(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.replaceChars( (1,3), 1, "hello") self.assertEqual(doc.lineText(1), 'hehellolo\n') doc.replaceChars( (1,1), 1, "c") self.assertEqual(doc.lineText(1), 'cehellolo\n')
def testInsertLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(doc.numLines(), 2) doc.insertLine(1,"babau") self.assertEqual(doc.numLines(), 3) self.assertRaises(IndexError, lambda : doc.insertLine(6,"say what again")) doc.insertLine(4,"say what again") self.assertEqual(doc.numLines(), 4)
def testSaveAs(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.saveAs("foo")
def testBreakLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.breakLine((1,3))
def testHasLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertTrue(doc.hasLine(1)) self.assertFalse(doc.hasLine(20))
def testDeleteLines(self): doc = TextDocument() doc.open(fixtures.get("bigfile.py")) doc.deleteLines(1,3)
def testInsertLines(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.insertLines(2, ['foo', 'bar']) self.assertEqual(doc.numLines(), 4)
def testReplaceLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.replaceLine(1, "babau")
def testWordAt(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(doc.wordAt((2,6)), ('are', 5))
def testNewLine(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.newLine(1)
def testDocumentMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(type(doc.documentMeta()), dict)
def testInsertChars(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.insertChars( (1,3), "babau")
def testCharMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateCharMeta((1,1), {"Hello": [1]}) self.assertEqual(len(doc.charMeta((1,1))["Hello"]), len(doc.lineText(1))) self.assertEqual(doc.charMeta((1,1))["Hello"], [1, None, None, None, None, None])
def testDeleteCharMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.deleteCharMeta( (1, 3), 2, ['foo', 'bar'])
def testUpdateDocumentMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.updateDocumentMeta({"Hello": 5}) self.assertEqual(type(doc.documentMeta()), dict) self.assertEqual(doc.documentMeta()["Hello"], 5)
def createCursor(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) doc.createCursor()
def testLineMeta(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) self.assertEqual(type(doc.lineMeta(1)), dict) self.assertRaises(IndexError, lambda : doc.lineMeta(20))
def registerCursor(self): doc = TextDocument() doc.open(fixtures.get("basic_nonempty_file.txt")) cursor = TextDocumentCursor(doc)