class TestSmiley(object): SMILIES_TESTS = ( (':test:', '<img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" />'), ('[list][*]:test: hello\n[/list]', '<ul><li><img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" /> hello</li></ul>'), ('[quote]hello :test:[/quote]', '<blockquote>hello <img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" /></blockquote>'), ('[code]hello :test:[/code]', '<code>hello :test:</code>'), ) def create_smilies(self): self.parser = get_parser() self.parser_loader = BBCodeParserLoader(parser=self.parser) # Set up an image used for doing smilies tests f = open(settings.MEDIA_ROOT + '/icon_e_wink.gif', 'rb') image_file = File(f) self.image = image_file # Set up a smiley tag smiley = SmileyTag() smiley.code = ':test:' smiley.image.save('icon_e_wink.gif', self.image) smiley.save() self.parser_loader.init_bbcode_smilies() def teardown_method(self, method): self.image.close() shutil.rmtree(settings.MEDIA_ROOT + '/precise_bbcode') def test_can_render_valid_smilies(self): # Setup self.create_smilies() # Run & check for bbcodes_text, expected_html_text in self.SMILIES_TESTS: result = self.parser.render(bbcodes_text) assert result == expected_html_text
def test_can_be_rendered_by_the_bbcode_parser(self): # Setup parser_loader = BBCodeParserLoader(parser=self.parser) tag = BBCodeTag(**{'tag_definition': '[mail]{EMAIL}[/mail]', 'html_replacement': '<a href="mailto:{EMAIL}">{EMAIL}</a>', 'swallow_trailing_newline': True}) tag.save() parser_loader.init_custom_bbcode_tags() # Run & check assert self.parser.render('[mail][email protected][/mail]') == '<a href="mailto:[email protected]">[email protected]</a>'
def test_tags_can_be_rendered(self): # Setup parser_loader = BBCodeParserLoader(parser=self.parser) tag_pool.register_tag(FooTagAlt) tag_pool.register_tag(BarTag) parser_loader.init_bbcode_tags() # Run & check for bbcodes_text, expected_html_text in self.TAGS_TESTS: result = self.parser.render(bbcodes_text) assert result == expected_html_text
def test_can_disable_builtin_tags(self): # Setup bbcode_settings.BBCODE_DISABLE_BUILTIN_TAGS = True parser_loader = BBCodeParserLoader(parser=BBCodeParser()) # Run & check parser_loader.load_parser() import precise_bbcode.bbcode.defaults.tag for tag_klass in get_subclasses(precise_bbcode.bbcode.defaults.tag, ParserBBCodeTag): assert tag_klass.name not in parser_loader.parser.bbcodes bbcode_settings.BBCODE_DISABLE_BUILTIN_TAGS = False
def create_smilies(self): self.parser = get_parser() self.parser_loader = BBCodeParserLoader(parser=self.parser) # Set up an image used for doing smilies tests f = open(settings.MEDIA_ROOT + '/icon_e_wink.gif', 'rb') image_file = File(f) self.image = image_file # Set up a smiley tag smiley = SmileyTag() smiley.code = ':test:' smiley.image.save('icon_e_wink.gif', self.image) smiley.save() self.parser_loader.init_bbcode_smilies()
def test_can_be_rendered_by_the_bbcode_parser(self): # Setup parser_loader = BBCodeParserLoader(parser=self.parser) tag = BBCodeTag( **{ 'tag_definition': '[mail]{EMAIL}[/mail]', 'html_replacement': '<a href="mailto:{EMAIL}">{EMAIL}</a>', 'swallow_trailing_newline': True }) tag.save() parser_loader.init_custom_bbcode_tags() # Run & check assert (self.parser.render('[mail][email protected][/mail]') == '<a href="mailto:[email protected]">[email protected]</a>')
class TestSmiley(object): SMILIES_TESTS = ( ( ':test:', '<img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" />' ), ( '[list][*]:test: hello\n[/list]', '<ul><li><img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" ' 'alt="" /> hello</li></ul>' ), ( '[quote]hello :test:[/quote]', '<blockquote>hello <img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" ' 'height="auto" alt="" /></blockquote>' ), ('[code]hello :test:[/code]', '<code>hello :test:</code>'), ) def create_smilies(self): self.parser = get_parser() self.parser_loader = BBCodeParserLoader(parser=self.parser) # Set up an image used for doing smilies tests f = open(settings.MEDIA_ROOT + '/icon_e_wink.gif', 'rb') image_file = File(f) self.image = image_file # Set up a smiley tag smiley = SmileyTag() smiley.code = ':test:' smiley.image.save('icon_e_wink.gif', self.image) smiley.save() self.parser_loader.init_bbcode_smilies() def teardown_method(self, method): self.image.close() shutil.rmtree(settings.MEDIA_ROOT + '/precise_bbcode') def test_can_render_valid_smilies(self): # Setup self.create_smilies() # Run & check for bbcodes_text, expected_html_text in self.SMILIES_TESTS: result = self.parser.render(bbcodes_text) assert result == expected_html_text
def setUp(self): self.parser = get_parser() self.parser_loader = BBCodeParserLoader(parser=self.parser) # Set up an image used for doing smilies tests f = open(settings.MEDIA_ROOT + "/icon_e_wink.gif", "rb") image_file = File(f) self.image = image_file # Set up a smiley tag smiley = SmileyTag() smiley.code = ':test:' smiley.image.save('icon_e_wink.gif', self.image) smiley.save() self.parser_loader.init_bbcode_smilies()
class TestSmiley(TestCase): SMILIES_TESTS = ( (':test:', '<img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" />'), ('[list][*]:test: hello\n[/list]', '<ul><li><img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" /> hello</li></ul>'), ('[quote]hello :test:[/quote]', '<blockquote>hello <img src="precise_bbcode/smilies/icon_e_wink.gif" width="auto" height="auto" alt="" /></blockquote>'), ('[code]hello :test:[/code]', '<code>hello :test:</code>'), ) def setUp(self): self.parser = get_parser() self.parser_loader = BBCodeParserLoader(parser=self.parser) # Set up an image used for doing smilies tests f = open(settings.MEDIA_ROOT + "/icon_e_wink.gif", "rb") image_file = File(f) self.image = image_file # Set up a smiley tag smiley = SmileyTag() smiley.code = ':test:' smiley.image.save('icon_e_wink.gif', self.image) smiley.save() self.parser_loader.init_bbcode_smilies() def tearDown(self): self.image.close() smilies = SmileyTag.objects.all() for smiley in smilies: try: smiley.image.delete() except: pass def test_can_render_valid_smilies(self): # Run & check for bbcodes_text, expected_html_text in self.SMILIES_TESTS: result = self.parser.render(bbcodes_text) self.assertEqual(result, expected_html_text)
def test_placeholders_can_be_used_with_tags(self): # Setup parser_loader = BBCodeParserLoader(parser=self.parser) placeholder_pool.register_placeholder(FooPlaceholder) placeholder_pool.register_placeholder(DummyPlaceholder) tag_pool.register_tag(FooBBCodeTag) tag_pool.register_tag(DummyBBCodeTag) parser_loader.init_bbcode_placeholders() parser_loader.init_bbcode_tags() # Run & check for bbcodes_text, expected_html_text in self.TAGS_TESTS: result = self.parser.render(bbcodes_text) assert result == expected_html_text placeholder_pool.unregister_placeholder(FooPlaceholder) placeholder_pool.unregister_placeholder(DummyPlaceholder)