def testSameObject(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") self.assertEqual(doc.lineMetaInfo("whatever"), doc.lineMetaInfo("whatever")) self.assertNotEqual(doc.lineMetaInfo("whatever"), doc.lineMetaInfo("whatever2"))
def testSetDataForLines(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.insertLine(1, "hello") doc.insertLine(1, "hello") doc.insertLine(1, "hello") meta_info = doc.lineMetaInfo("whatever") meta_info.setDataForLines({2: "damn"}) self.assertEqual(meta_info.data(), [None, "damn", None, None])
def testSetDataForLines(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.insertLine(1, "hello") doc.insertLine(1, "hello") doc.insertLine(1, "hello") meta_info = doc.lineMetaInfo("whatever") meta_info.setDataForLines({2: "damn"}) self.assertEqual(meta_info.data(), [None, "damn", None, None])
def testBasic(self): doc = TextDocument() doc.createLineMetaInfo("whatever") meta_info = doc.lineMetaInfo("whatever") self.assertEqual(meta_info.document, doc) self.assertEqual(meta_info.meta_type, "whatever") self.assertEqual(meta_info.numLines(), 1) self.assertEqual(meta_info.data(1), None) meta_info.setData("hello",1) self.assertEqual(meta_info.data(1), "hello")
def testBasic(self): doc = TextDocument() doc.createLineMetaInfo("whatever") meta_info = doc.lineMetaInfo("whatever") self.assertEqual(meta_info.document, doc) self.assertEqual(meta_info.meta_type, "whatever") self.assertEqual(meta_info.numLines(), 1) self.assertEqual(meta_info.data(1), None) meta_info.setData("hello", 1) self.assertEqual(meta_info.data(1), "hello")
def testReplaceFromMemento(self): doc = TextDocument() with open(fixtures.get("basic_nonempty_file.txt"), "r") as f: doc.read(f) doc.createLineMetaInfo("whatever") initial_text = doc.documentText() meta_info1 = doc.lineMetaInfo("whatever") meta_info1.setData("hello", 1) memento = doc.lineMemento(1) doc.insertChars((1, 1), "gnakgnak") meta_info1.setData("byebye", 1) doc.replaceFromMemento(1, memento) self.assertEqual(doc.documentText(), initial_text) self.assertEqual(meta_info1.data(1), "hello")
def testReplaceFromMemento(self): doc = TextDocument() with open(fixtures.get("basic_nonempty_file.txt"), 'r') as f: doc.read(f) doc.createLineMetaInfo("whatever") initial_text = doc.documentText() meta_info1 = doc.lineMetaInfo("whatever") meta_info1.setData("hello", 1) memento = doc.lineMemento(1) doc.insertChars((1, 1), 'gnakgnak') meta_info1.setData("byebye", 1) doc.replaceFromMemento(1, memento) self.assertEqual(doc.documentText(), initial_text) self.assertEqual(meta_info1.data(1), "hello")
def testInsertFragment(self): doc = TextDocument() with open(fixtures.get("numbers.txt"), 'r') as f: doc.read(f) doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") fragment = doc.extractFragment(2) self.assertNotEqual(fragment.lineText(1), doc.lineText(15)) doc.insertFragment(15, fragment) self.assertEqual(fragment.lineText(1), doc.lineText(15)) fragment = doc.extractFragment(2, 4) self.assertNotEqual(fragment.lineText(1), doc.lineText(10)) doc.insertFragment(10, fragment) self.assertEqual(fragment.lineText(1), doc.lineText(10)) self.assertEqual(fragment.lineText(2), doc.lineText(11)) self.assertEqual(fragment.lineText(3), doc.lineText(12)) self.assertEqual(fragment.lineText(4), doc.lineText(13))
def testExtractFragment(self): doc = TextDocument() with open(fixtures.get("bigfile.py"), 'r') as f: doc.read(f) doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") fragment = doc.extractFragment(2) self.assertEqual(fragment.numLines(), 1) self.assertEqual(fragment.lineText(1), doc.lineText(2)) self.assertTrue(fragment.hasLineMetaInfo("whatever")) self.assertTrue(fragment.hasLineMetaInfo("whatever2")) fragment = doc.extractFragment(2, 3) self.assertEqual(fragment.numLines(), 3) self.assertEqual(fragment.lineText(1), doc.lineText(2)) self.assertEqual(fragment.lineText(2), doc.lineText(3)) self.assertEqual(fragment.lineText(3), doc.lineText(4)) self.assertTrue(fragment.hasLineMetaInfo("whatever")) self.assertTrue(fragment.hasLineMetaInfo("whatever2"))
def testInsertFragment(self): doc = TextDocument() with open(fixtures.get("numbers.txt"), "r") as f: doc.read(f) doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") fragment = doc.extractFragment(2) self.assertNotEqual(fragment.lineText(1), doc.lineText(15)) doc.insertFragment(15, fragment) self.assertEqual(fragment.lineText(1), doc.lineText(15)) fragment = doc.extractFragment(2, 4) self.assertNotEqual(fragment.lineText(1), doc.lineText(10)) doc.insertFragment(10, fragment) self.assertEqual(fragment.lineText(1), doc.lineText(10)) self.assertEqual(fragment.lineText(2), doc.lineText(11)) self.assertEqual(fragment.lineText(3), doc.lineText(12)) self.assertEqual(fragment.lineText(4), doc.lineText(13))
def testExtractFragment(self): doc = TextDocument() with open(fixtures.get("bigfile.py"), "r") as f: doc.read(f) doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") fragment = doc.extractFragment(2) self.assertEqual(fragment.numLines(), 1) self.assertEqual(fragment.lineText(1), doc.lineText(2)) self.assertTrue(fragment.hasLineMetaInfo("whatever")) self.assertTrue(fragment.hasLineMetaInfo("whatever2")) fragment = doc.extractFragment(2, 3) self.assertEqual(fragment.numLines(), 3) self.assertEqual(fragment.lineText(1), doc.lineText(2)) self.assertEqual(fragment.lineText(2), doc.lineText(3)) self.assertEqual(fragment.lineText(3), doc.lineText(4)) self.assertTrue(fragment.hasLineMetaInfo("whatever")) self.assertTrue(fragment.hasLineMetaInfo("whatever2"))
def testChangeLineNumber(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") meta_info1 = doc.lineMetaInfo("whatever") meta_info2 = doc.lineMetaInfo("whatever2") meta_info1.setData("hello", 1) meta_info2.setData("byebye", 1) doc.newLineAfter(1) self.assertEqual(meta_info1.numLines(), 2) self.assertEqual(meta_info2.numLines(), 2) self.assertEqual(meta_info1.data(1, 2), ["hello", None]) self.assertEqual(meta_info2.data(1, 2), ["byebye", None]) doc.newLine(1) self.assertEqual(meta_info1.numLines(), 3) self.assertEqual(meta_info2.numLines(), 3) self.assertEqual(meta_info1.data(1, 3), [None, "hello", None]) self.assertEqual(meta_info2.data(1, 3), [None, "byebye", None]) doc.deleteLine(2) self.assertEqual(meta_info1.numLines(), 2) self.assertEqual(meta_info2.numLines(), 2) self.assertEqual(meta_info1.data(1, 2), [None, None]) self.assertEqual(meta_info2.data(1, 2), [None, None]) self.assertEqual(meta_info1.data(1, 1), [None]) self.assertEqual(meta_info2.data(1, 1), [None]) self.assertEqual(meta_info1.data(1), None) self.assertEqual(meta_info2.data(1), None)
def testChangeLineNumber(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") meta_info1 = doc.lineMetaInfo("whatever") meta_info2 = doc.lineMetaInfo("whatever2") meta_info1.setData("hello", 1) meta_info2.setData("byebye", 1) doc.newLineAfter(1) self.assertEqual(meta_info1.numLines(), 2) self.assertEqual(meta_info2.numLines(), 2) self.assertEqual(meta_info1.data(1,2), ["hello", None]) self.assertEqual(meta_info2.data(1,2), ["byebye", None]) doc.newLine(1) self.assertEqual(meta_info1.numLines(), 3) self.assertEqual(meta_info2.numLines(), 3) self.assertEqual(meta_info1.data(1,3), [None, "hello", None]) self.assertEqual(meta_info2.data(1,3), [None, "byebye", None]) doc.deleteLine(2) self.assertEqual(meta_info1.numLines(), 2) self.assertEqual(meta_info2.numLines(), 2) self.assertEqual(meta_info1.data(1,2), [None, None]) self.assertEqual(meta_info2.data(1,2), [None, None]) self.assertEqual(meta_info1.data(1,1), [None]) self.assertEqual(meta_info2.data(1,1), [None]) self.assertEqual(meta_info1.data(1), None) self.assertEqual(meta_info2.data(1), None)
def testLineMetaInfoMemento(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") meta_info1 = doc.lineMetaInfo("whatever") meta_info2 = doc.lineMetaInfo("whatever2") doc.newLineAfter(1) doc.newLine(1) meta_info1.setData("hello", 1) meta_info2.setData("byebye", 1) memento = doc.lineMemento(1) doc.deleteLine(1) self.assertEqual(doc.lineMetaInfo("whatever").data(1), None) self.assertEqual(doc.lineMetaInfo("whatever2").data(1), None) doc.insertFromMemento(1, memento) self.assertEqual(doc.lineText(1), '\n') self.assertEqual(doc.lineMetaInfo("whatever").data(1), 'hello') self.assertEqual(doc.lineMetaInfo("whatever2").data(1), 'byebye')
def testLineMetaInfoMemento(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") meta_info1 = doc.lineMetaInfo("whatever") meta_info2 = doc.lineMetaInfo("whatever2") doc.newLineAfter(1) doc.newLine(1) meta_info1.setData("hello", 1) meta_info2.setData("byebye", 1) memento = doc.lineMemento(1) doc.deleteLine(1) self.assertEqual(doc.lineMetaInfo("whatever").data(1), None) self.assertEqual(doc.lineMetaInfo("whatever2").data(1), None) doc.insertFromMemento(1, memento) self.assertEqual(doc.lineText(1), "\n") self.assertEqual(doc.lineMetaInfo("whatever").data(1), "hello") self.assertEqual(doc.lineMetaInfo("whatever2").data(1), "byebye")
def testSameObject(self): doc = TextDocument() doc.createLineMetaInfo("whatever") doc.createLineMetaInfo("whatever2") self.assertEqual(doc.lineMetaInfo("whatever"), doc.lineMetaInfo("whatever")) self.assertNotEqual(doc.lineMetaInfo("whatever"), doc.lineMetaInfo("whatever2"))