summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-01-15 18:12:12 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-01-15 18:12:12 +0000
commit702b521b453ac5abfe9ae6336ff129cbd83f1eca (patch)
tree55ad3c5a7973067a76cac39a8bd1acef0965a03b /test
parent4e1e5985a1a6763d5413ccd0524213d8cd3dc4a7 (diff)
downloadredmine-702b521b453ac5abfe9ae6336ff129cbd83f1eca.tar.gz
redmine-702b521b453ac5abfe9ae6336ff129cbd83f1eca.zip
Redmine links can be used to link to documents, versions and attachments.
For now, attachments of the current object can be referenced only (if you're on an issue, it's possible reference attachments of this issue only). git-svn-id: http://redmine.rubyforge.org/svn/trunk@1064 e93f8b46-1217-0410-a6f0-8f06a7374b81
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) }