summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/wiki_contents.yml12
-rw-r--r--test/fixtures/wiki_pages.yml5
-rw-r--r--test/fixtures/wikis.yml6
-rw-r--r--test/unit/helpers/application_helper_test.rb44
4 files changed, 64 insertions, 3 deletions
diff --git a/test/fixtures/wiki_contents.yml b/test/fixtures/wiki_contents.yml
index a230b9c08..6937dbd14 100644
--- a/test/fixtures/wiki_contents.yml
+++ b/test/fixtures/wiki_contents.yml
@@ -21,4 +21,14 @@ wiki_contents_002:
version: 1
author_id: 1
comments:
- \ No newline at end of file
+wiki_contents_003:
+ text: |-
+ h1. Start page
+
+ E-commerce web site start page
+ updated_on: 2007-03-08 00:18:07 +01:00
+ page_id: 3
+ id: 3
+ version: 1
+ author_id: 1
+ comments:
diff --git a/test/fixtures/wiki_pages.yml b/test/fixtures/wiki_pages.yml
index ca9d6f5dc..ee260291d 100644
--- a/test/fixtures/wiki_pages.yml
+++ b/test/fixtures/wiki_pages.yml
@@ -9,4 +9,9 @@ wiki_pages_002:
title: Another_page
id: 2
wiki_id: 1
+wiki_pages_003:
+ created_on: 2007-03-08 00:18:07 +01:00
+ title: Start_page
+ id: 3
+ wiki_id: 2
\ No newline at end of file
diff --git a/test/fixtures/wikis.yml b/test/fixtures/wikis.yml
index ff7b4a1ae..dd1c55cea 100644
--- a/test/fixtures/wikis.yml
+++ b/test/fixtures/wikis.yml
@@ -4,3 +4,9 @@ wikis_001:
start_page: CookBook documentation
project_id: 1
id: 1
+wikis_002:
+ status: 1
+ start_page: Start page
+ project_id: 2
+ id: 2
+ \ No newline at end of file
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 2af6c5599..33509cfc0 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -20,7 +20,7 @@ require File.dirname(__FILE__) + '/../../test_helper'
class ApplicationHelperTest < HelperTestCase
include ApplicationHelper
include ActionView::Helpers::TextHelper
- fixtures :projects, :repositories, :changesets, :trackers, :issue_statuses, :issues
+ fixtures :projects, :repositories, :changesets, :trackers, :issue_statuses, :issues, :documents, :versions, :wikis, :wiki_pages, :wiki_contents
def setup
super
@@ -66,12 +66,52 @@ class ApplicationHelperTest < HelperTestCase
def test_redmine_links
issue_link = link_to('#3', {:controller => 'issues', :action => 'show', :id => 3},
:class => 'issue', :title => 'Error 281 when updating a recipe (New)')
+
changeset_link = link_to('r1', {:controller => 'repositories', :action => 'revision', :id => 1, :rev => 1},
:class => 'changeset', :title => 'My very first commit')
+ document_link = link_to('Test document', {:controller => 'documents', :action => 'show', :id => 1},
+ :class => 'document')
+
+ version_link = link_to('1.0', {:controller => 'versions', :action => 'show', :id => 2},
+ :class => 'version')
+
to_test = {
'#3, #3 and #3.' => "#{issue_link}, #{issue_link} and #{issue_link}.",
- 'r1' => changeset_link
+ 'r1' => changeset_link,
+ 'document#1' => document_link,
+ 'document:"Test document"' => document_link,
+ 'version#2' => version_link,
+ 'version:1.0' => version_link,
+ 'version:"1.0"' => version_link,
+ # escaping
+ '!#3.' => '#3.',
+ '!r1' => 'r1',
+ '!document#1' => 'document#1',
+ '!document:"Test document"' => 'document:"Test document"',
+ '!version#2' => 'version#2',
+ '!version:1.0' => 'version:1.0',
+ '!version:"1.0"' => 'version:"1.0"',
+ }
+ @project = Project.find(1)
+ to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
+ end
+
+ def test_wiki_links
+ to_test = {
+ '[[CookBook documentation]]' => '<a href="/wiki/ecookbook/CookBook_documentation" class="wiki-page">CookBook documentation</a>',
+ '[[Another page|Page]]' => '<a href="/wiki/ecookbook/Another_page" class="wiki-page">Page</a>',
+ # page that doesn't exist
+ '[[Unknown page]]' => '<a href="/wiki/ecookbook/Unknown_page" class="wiki-page new">Unknown page</a>',
+ '[[Unknown page|404]]' => '<a href="/wiki/ecookbook/Unknown_page" class="wiki-page new">404</a>',
+ # link to another project wiki
+ '[[onlinestore:]]' => '<a href="/wiki/onlinestore/" class="wiki-page">onlinestore</a>',
+ '[[onlinestore:|Wiki]]' => '<a href="/wiki/onlinestore/" class="wiki-page">Wiki</a>',
+ '[[onlinestore:Start page]]' => '<a href="/wiki/onlinestore/Start_page" class="wiki-page">Start page</a>',
+ '[[onlinestore:Start page|Text]]' => '<a href="/wiki/onlinestore/Start_page" class="wiki-page">Text</a>',
+ '[[onlinestore:Unknown page]]' => '<a href="/wiki/onlinestore/Unknown_page" class="wiki-page new">Unknown page</a>',
+ # escaping
+ '![[Another page|Page]]' => '[[Another page|Page]]',
}
@project = Project.find(1)
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }