diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index afacbbea..5229d8e0 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -44,7 +44,7 @@ module Gollum # # Returns the placeholder'd String data. def extract_tags(data) - data.gsub(/(.?)\[\[(.+?)\]\](.?)/m) do + data.gsub(/(.?)\[\[(.+?)\]\]([^\[]?)/m) do if $1 == "'" && $3 != "'" "[[#{$2}]]#{$3}" elsif $2.include?('][') diff --git a/test/test_markup.rb b/test/test_markup.rb index d14a4ef5..93c8b2c7 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -16,11 +16,25 @@ context "Markup" do FileUtils.rm_r(File.join(File.dirname(__FILE__), *%w[examples test.git])) end + test "double page links no space" do + @wiki.write_page("Bilbo Baggins", :markdown, "a [[Foo]][[Bar]] b", @commit) + + page = @wiki.page("Bilbo Baggins") + assert_equal "
", page.formatted_data + end + + test "double page links with space" do + @wiki.write_page("Bilbo Baggins", :markdown, "a [[Foo]] [[Bar]] b", @commit) + + page = @wiki.page("Bilbo Baggins") + assert_equal "", page.formatted_data + end + test "page link" do @wiki.write_page("Bilbo Baggins", :markdown, "a [[Bilbo Baggins]] b", @commit) page = @wiki.page("Bilbo Baggins") - output = Gollum::Markup.new(page).render + output = page.formatted_data assert_match /class="internal present"/, output assert_match /href="\/Bilbo-Baggins"/, output assert_match /\>Bilbo Baggins\, output @@ -30,7 +44,7 @@ context "Markup" do @wiki.write_page("Tolkien", :markdown, "a [[J. R. R. Tolkien]]'s b", @commit) page = @wiki.page("Tolkien") - output = Gollum::Markup.new(page).render + output = page.formatted_data assert_match /class="internal absent"/, output assert_match /href="\/J\.\-R\.\-R\.\-Tolkien"/, output assert_match /\>J\. R\. R\. Tolkien\, output @@ -42,7 +56,7 @@ context "Markup" do @wiki.write_page("Bilbo Baggins", :markdown, "a [[Bilbo Baggins]] b", @commit) page = @wiki.page("Bilbo Baggins") - output = Gollum::Markup.new(page).render + output = page.formatted_data assert_match /class="internal present"/, output assert_match /href="\/wiki\/Bilbo-Baggins"/, output assert_match /\>Bilbo Baggins\, output @@ -54,7 +68,7 @@ context "Markup" do @wiki.write_page("Bilbo Baggins", :markdown, "a [[#{scheme}://example.com/bilbo.jpg]] b", @commit) page = @wiki.page("Bilbo Baggins") - output = Gollum::Markup.new(page).render + output = page.formatted_data assert_equal %{a
b
a
a b
a
a b
a
a b
a
a b
a
a b
a
a b