def _create_lexer_mock(self, return_values, flag): return_values.append(EndOfTextToken()) lexer = Lexer(None) lexer.get_next_token = Mock() lexer.is_next_nonempty_char_an_open_of_tag = Mock() lexer.get_text_until_open_of_tag = Mock() lexer.get_comment = Mock() lexer.get_next_token.side_effect = return_values lexer.is_next_nonempty_char_an_open_of_tag.side_effect = [(flag, ""), (False, "")] lexer.get_text_until_open_of_tag.side_effect = ["text"] lexer.get_comment.side_effect = ["comment"] return lexer
def test_get_comment_method(self): lexer = Lexer("<!-- comment --> <") self.assertIsInstance(lexer.get_next_token(), OpenOfCommentTagToken) self.assertEqual(lexer.get_comment(), " comment ") self.assertIsInstance(lexer.get_next_token(), CloseOfCommentTagToken) self.assertIsInstance(lexer.get_next_token(), OpenOfTagToken)