def test_build_equality_testcase(self): DummyTestCase = build_equality_testcase('DummyTestCase', int, [ ('str_to_int_pass', '1', 1), ('str_to_int_fail', '2', 1), ('str_to_int_exception', 'z', 1), ]) DummyTestCase.runTest = run testcase = DummyTestCase() testcase.test_str_to_int_pass() with self.assertRaises(AssertionError): testcase.test_str_to_int_fail() with self.assertRaises(ValueError): testcase.test_str_to_int_exception()
def test_build_equality_testcase_flag_dupe_labels(self): with self.assertRaises(ValueError): build_equality_testcase('DummyTestCase', int, [ ('str_to_int_dupe', '1', 1), ('str_to_int_dupe', '2', 2), ])
def test_extra_ending_braces(self): lexer = Lexer() lexer.input('\n\n())))') with self.assertRaises(ECMASyntaxError) as e: [token for token in lexer] self.assertEqual(str(e.exception), "Mismatched ')' at 3:3") LexerKeywordTestCase = build_equality_testcase( 'LexerKeywordTestCase', partial(run_lexer, lexer_cls=Lexer), ( ( label, data[0], data[1], ) for label, data in [( # Keywords # ('break case ...', ['BREAK break', 'CASE case', ...]) 'keywords_all', (' '.join(kw.lower() for kw in Lexer.keywords), ['%s %s' % (kw, kw.lower()) for kw in Lexer.keywords]), )])) LexerTestCase = build_equality_testcase('LexerTestCase', partial(run_lexer, lexer_cls=Lexer), (( label, data[0], data[1], ) for label, data in es5_cases))