def test_subpage(self):
        request = self.request
        pagename = 'toppage'
        rename_some_page = {
                ('PAGE', '%s/subpage' % pagename): '%s/renamed_subpage' % pagename,
        }
        tests = [
            # "nothing changed" checks
            ('["/subpage_norename"]', rename_some_page, '[[/subpage_norename]]'),

            # renames
            ('["/subpage"]', rename_some_page, '[[/renamed_subpage]]'),
        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected
Exemple #2
0
    def test_subpage(self):
        request = self.request
        pagename = 'toppage'
        rename_some_page = {
            ('PAGE', '%s/subpage' % pagename): '%s/renamed_subpage' % pagename,
        }
        tests = [
            # "nothing changed" checks
            ('["/subpage_norename"]', rename_some_page, '[[/subpage_norename]]'
             ),

            # renames
            ('["/subpage"]', rename_some_page, '[[/renamed_subpage]]'),
        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected
    def test_sisterpage(self):
        request = self.request
        top_page = 'toppage'
        pagename = '%s/subpage' % top_page
        rename_some_page = {
                ('PAGE', '%s/sister' % top_page): '%s/renamed_sister' % top_page,
        }
        tests = [
            # "nothing changed" checks
            ('["../sister_norename"]', rename_some_page, '[[../sister_norename]]'),

            # renames
            ('["../sister"]', rename_some_page, '[[../renamed_sister]]'),
        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected
Exemple #4
0
    def test_sisterpage(self):
        request = self.request
        top_page = 'toppage'
        pagename = '%s/subpage' % top_page
        rename_some_page = {
            ('PAGE', '%s/sister' % top_page): '%s/renamed_sister' % top_page,
        }
        tests = [
            # "nothing changed" checks
            ('["../sister_norename"]', rename_some_page,
             '[[../sister_norename]]'),

            # renames
            ('["../sister"]', rename_some_page, '[[../renamed_sister]]'),
        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected
Exemple #5
0
    def test_pre(self):
        #py.test.skip("not wanted right now")
        markup_15 = u"""\
{{{
...
}}}

"""
        expected_markup_160 = u"""\
{{{
...
}}}

"""
        markup_160 = convert_wiki(self.request, u'TestPage', markup_15, {})
        #print markup_15 ; print "---" ; print markup_160
        markup_160 = markup_160.replace('\r\n', '\n')
        assert markup_160 == expected_markup_160
    def test_pre(self):
        #py.test.skip("not wanted right now")
        markup_15 = u"""\
{{{
...
}}}

"""
        expected_markup_160 = u"""\
{{{
...
}}}

"""
        markup_160 = convert_wiki(self.request, u'TestPage', markup_15, {})
        #print markup_15 ; print "---" ; print markup_160
        markup_160 = markup_160.replace('\r\n', '\n')
        assert markup_160 == expected_markup_160
Exemple #7
0
    def test_absolute(self):
        request = self.request
        pagename = 'TestPage'
        rename_some_page = {
            ('PAGE', 'some_page'): 'some page',
        }
        rename_some_file = {
            ('FILE', pagename, 'with_underscore'): 'without underscore',
            ('FILE', pagename, 'with blank'): 'without_blank',
        }

        tests = [
            # FAILING tests:
            # does not work in 1.5.8, no need to convert:
            #('[:MeatBall:CleanLinking meatball-wiki: clean linking]', {}, '[:MeatBall:CleanLinking meatball-wiki: clean linking]'),

            # does not work in 1.5.8, no need to convert:
            #('[attachment:some_page.txt attachment:some_page.png]', rename_some_page, '[[attachment:some_page.txt|{{attachment:some_page.png}}]]'),

            # "nothing changed" checks (except markup)
            ('', {}, ''),
            ('CamelCase', {}, 'CamelCase'),
            ('MoinMaster:CamelCase', {}, 'MoinMaster:CamelCase'),
            ('[wiki:LinuxWiki: LinuxWiki.de]', {},
             '[[LinuxWiki:|LinuxWiki.de]]'),
            # does not work in 1.5.8, no need to convert:
            #('[wiki:MacroMarket/EmbedObject EO]', {}, '["MacroMarket/EmbedObject" EO]'),
            ('[wiki:MoinMoin/FrontPage]', {}, 'MoinMoin:FrontPage'),
            ('[wiki:/OtherPage]', rename_some_page, '[[/OtherPage]]'),
            ('[wiki:/OtherPage other page]', rename_some_page,
             '[[/OtherPage|other page]]'),
            ('some_text', {}, 'some_text'),
            ('["some_text"]', {}, '[[some_text]]'),
            ('some_page', rename_some_page, 'some_page'),  # not a link
            ('{{{["some_page"]}}}', rename_some_page,
             '{{{["some_page"]}}}'),  # not a link
            ('`["some_page"]`', rename_some_page,
             '`["some_page"]`'),  # not a link
            ('["OtherPage/some_page"]', rename_some_page,
             '[[OtherPage/some_page]]'),  # different link
            ('MoinMaster:some_page', rename_some_page,
             'MoinMaster:some_page'),  # external link
            ('http://some_server/some_page', rename_some_page,
             'http://some_server/some_page'),  # external link
            ('[http://some_server/some_page]', rename_some_page,
             '[[http://some_server/some_page]]'),  # external link
            ('[#some_page]', rename_some_page,
             '[[#some_page]]'),  # link to anchor that has same name
            ('[attachment:some_page.png]', rename_some_page,
             '[[attachment:some_page.png]]'),  # att, not page
            ('[attachment:some_page.png test picture]', rename_some_page,
             '[[attachment:some_page.png|test picture]]'),  # att, not page
            # url unquote stuff (%20 was popular for space)
            ('attachment:My%20Attachment.jpg', {},
             '{{attachment:My Attachment.jpg}}'),  # embed!
            ('[attachment:My%20Attachment.jpg]', {},
             '[[attachment:My Attachment.jpg]]'),  # link!
            ('[attachment:My%20Attachment.jpg it works]', {},
             '[[attachment:My Attachment.jpg|it works]]'),

            # page rename changes result
            ('["some_page"]', rename_some_page, '[[some page]]'),
            ('[:some_page]', rename_some_page, '[[some page]]'),
            ('[:some_page:]', rename_some_page, '[[some page]]'),
            ('[:some_page:some text]', rename_some_page,
             '[[some page|some text]]'),
            ('Self:some_page', rename_some_page, '[[some page]]'),
            ('wiki:Self:some_page', rename_some_page, '[[some page]]'),
            ('[wiki:Self:some_page some text]', rename_some_page,
             '[[some page|some text]]'),
            ('wiki:Self:some_page#some_anchor', rename_some_page,
             '[[some page#some_anchor]]'),

            # other markup changes we do
            ('[:other page]', {}, '[[other page]]'),
            ('[:other page:]', {}, '[[other page]]'),
            ('[:other page:other text]', {}, '[[other page|other text]]'),
            ('Self:CamelCase', {}, 'CamelCase'),
            ('[wiki:WikiPedia:Lynx_%28web_browser%29 Lynx]', {},
             '[[WikiPedia:Lynx_(web_browser)|Lynx]]'),
            ('[:Something:Something]', {}, '[[Something]]'),  # optimize markup

            # "nothing changed" checks
            ('attachment:OtherPage/with_underscore', rename_some_file,
             '[[attachment:OtherPage/with_underscore]]'),

            # file rename changes result
            ('attachment:with_underscore', rename_some_file,
             '[[attachment:without underscore]]'),
            ('attachment:TestPage/with_underscore', rename_some_file,
             '[[attachment:without underscore]]'
             ),  # remove superfluous pagename

            # attachment syntax: kill %20
            ('attachment:with%20blank', rename_some_file,
             '[[attachment:without_blank]]'),  # plus rename
            ('attachment:keep%20blank', rename_some_file,
             '[[attachment:keep blank]]'),  # no rename
            ('attachment:TestPage/keep%20blank', rename_some_file,
             '[[attachment:keep blank]]'),  # remove superfluous pagename
            ('attachment:OtherPage/keep%20blank', rename_some_file,
             '[[attachment:OtherPage/keep blank]]'),

            # embed images
            ('http://server/image.png', {}, '{{http://server/image.png}}'),
            ('attachment:image.gif', {}, '{{attachment:image.gif}}'),
            ('inline:image.jpg', {},
             '{{attachment:image.jpg}}'),  # inline is now implied by {{...}}
            ('drawing:image', {}, '{{drawing:image}}'),

            # macros
            ('[[BR]]', {}, '<<BR>>'),
            ('[[FullSearch(wtf)]]', {}, '<<FullSearch(wtf)>>'),
            (u'[[ImageLink(töst.png)]]', {},
             u'[[attachment:töst.png|{{attachment:töst.png}}]]'),
            ('[[ImageLink(test.png,OtherPage)]]', {},
             '[[OtherPage|{{attachment:test.png}}]]'),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456)]]', {},
             '[[OtherPage|{{attachment:test.png||width=123, height=456}}]]'),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456,alt=alttext)]]',
             {},
             '[[OtherPage|{{attachment:test.png|alttext|width=123, height=456}}]]'
             ),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456,alt=alt text with blanks)]]',
             {},
             '[[OtherPage|{{attachment:test.png|alt text with blanks|width=123, height=456}}]]'
             ),
            ('[[ImageLink(http://server/test.png,OtherPage,width=123,height=456)]]',
             {},
             '[[OtherPage|{{http://server/test.png||width=123, height=456}}]]'
             ),
            ('[[ImageLink(http://server/test.png,http://server/,width=123)]]',
             {}, '[[http://server/|{{http://server/test.png||width=123}}]]'),
            ('[[ImageLink(test.png,attachment:test.png)]]', {},
             '[[attachment:test.png|{{attachment:test.png}}]]'),
            ('[[ImageLink(test.png,inline:test.py)]]', {},
             '[[attachment:test.py|{{attachment:test.png}}]]'),
        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected
    def test_absolute(self):
        request = self.request
        pagename = 'TestPage'
        rename_some_page = {
                ('PAGE', 'some_page'): 'some page',
        }
        rename_some_file = {
                ('FILE', pagename, 'with_underscore'): 'without underscore',
                ('FILE', pagename, 'with blank'): 'without_blank',
        }

        tests = [
            # FAILING tests:
            # does not work in 1.5.8, no need to convert:
            #('[:MeatBall:CleanLinking meatball-wiki: clean linking]', {}, '[:MeatBall:CleanLinking meatball-wiki: clean linking]'),

            # does not work in 1.5.8, no need to convert:
            #('[attachment:some_page.txt attachment:some_page.png]', rename_some_page, '[[attachment:some_page.txt|{{attachment:some_page.png}}]]'),

            # "nothing changed" checks (except markup)
            ('', {}, ''),
            ('CamelCase', {}, 'CamelCase'),
            ('MoinMaster:CamelCase', {}, 'MoinMaster:CamelCase'),
            ('[wiki:LinuxWiki: LinuxWiki.de]', {}, '[[LinuxWiki:|LinuxWiki.de]]'),
            # does not work in 1.5.8, no need to convert:
            #('[wiki:MacroMarket/EmbedObject EO]', {}, '["MacroMarket/EmbedObject" EO]'),
            ('[wiki:MoinMoin/FrontPage]', {}, 'MoinMoin:FrontPage'),
            ('[wiki:/OtherPage]', rename_some_page, '[[/OtherPage]]'),
            ('[wiki:/OtherPage other page]', rename_some_page, '[[/OtherPage|other page]]'),
            ('some_text', {}, 'some_text'),
            ('["some_text"]', {}, '[[some_text]]'),
            ('some_page', rename_some_page, 'some_page'), # not a link
            ('{{{["some_page"]}}}', rename_some_page, '{{{["some_page"]}}}'), # not a link
            ('`["some_page"]`', rename_some_page, '`["some_page"]`'), # not a link
            ('["OtherPage/some_page"]', rename_some_page, '[[OtherPage/some_page]]'), # different link
            ('MoinMaster:some_page', rename_some_page, 'MoinMaster:some_page'), # external link
            ('http://some_server/some_page', rename_some_page, 'http://some_server/some_page'), # external link
            ('[http://some_server/some_page]', rename_some_page, '[[http://some_server/some_page]]'), # external link
            ('[#some_page]', rename_some_page, '[[#some_page]]'), # link to anchor that has same name
            ('[attachment:some_page.png]', rename_some_page, '[[attachment:some_page.png]]'), # att, not page
            ('[attachment:some_page.png test picture]', rename_some_page, '[[attachment:some_page.png|test picture]]'), # att, not page
            # url unquote stuff (%20 was popular for space)
            ('attachment:My%20Attachment.jpg', {}, '{{attachment:My Attachment.jpg}}'), # embed!
            ('[attachment:My%20Attachment.jpg]', {}, '[[attachment:My Attachment.jpg]]'), # link!
            ('[attachment:My%20Attachment.jpg it works]', {}, '[[attachment:My Attachment.jpg|it works]]'),

            # page rename changes result
            ('["some_page"]', rename_some_page, '[[some page]]'),
            ('[:some_page]', rename_some_page, '[[some page]]'),
            ('[:some_page:]', rename_some_page, '[[some page]]'),
            ('[:some_page:some text]', rename_some_page, '[[some page|some text]]'),
            ('Self:some_page', rename_some_page, '[[some page]]'),
            ('wiki:Self:some_page', rename_some_page, '[[some page]]'),
            ('[wiki:Self:some_page some text]', rename_some_page, '[[some page|some text]]'),
            ('wiki:Self:some_page#some_anchor', rename_some_page, '[[some page#some_anchor]]'),

            # other markup changes we do
            ('[:other page]', {}, '[[other page]]'),
            ('[:other page:]', {}, '[[other page]]'),
            ('[:other page:other text]', {}, '[[other page|other text]]'),
            ('Self:CamelCase', {}, 'CamelCase'),
            ('[wiki:WikiPedia:Lynx_%28web_browser%29 Lynx]', {}, '[[WikiPedia:Lynx_(web_browser)|Lynx]]'),
            ('[:Something:Something]', {}, '[[Something]]'), # optimize markup

            # "nothing changed" checks
            ('attachment:OtherPage/with_underscore', rename_some_file, '[[attachment:OtherPage/with_underscore]]'),

            # file rename changes result
            ('attachment:with_underscore', rename_some_file, '[[attachment:without underscore]]'),
            ('attachment:TestPage/with_underscore', rename_some_file, '[[attachment:without underscore]]'), # remove superfluous pagename

            # attachment syntax: kill %20
            ('attachment:with%20blank', rename_some_file, '[[attachment:without_blank]]'), # plus rename
            ('attachment:keep%20blank', rename_some_file, '[[attachment:keep blank]]'), # no rename
            ('attachment:TestPage/keep%20blank', rename_some_file, '[[attachment:keep blank]]'), # remove superfluous pagename
            ('attachment:OtherPage/keep%20blank', rename_some_file, '[[attachment:OtherPage/keep blank]]'),

            # embed images
            ('http://server/image.png', {}, '{{http://server/image.png}}'),
            ('attachment:image.gif', {}, '{{attachment:image.gif}}'),
            ('inline:image.jpg', {}, '{{attachment:image.jpg}}'), # inline is now implied by {{...}}
            ('drawing:image', {}, '{{drawing:image}}'),

            # macros
            ('[[BR]]', {}, '<<BR>>'),
            ('[[FullSearch(wtf)]]', {}, '<<FullSearch(wtf)>>'),
            (u'[[ImageLink(töst.png)]]', {}, u'[[attachment:töst.png|{{attachment:töst.png}}]]'),
            ('[[ImageLink(test.png,OtherPage)]]', {}, '[[OtherPage|{{attachment:test.png}}]]'),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456)]]', {}, '[[OtherPage|{{attachment:test.png||width=123, height=456}}]]'),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456,alt=alttext)]]', {}, '[[OtherPage|{{attachment:test.png|alttext|width=123, height=456}}]]'),
            ('[[ImageLink(test.png,OtherPage,width=123,height=456,alt=alt text with blanks)]]', {}, '[[OtherPage|{{attachment:test.png|alt text with blanks|width=123, height=456}}]]'),
            ('[[ImageLink(http://server/test.png,OtherPage,width=123,height=456)]]', {}, '[[OtherPage|{{http://server/test.png||width=123, height=456}}]]'),
            ('[[ImageLink(http://server/test.png,http://server/,width=123)]]', {}, '[[http://server/|{{http://server/test.png||width=123}}]]'),
            ('[[ImageLink(test.png,attachment:test.png)]]', {}, '[[attachment:test.png|{{attachment:test.png}}]]'),
            ('[[ImageLink(test.png,inline:test.py)]]', {}, '[[attachment:test.py|{{attachment:test.png}}]]'),

        ]
        for data, renames, expected in tests:
            assert convert_wiki(request, pagename, data, renames) == expected