diff options
author | Go MAEDA <maeda@farend.jp> | 2019-02-27 23:44:16 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2019-02-27 23:44:16 +0000 |
commit | 0a23eabdce9cff8f7744097a068d9531c6144b1b (patch) | |
tree | 805afc60724a3c38ed993d05154f121d3ca84651 /test/helpers | |
parent | 597f1406c73abaf75589882b51ecd805c8f3bbd0 (diff) | |
download | redmine-0a23eabdce9cff8f7744097a068d9531c6144b1b.tar.gz redmine-0a23eabdce9cff8f7744097a068d9531c6144b1b.zip |
Cannot make cross-project wiki link if the project name includes square brackets (#30256).
Patch by Yuichi HARADA.
git-svn-id: http://svn.redmine.org/redmine/trunk@17906 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/helpers')
-rw-r--r-- | test/helpers/application_helper_test.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/helpers/application_helper_test.rb b/test/helpers/application_helper_test.rb index 48304af25..26ca772b7 100644 --- a/test/helpers/application_helper_test.rb +++ b/test/helpers/application_helper_test.rb @@ -842,6 +842,47 @@ RAW end end + def test_wiki_links_with_square_brackets_in_project_name + User.current = User.find_by_login('jsmith') + + another_project = Project.find(1) # eCookbook + another_project.name = "[foo]#{another_project.name}" + another_project.save + + page = another_project.wiki.find_page('Another page') + page.title = "[bar]#{page.title}" + page.save + + to_test = { + '[[[foo]eCookbook:]]' => + link_to("[foo]eCookbook", + "/projects/ecookbook/wiki", + :class => "wiki-page"), + '[[[foo]eCookbook:CookBook documentation]]' => + link_to("CookBook documentation", + "/projects/ecookbook/wiki/CookBook_documentation", + :class => "wiki-page"), + '[[[foo]eCookbook:[bar]Another page]]' => + link_to("[bar]Another page", + "/projects/ecookbook/wiki/%5Bbar%5DAnother_page", + :class => "wiki-page"), + '[[[foo]eCookbook:Unknown page]]' => + link_to("Unknown page", + "/projects/ecookbook/wiki/Unknown_page", + :class => "wiki-page new"), + '[[[foo]eCookbook:[baz]Unknown page]]' => + link_to("[baz]Unknown page", + "/projects/ecookbook/wiki/%5Bbaz%5DUnknown_page", + :class => "wiki-page new"), + } + @project = Project.find(2) # OnlineStore + with_settings :text_formatting => 'textile' do + to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) } + end + with_settings :text_formatting => 'markdown' do + to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text).strip } + end + end def test_wiki_links_within_local_file_generation_context to_test = { @@ -1788,6 +1829,10 @@ RAW link_to("broken > more", "/projects/ecookbook/wiki/Broken_%3E_more", :class => "wiki-page new"), + '[[[foo]Including [square brackets] in wiki title]]' => + link_to("[foo]Including [square brackets] in wiki title", + "/projects/ecookbook/wiki/%5Bfoo%5DIncluding_%5Bsquare_brackets%5D_in_wiki_title", + :class => "wiki-page new"), } end |