Skip to content

Commit d24677d

Browse files
committed
add .span() test
1 parent 6ddaccd commit d24677d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

tests/test_parsy.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from parsy import (
99
ParseError,
1010
Stream,
11+
SourceSpan,
1112
alt,
1213
any_char,
1314
char_from,
@@ -209,6 +210,21 @@ def test_mark(self):
209210
self.assertEqual(letters, ["q", "w", "e", "r"])
210211
self.assertEqual(end, (1, 4))
211212

213+
def test_span(self):
214+
parser = (letter.many().span() << string("\n")).many()
215+
source='sample'
216+
217+
lines = parser.parse(Stream("asdf\nqwer\n", source=source))
218+
219+
self.assertEqual(len(lines), 2)
220+
221+
(span, letters) = lines[0]
222+
self.assertEqual(span, SourceSpan(source, (0, 0), (0, 4)))
223+
self.assertEqual(letters, ['a', 's', 'd', 'f'])
224+
225+
(span, letters) = lines[1]
226+
self.assertEqual(span, SourceSpan(source, (1, 0), (1, 4)))
227+
212228
def test_tag(self):
213229
parser = letter.many().concat().tag("word")
214230
self.assertEqual(

0 commit comments

Comments
 (0)