From 0f367f13c234495e5f448fe3e42d38ede10400b5 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 9 Jun 2013 12:09:06 +0100 Subject: Add tests for bad IMPLEMENTS lines --- yarnlib/block_parser.py | 2 +- yarnlib/block_parser_tests.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'yarnlib') diff --git a/yarnlib/block_parser.py b/yarnlib/block_parser.py index 73d6178..1a600ee 100644 --- a/yarnlib/block_parser.py +++ b/yarnlib/block_parser.py @@ -113,7 +113,7 @@ class BlockParser(object): words = line.split() if len(words) < 2: raise BlockError( - 'Syntax error: IMPLEMENTING must have what and regexp') + 'Syntax error: IMPLEMENTS must have what and regexp') what = words[0] regexp = ' '.join(words[1:]) if blocks: diff --git a/yarnlib/block_parser_tests.py b/yarnlib/block_parser_tests.py index 0a1d441..7051e17 100644 --- a/yarnlib/block_parser_tests.py +++ b/yarnlib/block_parser_tests.py @@ -104,3 +104,21 @@ class BlockParserTests(unittest.TestCase): self.assertEqual(impls[1].regexp, 'bar') self.assertEqual(impls[1].shell, 'cat /dev/null') + def test_raises_error_for_implements_with_no_args(self): + self.assertRaises( + yarnlib.BlockError, + self.parser.parse_blocks, + ['IMPLEMENTS']) + + def test_raises_error_for_implements_with_one_args(self): + self.assertRaises( + yarnlib.BlockError, + self.parser.parse_blocks, + ['IMPLEMENTS GIVEN']) + + def test_raises_error_for_implements_with_first_args_not_a_keyword(self): + self.assertRaises( + yarnlib.BlockError, + self.parser.parse_blocks, + ['IMPLEMENTS foo']) + -- cgit v1.2.1