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_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 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)
Beispiel #12
0
 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)