diff --git a/test/unit/revision_test.rb b/test/unit/revision_test.rb
index 7a29ed36..2ce24f04 100755
--- a/test/unit/revision_test.rb
+++ b/test/unit/revision_test.rb
@@ -4,7 +4,8 @@ require File.dirname(__FILE__) + '/../test_helper'
require 'web'
require 'revision'
-class WebStub < Web;
+class WebStub < Web
+ def initialize(); end
attr_accessor :markup
def pages() PagesStub.new end
def safe_mode() false end
@@ -20,58 +21,16 @@ end
class RevisionTest < Test::Unit::TestCase
def setup
- @page = PageStub.new
@web = WebStub.new
- @page.web = @web
-
@web.markup = :textile
+ @page = PageStub.new
+ @page.web = @web
+
@revision = Revision.new(@page, 1,
'HisWay would be MyWay in kinda ThatWay in HisWay though MyWay \\OverThere -- ' +
'see SmartEngine in that SmartEngineGUI',
Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
-
- @revision_with_auto_links = Revision.new(@page, 1,
- "http://www.loudthinking.com/ points to ThatWay from david@loudthinking.com",
- Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
-
- @revision_with_aliased_links = Revision.new(@page, 1,
- 'Would a [[SmartEngine|clever motor]] go by any other name?',
- Time.local(2004, 4, 4, 16, 50), 'MarkReid')
-
- @revision_with_wiki_word_in_em = Revision.new(@page, 1, '_should we go ThatWay or ThisWay _',
- Time.local(2004, 4, 4, 16, 50), 'MarkReid')
-
- @revision_with_pre_blocks = Revision.new(@page, 1,
- 'A class SmartEngine end
would not mark up
CodeBlocks', - Time.local(2004, 4, 4, 16, 50), 'MarkReid') - - @revision_with_wikiword_in_tag = Revision.new(@page, 1, - 'That is some Stylish Emphasis', - Time.local(2004, 4, 4, 16, 50), 'MarkReid') - - @revision_with_autolink_in_parentheses = Revision.new( - @page, 1, 'The W3C body (http://www.w3c.org) sets web standards', - Time.local(2004, 4, 4, 16, 50), 'MarkReid') - - @revision_with_link_in_parentheses = Revision.new( - @page, 1, - 'Instiki is a "Wiki Clone":http://www.c2.com/cgi/wiki?WikiWikiClones ' + - '("What is a wiki?":http://wiki.org/wiki.cgi?WhatIsWiki) that\'s so easy to setup', - Time.local(2004, 4, 4, 16, 50), 'MarkReid' - ) - - @revision_with_image_link = Revision.new(@page, 1, - 'This !http://hobix.com/sample.jpg! is a Textile image link.', - Time.local(2004, 4, 4, 16, 50), 'MarkReid') - - @revision_with_nowiki_text = Revision.new(@page, 1, - 'Do not mark up
that } + + %{Smart Engine GUI?
}, + "My Headline\n===========\n\n that SmartEngineGUI") - @revision_with_code_block = Revision.new(@page, 1, - [ 'This is a code block:', + code_block = [ + 'This is a code block:', '', ' def a_method(arg)', ' return ThatWay', '', - 'Nice!'].join("\n"), - Time.local(2004, 4, 4, 16, 50), - 'MarkReid' - ) + 'Nice!' + ].join("\n") - assert_equal %{that } + - %{Smart Engine GUI?
}, - @revision.display_content - - assert_equal %{This is a code block:
\n\ndef a_method(arg)\n} +
+ assert_markup_parsed_as(
+ %{This is a code block:
\n\ndef a_method(arg)\n} +
%{return ThatWay\n
\n\nNice!
},
- @revision_with_code_block.display_content
+ code_block)
end
def test_rdoc
@@ -130,65 +86,81 @@ class RevisionTest < Test::Unit::TestCase
@revision = Revision.new(@page, 1, '+hello+ that SmartEngineGUI',
Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
- assert_equal "hello that Smart Engine GUI' +
+ assert_equal "hello that Smart Engine GUI" +
"?\n\n", @revision.display_content
end
def test_content_with_auto_links
- assert_equal 'http://www.loudthinking.com/ ' +
+ assert_markup_parsed_as(
+ '
http://www.loudthinking.com/ ' +
'points to That Way from ' +
'david@loudthinking.com
',
- @revision_with_auto_links.display_content
+ 'http://www.loudthinking.com/ points to ThatWay from david@loudthinking.com')
+
end
def test_content_with_aliased_links
- assert_equal 'Would a clever motor' +
- ' go by any other name?
', @revision_with_aliased_links.display_content
+ assert_markup_parsed_as(
+ 'Would a clever motor' +
+ ' go by any other name?
',
+ 'Would a [[SmartEngine|clever motor]] go by any other name?')
end
def test_content_with_wikiword_in_em
- assert_equal 'should we go ' +
+ assert_markup_parsed_as(
+ 'should we go ' +
'That Way or This Way?' +
- '
', @revision_with_wiki_word_in_em.display_content
+ '
',
+ '_should we go ThatWay or ThisWay _')
end
def test_content_with_wikiword_in_tag
- assert_equal 'That is some Stylish Emphasis
',
- @revision_with_wikiword_in_tag.display_content
+ assert_markup_parsed_as(
+ 'That is some Stylish Emphasis
',
+ 'That is some Stylish Emphasis')
end
def test_content_with_pre_blocks
- assert_equal 'A class SmartEngine end
would not mark up CodeBlocks
',
- @revision_with_pre_blocks.display_content
+ assert_markup_parsed_as(
+ 'A class SmartEngine end
would not mark up CodeBlocks
',
+ 'A class SmartEngine end
would not mark up CodeBlocks
')
end
def test_content_with_autolink_in_parentheses
- assert_equal 'The W3C body (' +
+ assert_markup_parsed_as(
+ 'The W3C body (' +
'http://www.w3c.org) sets web standards
',
- @revision_with_autolink_in_parentheses.display_content
+ 'The W3C body (http://www.w3c.org) sets web standards')
end
def test_content_with_link_in_parentheses
- assert_equal 'Instiki is a Wiki Clone' +
+ assert_markup_parsed_as(
+ 'Instiki is a Wiki Clone' +
' (What is a wiki?) that’s ' +
- 'so easy to setup
', @revision_with_link_in_parentheses.display_content
+ 'so easy to setup
',
+ 'Instiki is a "Wiki Clone":http://www.c2.com/cgi/wiki?WikiWikiClones ' +
+ '("What is a wiki?":http://wiki.org/wiki.cgi?WhatIsWiki) that\'s so easy to setup')
end
def test_content_with_image_link
- assert_equal 'This is a Textile image ' +
- 'link.
', @revision_with_image_link.display_content
+ assert_markup_parsed_as(
+ 'This is a Textile image link.
',
+ 'This !http://hobix.com/sample.jpg! is a Textile image link.')
end
def test_content_with_nowiki_text
- assert_equal 'Do not mark up [[this text]] or http://www.thislink.com.
',
- @revision_with_nowiki_text.display_content
+ assert_markup_parsed_as(
+ 'Do not mark up [[this text]] or http://www.thislink.com.
',
+ 'Do not mark up [[this text]] ' +
+ 'or http://www.thislink.com .')
end
def test_content_with_bracketted_wiki_word
@web.brackets_only = true
- assert_equal 'This is a WikiWord and a tricky name ' +
+ assert_markup_parsed_as(
+ 'This is a WikiWord and a tricky name ' +
'Sperberg-McQueen?.
',
- @revision_with_bracketted_wiki_word.display_content
+ 'This is a WikiWord and a tricky name [[Sperberg-McQueen]].')
end
def test_content_for_export
@@ -228,21 +200,23 @@ class RevisionTest < Test::Unit::TestCase
end
def test_revisions_diff
- page = PageStub.new
- web = WebStub.new
- web.markup = :textile
- page.web = web
- page.revisions = [ 0 ]
- page.revisions << Revision.new(page, 1, 'What a blue and lovely morning',
- Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
+ @page.revisions = [
+ Revision.new(@page, 0, 'What a blue and lovely morning',
+ Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson'),
+ Revision.new(@page, 1, 'What a red and lovely morning today',
+ Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
+ ]
- page.revisions << Revision.new(page, 2, 'What a red and lovely morning today',
- Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
-
assert_equal "What a blue red " +
"and lovely morningmorning " +
- "today
", page.revisions.last.display_diff
+ "today
", @page.revisions.last.display_diff
+ end
+
+
+ def assert_markup_parsed_as(expected_output, input)
+ revision = Revision.new(@page, 1, input, Time.local(2004, 4, 4, 16, 50), 'AnAuthor')
+ assert_equal expected_output, revision.display_content, 'Textile output not as expected'
end
end