def test_get_indented(self): self.assertEqual(self.a.get_indented(), ([], 0, 0)) block = statemachine.StringList( statemachine.string2lines(self.indented_string)) self.assertEqual(block.get_indented(), ([s[6:] for s in block], 6, 1))
def test_get_text_block(self): self.sm.input_lines = statemachine.StringList(testtext) self.sm.line_offset = -1 self.sm.next_line() textblock = self.sm.get_text_block() self.assertEqual(textblock, testtext[:1]) self.sm.next_line(2) textblock = self.sm.get_text_block() self.assertEqual(textblock, testtext[2:4])
def test_get_text_block_flush_left(self): self.sm.input_lines = statemachine.StringList(testtext) self.sm.line_offset = -1 self.sm.next_line() textblock = self.sm.get_text_block(flush_left=1) self.assertEqual(textblock, testtext[:1]) self.sm.next_line(2) self.assertRaises(statemachine.UnexpectedIndentationError, self.sm.get_text_block, flush_left=1)
def test_get_indented(self): self.sm.input_lines = statemachine.StringList(testtext) self.sm.line_offset = -1 self.sm.next_line(3) indented, offset, good = self.sm.get_known_indented(2) self.assertEqual(indented, item1) self.assertEqual(offset, len(para1)) self.assertTrue(good) self.sm.next_line() indented, offset, good = self.sm.get_known_indented(2) self.assertEqual(indented, item2) self.assertEqual(offset, len(para1) + len(item1)) self.assertTrue(good) self.sm.previous_line(3) if self.sm.debug: print('\ntest_get_indented: self.sm.line:\n', self.sm.line) indented, indent, offset, good = self.sm.get_indented() if self.sm.debug: print('\ntest_get_indented: indented:\n', indented) self.assertEqual(indent, lbindent) self.assertEqual(indented, literalblock) self.assertEqual( offset, (len(para1) + len(item1) + len(item2) - len(literalblock))) self.assertTrue(good)
def setUp(self): self.a_list = self.text.splitlines(1) self.a = statemachine.StringList(self.a_list, 'a')