Skip to content

Commit e1a535d

Browse files
committed
adjust line_info tests to include sources
1 parent 8179447 commit e1a535d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

tests/test_parsy.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
letter,
2121
line_info,
2222
line_info_at,
23+
make_stream,
2324
match_item,
2425
peek,
2526
regex,
@@ -619,6 +620,18 @@ def foo():
619620
],
620621
)
621622

623+
source = "aaaaa"
624+
self.assertEqual(
625+
foo.many().parse("AB\nCD", source=source),
626+
[
627+
("A", (0, 0, source)),
628+
("B", (0, 1, source)),
629+
("\n", (0, 2, source)),
630+
("C", (1, 0, source)),
631+
("D", (1, 1, source)),
632+
],
633+
)
634+
622635
def test_should_fail(self):
623636
not_a_digit = digit.should_fail("not a digit") >> regex(r".*")
624637

@@ -713,14 +726,24 @@ def foo():
713726

714727
class TestUtils(unittest.TestCase):
715728
def test_line_info_at(self):
729+
716730
text = "abc\ndef"
717731
self.assertEqual(line_info_at(text, 0), (0, 0))
718732
self.assertEqual(line_info_at(text, 2), (0, 2))
719733
self.assertEqual(line_info_at(text, 3), (0, 3))
720734
self.assertEqual(line_info_at(text, 4), (1, 0))
721735
self.assertEqual(line_info_at(text, 7), (1, 3))
736+
722737
self.assertRaises(ValueError, lambda: line_info_at(text, 8))
723738

739+
text = make_stream("abc\ndef", source="aaaa")
740+
self.assertEqual(line_info_at(text, 0), (0, 0, "aaaa"))
741+
self.assertEqual(line_info_at(text, 2), (0, 2, "aaaa"))
742+
self.assertEqual(line_info_at(text, 3), (0, 3, "aaaa"))
743+
self.assertEqual(line_info_at(text, 4), (1, 0, "aaaa"))
744+
self.assertEqual(line_info_at(text, 7), (1, 3, "aaaa"))
745+
746+
self.assertRaises(ValueError, lambda: line_info_at(text, 8))
724747

725748

726749
class TestForwardDeclaration(unittest.TestCase):

0 commit comments

Comments
 (0)