From 8c331d101975769ed8b66c4df29fc0eee196a587 Mon Sep 17 00:00:00 2001
From: Rick Okin His Way? ' +
- 'would be My Way in kinda ' +
- 'That Way in ' +
- 'His Way? ' +
- 'though My Way OverThere—see ' +
- 'Smart Engine in that ' +
- 'Smart Engine GUI' +
- '? that } +
- %{Smart Engine GUI? This is a code block: Nice! h2. Textile heading some text with -styles- Markdown heading some text with some text with http://www.loudthinking.com/ ' +
- 'points to That Way from ' +
- 'david@loudthinking.com Would a clever motor' +
- ' go by any other name? should we go ' +
- 'That Way or This Way?' +
- ' That is some Stylish Emphasis WikiWord A My Headline
\n\n
\n\ndef a_method(arg)\n} +
- %{return ThatWay\n
Markdown heading
\n\n" +
- "\n
",
- textile_and_markdown)
-
- @web.markup = :textile
- assert_markup_parsed_as(
- "
================Textile heading
" +
- "\n\n\n\tstyles\n\t
",
- textile_and_markdown)
-
- @web.markup = :mixed
- assert_markup_parsed_as(
- "Markdown heading
\n\n\n\tTextile heading
\n\n\n\t" +
- "styles\n\t
",
- textile_and_markdown)
- end
-
- def test_rdoc
- @web.markup = :rdoc
-
- @revision = Revision.new(@page, 1, '+hello+ that SmartEngineGUI',
- Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson')
-
- assert_equal "hello that Smart Engine GUI" +
- "?\n\n", @revision.display_content
- end
-
- def test_content_with_auto_links
- assert_markup_parsed_as(
- 'class SmartEngine end
would not mark up CodeBlocks
class SmartEngine end
would not mark up CodeBlocks') - end - - def test_content_with_autolink_in_parentheses - assert_markup_parsed_as( - '
The W3C body (' + - 'http://www.w3c.org) sets web standards
', - 'The W3C body (http://www.w3c.org) sets web standards') - end - - def test_content_with_link_in_parentheses - assert_markup_parsed_as( - '', - '("What is a wiki?":http://wiki.org/wiki.cgi?WhatIsWiki)') - end - - def test_content_with_image_link - assert_markup_parsed_as( - 'This is a Textile image link.
This is an inline image link.
This is an inline image link.
Do not mark up [[this text]] or http://www.thislink.com.
', - 'Do not mark upDo not mark \n up [[this text]] \nand http://this.url.com but markup " + - 'this?
', - "Do notThis is a WikiWord and a tricky name ' + - 'Sperberg-McQueen?.
', - 'This is a WikiWord and a tricky name [[Sperberg-McQueen]].') - end - - def test_content_for_export - assert_equal 'His Way would be ' + - 'My Way in kinda ' + - 'That Way in ' + - 'His Way though ' + - 'My Way OverThere—see ' + - 'Smart Engine in that ' + - 'Smart Engine GUI
', - @revision.display_content_for_export - end - - def test_double_replacing - @revision.content = "VersionHistory\r\n\r\ncry VersionHistory" - assert_equal 'Version History' + - "?
\n\n\n\tcry " + - 'Version History?' + - '
', - @revision.display_content - - @revision.clear_display_cache - - @revision.content = "f\r\nVersionHistory\r\n\r\ncry VersionHistory" - assert_equal "f
Version History" +
- "?
cry " + - "Version History?" + - "
", - @revision.display_content - end - - def test_difficult_wiki_words - @revision.content = "[[It's just awesome GUI!]]" - assert_equal "It's just awesome GUI!" + - "?
", - @revision.display_content - end - - def test_revisions_diff - - @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') - ] - - assert_equal "What a blue red " +
- "and lovely morningmorning " +
- "today
doc.pdf?
', - '[[doc.pdf:file]]') - end - - def test_link_to_pic - FileUtils.mkdir_p "#{RAILS_ROOT}/storage/test/wiki1" - FileUtils.rm(Dir["#{RAILS_ROOT}/storage/test/wiki1/*"]) - @wiki.file_yard(@web).upload_file('square.jpg', StringIO.new('')) - assert_markup_parsed_as( - 'NonExistant?' + - '
', - '[[NonExistant.jpg|NonExistant:pic]]') - assert_markup_parsed_as( - 'NonExistant.jpg?' + - '
', - '[[NonExistant.jpg:pic]]') - end - - def test_wiki_link_with_colon - assert_markup_parsed_as( - 'With:Colon?
', - '[[With:Colon]]') - end - - # TODO Remove the leading underscores from this test when upgrading to RedCloth 3.0.1; - # also add a test for the "Unhappy Face" problem (another interesting RedCloth bug) - def test_list_with_tildas - list_with_tildas = <<-EOL - * "a":~b - * c~ d - EOL - - assert_markup_parsed_as( - "\nss
Yo, yo. Have you Ever Been Hated' + - '?
', - @web.pages["SecondPage"].display_content) - - @web.add_page('EverBeenHated', 'Yo, yo. Have you EverBeenHated', Time.now, - 'DavidHeinemeierHansson') - assert_equal('Yo, yo. Have you Ever Been Hated
', - @web.pages['SecondPage'].display_content) - end - - def test_pages_by_revision - add_sample_pages - assert_equal 'EverBeenHated', @web.select.by_revision.first.name - end - - def test_pages_by_match - add_sample_pages - assert_equal 2, @web.select { |page| page.content =~ /me/i }.length - assert_equal 1, @web.select { |page| page.content =~ /Who/i }.length - assert_equal 0, @web.select { |page| page.content =~ /none/i }.length - end - - def test_references - add_sample_pages - assert_equal 1, @web.select.pages_that_reference('EverBeenHated').length - assert_equal 0, @web.select.pages_that_reference('EverBeenInLove').length - end - - def test_delete - add_sample_pages - assert_equal 2, @web.pages.length - @web.remove_pages([ @web.pages['EverBeenInLove'] ]) - assert_equal 1, @web.pages.length - end - - def test_make_link - add_sample_pages - - existing_page_wiki_url = - 'Ever Been In Love' - existing_page_published_url = - 'Ever Been In Love' - existing_page_static_url = - 'Ever Been In Love' - new_page_wiki_url = - 'Unknown Word?' - new_page_published_url = - new_page_static_url = - 'Unknown Word' - - # no options - assert_equal existing_page_wiki_url, @web.make_link('EverBeenInLove') - - # :mode => :export - assert_equal existing_page_static_url, @web.make_link('EverBeenInLove', nil, :mode => :export) - - # :mode => :publish - assert_equal existing_page_published_url, - @web.make_link('EverBeenInLove', nil, :mode => :publish) - - # new page, no options - assert_equal new_page_wiki_url, @web.make_link('UnknownWord') - - # new page, :mode => :export - assert_equal new_page_static_url, @web.make_link('UnknownWord', nil, :mode => :export) - - # new page, :mode => :publish - assert_equal new_page_published_url, @web.make_link('UnknownWord', nil, :mode => :publish) - - # Escaping special characters in the name - assert_equal( - 'Smith & Wesson?', - @web.make_link('Smith & Wesson')) - - # optionally using text as the link text - assert_equal( - existing_page_published_url.sub(/>Ever Been In Love, ">Haven't you ever been in love?<"), - @web.make_link('EverBeenInLove', "Haven't you ever been in love?", :mode => :publish)) - - end - - def test_initialize - wiki_stub = Object.new - - web = Web.new(wiki_stub, 'Wiki2', 'wiki2', '123') - - assert_equal wiki_stub, web.wiki - assert_equal 'Wiki2', web.name - assert_equal 'wiki2', web.address - assert_equal '123', web.password - - # new web should be set for maximum features enabled - assert_equal :textile, web.markup - assert_equal '008B26', web.color - assert !web.safe_mode - assert_equal({}, web.pages) - assert web.allow_uploads - assert_equal wiki_stub, web.wiki - assert_nil web.additional_style - assert !web.published - assert !web.brackets_only - assert !web.count_pages - assert web.allow_uploads - assert_equal 100, web.max_upload_size - end - - def test_initialize_invalid_name - wiki_stub = Object.new - assert_raises(Instiki::ValidationError) { - Web.new(wiki_stub, 'Wiki2', "wiki\234", '123') - } - end - - def test_new_page_linked_from_mother_page - # this was a bug in revision 204 - home = @web.add_page('HomePage', 'This page refers to AnotherPage', - Time.local(2004, 4, 4, 16, 50), 'Alexey Verkhovsky') - @web.add_page('AnotherPage', 'This is \AnotherPage', - Time.local(2004, 4, 4, 16, 51), 'Alexey Verkhovsky') - - assert_equal [home], @web.select.pages_that_link_to('AnotherPage') - end - - def test_orphaned_pages - add_sample_pages - home = @web.add_page('HomePage', - 'This is a home page, it should not be an orphan', - Time.local(2004, 4, 4, 16, 50), 'AlexeyVerkhovsky') - author = @web.add_page('AlexeyVerkhovsky', - 'This is an author page, it should not be an orphan', - Time.local(2004, 4, 4, 16, 50), 'AlexeyVerkhovsky') - self_linked = @web.add_page('SelfLinked', - 'I am me SelfLinked and link to EverBeenInLove', - Time.local(2004, 4, 4, 16, 50), 'AnonymousCoward') - - # page that links to itself, and nobody else links to it must be an orphan - assert_equal ['EverBeenHated', 'SelfLinked'], - @web.select.orphaned_pages.collect{ |page| page.name }.sort - end - - - private - - def add_sample_pages - @in_love = @web.add_page('EverBeenInLove', 'Who am I me', - Time.local(2004, 4, 4, 16, 50), 'DavidHeinemeierHansson') - @hated = @web.add_page('EverBeenHated', 'I am me EverBeenHated', - Time.local(2004, 4, 4, 16, 51), 'DavidHeinemeierHansson') - end -end diff --git a/test-old/unit/wiki_service_test.rb b/test-old/unit/wiki_service_test.rb deleted file mode 100755 index c02c61ff..00000000 --- a/test-old/unit/wiki_service_test.rb +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/env ruby -w - -require File.dirname(__FILE__) + '/../test_helper' -require 'wiki_service' -require 'fileutils' - -class WikiServiceTest < Test::Unit::TestCase - - # Clean the test storage directory before the run - unless defined? @@storage_cleaned - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/*.command_log']) - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/*.snapshot']) - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/*.tex']) - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/*.zip']) - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/*.pdf']) - FileUtils.rm(Dir[RAILS_ROOT + '/storage/test/instiki/*']) - @@cleaned_storage = true - WikiService.instance.setup('pswd', 'Wiki', 'wiki') - end - - def setup - @s = WikiService.instance - @s.create_web 'Instiki', 'instiki' - @web = @s.webs['instiki'] - end - - def teardown - @s.delete_web 'instiki' - end - - def test_read_write_page - @s.write_page 'instiki', 'FirstPage', "Electric shocks, I love 'em", - Time.now, 'DavidHeinemeierHansson' - assert_equal "Electric shocks, I love 'em", @s.read_page('instiki', 'FirstPage').content - end - - def test_read_only_operations - @s.write_page 'instiki', 'TestReadOnlyOperations', 'Read only operations dont change the' + - 'state of any object, and therefore should not be logged by Madeleine!', - Time.now, 'AlexeyVerkhovsky' - - assert_doesnt_change_state_or_log :authenticate, 'pswd' - assert_doesnt_change_state_or_log :read_page, 'instiki', 'TestReadOnlyOperations' - assert_doesnt_change_state_or_log :setup? - assert_doesnt_change_state_or_log :webs - - @s.write_page 'instiki', 'FirstPage', "Electric shocks, I love 'em", - Time.now, 'DavidHeinemeierHansson' - assert_equal "Electric shocks, I love 'em", @s.read_page('instiki', 'FirstPage').content - end - - def test_aborted_transaction - @s.write_page 'instiki', 'FirstPage', "Electric shocks, I love 'em", - 10.minutes.ago, 'DavidHeinemeierHansson' - - assert_doesnt_change_state('revise_page with unchanged content') { - begin - @s.revise_page 'instiki', 'FirstPage', "Electric shocks, I love 'em", - Time.now, 'DavidHeinemeierHansson' - fail 'Expected Instiki::ValidationError not raised' - rescue Instiki::ValidationError - end - } - end - - def test_file_yard - file_yard = @s.file_yard(@web) - assert_equal FileYard, file_yard.class - assert_equal(@s.storage_path + '/instiki', file_yard.files_path) - end - - def test_edit_web_validations - another_web = @s.create_web 'Another', 'another' - - # try to rename instiki web to another (which is the name of an already existing one) - assert_raises(Instiki::ValidationError) { - @s.edit_web('instiki', 'another', @web.name, @web.markup, @web.color, @web.additional_style) - } - - assert_raises(Instiki::ValidationError) { - @s.edit_web('nonexistant', 'another', @web.name, @web.markup, @web.color, @web.additional_style) - } - end - - - # Checks that a method call or a block doesn;t change the persisted state of the wiki - # Usage: - # assert_doesnt_change_state :read_page, 'instiki', 'TestReadOnlyOperations' - # or - # assert_doesnt_change_state {|wiki| wiki.webs} - - def assert_doesnt_change_state(method, *args, &block) - _assert_doesnt_change_state(including_command_log = false, method, *args, &block) - end - - # Same as assert_doesnt_change_state, but also asserts that no vommand log is generated - def assert_doesnt_change_state_or_log(method, *args, &block) - _assert_doesnt_change_state(including_command_log = true, method, *args, &block) - end - - private - - def _assert_doesnt_change_state(including_log, method, *args) - WikiService.snapshot - last_snapshot_before = last_snapshot - - if block_given? - yield @s - else - @s.send(method, *args) - end - - if including_log - command_logs = Dir[RAILS_ROOT + 'storage/test/*.command_log'] - assert command_logs.empty?, "Calls to #{method} should not be logged" - end - - last_snapshot_after = last_snapshot - assert last_snapshot_before == last_snapshot_after, - 'Calls to #{method} should not change the state of any persisted object' - end - - def last_snapshot - snapshots = Dir[RAILS_ROOT + '/storage/test/*.snapshot'] - assert !snapshots.empty?, "No snapshots found at #{RAILS_ROOT}/storage/test/" - File.read(snapshots.last) - end - -end diff --git a/test-old/fixtures/rails.gif b/test/fixtures/rails.gif similarity index 100% rename from test-old/fixtures/rails.gif rename to test/fixtures/rails.gif diff --git a/test-old/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb similarity index 100% rename from test-old/functional/admin_controller_test.rb rename to test/functional/admin_controller_test.rb diff --git a/test-old/functional/application_test.rb b/test/functional/application_test.rb similarity index 100% rename from test-old/functional/application_test.rb rename to test/functional/application_test.rb diff --git a/test-old/functional/file_controller_test.rb b/test/functional/file_controller_test.rb similarity index 100% rename from test-old/functional/file_controller_test.rb rename to test/functional/file_controller_test.rb diff --git a/test/routes_test.rb b/test/functional/routes_test.rb similarity index 100% rename from test/routes_test.rb rename to test/functional/routes_test.rb diff --git a/test-old/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb similarity index 100% rename from test-old/functional/wiki_controller_test.rb rename to test/functional/wiki_controller_test.rb diff --git a/test-old/watir/e2e.rb b/test/watir/e2e.rb similarity index 100% rename from test-old/watir/e2e.rb rename to test/watir/e2e.rb