Mercurial > hg > soundsoftware-site
comparison .svn/pristine/45/456ef3443ff7df8c5dc761c97f3f05ad3eb5ac25.svn-base @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author | Chris Cannam |
---|---|
date | Fri, 24 Feb 2012 19:09:32 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
908:c6c2cbd0afee | 909:cbb26bc654de |
---|---|
1 # Redmine - project management software | |
2 # Copyright (C) 2006-2011 Jean-Philippe Lang | |
3 # | |
4 # This program is free software; you can redistribute it and/or | |
5 # modify it under the terms of the GNU General Public License | |
6 # as published by the Free Software Foundation; either version 2 | |
7 # of the License, or (at your option) any later version. | |
8 # | |
9 # This program is distributed in the hope that it will be useful, | |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 # GNU General Public License for more details. | |
13 # | |
14 # You should have received a copy of the GNU General Public License | |
15 # along with this program; if not, write to the Free Software | |
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
17 | |
18 require File.expand_path('../../../../../test_helper', __FILE__) | |
19 | |
20 class Redmine::WikiFormatting::MacrosTest < ActionView::TestCase | |
21 include ApplicationHelper | |
22 include ActionView::Helpers::TextHelper | |
23 include ActionView::Helpers::SanitizeHelper | |
24 extend ActionView::Helpers::SanitizeHelper::ClassMethods | |
25 | |
26 fixtures :projects, :roles, :enabled_modules, :users, | |
27 :repositories, :changesets, | |
28 :trackers, :issue_statuses, :issues, | |
29 :versions, :documents, | |
30 :wikis, :wiki_pages, :wiki_contents, | |
31 :boards, :messages, | |
32 :attachments | |
33 | |
34 def setup | |
35 super | |
36 @project = nil | |
37 end | |
38 | |
39 def teardown | |
40 end | |
41 | |
42 def test_macro_hello_world | |
43 text = "{{hello_world}}" | |
44 assert textilizable(text).match(/Hello world!/) | |
45 # escaping | |
46 text = "!{{hello_world}}" | |
47 assert_equal '<p>{{hello_world}}</p>', textilizable(text) | |
48 end | |
49 | |
50 def test_macro_include | |
51 @project = Project.find(1) | |
52 # include a page of the current project wiki | |
53 text = "{{include(Another page)}}" | |
54 assert textilizable(text).match(/This is a link to a ticket/) | |
55 | |
56 @project = nil | |
57 # include a page of a specific project wiki | |
58 text = "{{include(ecookbook:Another page)}}" | |
59 assert textilizable(text).match(/This is a link to a ticket/) | |
60 | |
61 text = "{{include(ecookbook:)}}" | |
62 assert textilizable(text).match(/CookBook documentation/) | |
63 | |
64 text = "{{include(unknowidentifier:somepage)}}" | |
65 assert textilizable(text).match(/Page not found/) | |
66 end | |
67 | |
68 def test_macro_child_pages | |
69 expected = "<p><ul class=\"pages-hierarchy\">\n" + | |
70 "<li><a href=\"/projects/ecookbook/wiki/Child_1\">Child 1</a></li>\n" + | |
71 "<li><a href=\"/projects/ecookbook/wiki/Child_2\">Child 2</a></li>\n" + | |
72 "</ul>\n</p>" | |
73 | |
74 @project = Project.find(1) | |
75 # child pages of the current wiki page | |
76 assert_equal expected, textilizable("{{child_pages}}", :object => WikiPage.find(2).content) | |
77 # child pages of another page | |
78 assert_equal expected, textilizable("{{child_pages(Another_page)}}", :object => WikiPage.find(1).content) | |
79 | |
80 @project = Project.find(2) | |
81 assert_equal expected, textilizable("{{child_pages(ecookbook:Another_page)}}", :object => WikiPage.find(1).content) | |
82 end | |
83 | |
84 def test_macro_child_pages_with_option | |
85 expected = "<p><ul class=\"pages-hierarchy\">\n" + | |
86 "<li><a href=\"/projects/ecookbook/wiki/Another_page\">Another page</a>\n" + | |
87 "<ul class=\"pages-hierarchy\">\n" + | |
88 "<li><a href=\"/projects/ecookbook/wiki/Child_1\">Child 1</a></li>\n" + | |
89 "<li><a href=\"/projects/ecookbook/wiki/Child_2\">Child 2</a></li>\n" + | |
90 "</ul>\n</li>\n</ul>\n</p>" | |
91 | |
92 @project = Project.find(1) | |
93 # child pages of the current wiki page | |
94 assert_equal expected, textilizable("{{child_pages(parent=1)}}", :object => WikiPage.find(2).content) | |
95 # child pages of another page | |
96 assert_equal expected, textilizable("{{child_pages(Another_page, parent=1)}}", :object => WikiPage.find(1).content) | |
97 | |
98 @project = Project.find(2) | |
99 assert_equal expected, textilizable("{{child_pages(ecookbook:Another_page, parent=1)}}", :object => WikiPage.find(1).content) | |
100 end | |
101 end |