def test_literal(self): source = TokenSource([(b'abc {7}', b'foo bar'), b')']) tokens = iter(source) self.assertEqual(next(tokens), b'abc') self.assertEqual(next(tokens), b'{7}') self.assertEqual(source.current_literal, b'foo bar') self.assertEqual(next(tokens), b')') self.assertRaises(StopIteration, lambda: next(tokens))
def check_error(self, text_in, expected_message): self.assertRaisesRegex(ValueError, expected_message, lambda: list(TokenSource(text_in)))
def check(self, text_in, expected_out): tokens = TokenSource(text_in) self.assertSequenceEqual(list(tokens), expected_out)