summaryrefslogtreecommitdiffstats
path: root/test/helpers
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2019-02-27 23:44:16 +0000
committerGo MAEDA <maeda@farend.jp>2019-02-27 23:44:16 +0000
commit0a23eabdce9cff8f7744097a068d9531c6144b1b (patch)
tree805afc60724a3c38ed993d05154f121d3ca84651 /test/helpers
parent597f1406c73abaf75589882b51ecd805c8f3bbd0 (diff)
downloadredmine-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.rb45
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