From 0c6626c3750aeda458dadc9033817eb2294c92f9 Mon Sep 17 00:00:00 2001 From: Alexey Verkhovsky Date: Sun, 11 Sep 2005 05:59:21 +0000 Subject: [PATCH] Corrected WikiReference::link_type when a newly created page refers to itself (should be 'L', not 'W') --- lib/page_renderer.rb | 8 +++++++- test/unit/page_renderer_test.rb | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/page_renderer.rb b/lib/page_renderer.rb index 39b28052..23ab3e79 100644 --- a/lib/page_renderer.rb +++ b/lib/page_renderer.rb @@ -94,9 +94,15 @@ class PageRenderer wiki_words = wiki_word_chunks.map { |c| ( c.escaped? ? nil : c.page_name ) }.compact.uniq wiki_words.each do |referenced_page_name| + # Links to self are always considered linked + if referenced_page_name == @revision.page.name + link_type = WikiReference::LINKED_PAGE + else + link_type = WikiReference.link_type(@revision.page.web, referenced_page_name) + end @revision.page.wiki_references.create({ :referenced_page_name => referenced_page_name, - :link_type => WikiReference.link_type(@revision.page.web, referenced_page_name) + :link_type => link_type }) end result diff --git a/test/unit/page_renderer_test.rb b/test/unit/page_renderer_test.rb index e04540c8..0a555e34 100644 --- a/test/unit/page_renderer_test.rb +++ b/test/unit/page_renderer_test.rb @@ -328,13 +328,18 @@ class PageRendererTest < Test::Unit::TestCase # Tests for the caching of wiki references and categories def test_references_creation - new_page = @web.add_page('NewPage', 'HomePage', + new_page = @web.add_page('NewPage', 'HomePage NewPage', Time.local(2004, 4, 4, 16, 50), 'AlexeyVerkhovsky', test_renderer) references = new_page.wiki_references(true) - assert_equal 1, references.size + assert_equal 2, references.size assert_equal 'HomePage', references[0].referenced_page_name assert_equal WikiReference::LINKED_PAGE, references[0].link_type + assert_equal 'NewPage', references[1].referenced_page_name + assert_equal WikiReference::LINKED_PAGE, references[1].link_type + end + + def test_rendering_changes_references_from_wanted_to_linked end private