diff options
Diffstat (limited to 'yarnlib')
-rw-r--r-- | yarnlib/block_parser.py | 4 | ||||
-rw-r--r-- | yarnlib/block_parser_tests.py | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/yarnlib/block_parser.py b/yarnlib/block_parser.py index 09a7a22..b9ca24c 100644 --- a/yarnlib/block_parser.py +++ b/yarnlib/block_parser.py @@ -44,7 +44,9 @@ class BlockParser(object): def parse_one(self, blocks): assert blocks block = blocks[0] - assert block + if not block: + del blocks[0] + return t = block.split('\n', 1) assert len(t) in [1,2] if len(t) == 1: diff --git a/yarnlib/block_parser_tests.py b/yarnlib/block_parser_tests.py index ff1feab..1576950 100644 --- a/yarnlib/block_parser_tests.py +++ b/yarnlib/block_parser_tests.py @@ -51,6 +51,10 @@ class BlockParserTests(unittest.TestCase): self.parser.parse_blocks(['STORY foo bar ']) self.assertEqual(self.parser.stories[0].name, 'foo bar') + def test_handles_empty_line(self): + self.parser.parse_blocks(['']) + self.assertEqual(self.parser.stories, []) + def test_parses_implements_in_a_block_by_itself(self): self.parser.parse_blocks(['IMPLEMENTS GIVEN foo\ntrue']) impls = self.parser.implementations |