diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..b52778f7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +script: "bundle exec rake test" +rvm: + - 1.8.7 + - 1.9.2 + - rbx-2.0 diff --git a/Gemfile b/Gemfile index c80ee369..fe867854 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source "http://rubygems.org" gemspec +gem "rake", "~> 0.9.2" diff --git a/gollum.gemspec b/gollum.gemspec index 8e7f7402..07e88cff 100644 --- a/gollum.gemspec +++ b/gollum.gemspec @@ -29,6 +29,7 @@ Gem::Specification.new do |s| s.add_dependency('mustache', [">= 0.11.2", "< 1.0.0"]) s.add_dependency('sanitize', "~> 2.0.0") s.add_dependency('nokogiri', "~> 1.4") + s.add_dependency('redcarpet') s.add_development_dependency('RedCloth') s.add_development_dependency('mocha') @@ -38,7 +39,6 @@ Gem::Specification.new do |s| s.add_development_dependency('rack-test') s.add_development_dependency('wikicloth') s.add_development_dependency('rake') - s.add_development_dependency('redcarpet') # = MANIFEST = s.files = %w[ diff --git a/lib/gollum/git_access.rb b/lib/gollum/git_access.rb index 21444f68..9fe5298e 100644 --- a/lib/gollum/git_access.rb +++ b/lib/gollum/git_access.rb @@ -28,13 +28,17 @@ module Gollum # # ref - a String Git reference (ex: "master") # - # Returns a String. + # Returns a String, or nil if the ref isn't found. def ref_to_sha(ref) - if sha?(ref) - ref - else - get_cache(:ref, ref) { ref_to_sha!(ref) } - end + ref = ref.to_s + return if ref.empty? + sha = + if sha?(ref) + ref + else + get_cache(:ref, ref) { ref_to_sha!(ref) } + end.to_s + sha.empty? ? nil : sha end # Public: Gets a recursive list of Git blobs for the whole tree at the @@ -238,4 +242,4 @@ module Gollum path end end -end \ No newline at end of file +end diff --git a/lib/gollum/wiki.rb b/lib/gollum/wiki.rb index 1cbb2f8b..9c37bc1f 100644 --- a/lib/gollum/wiki.rb +++ b/lib/gollum/wiki.rb @@ -525,11 +525,14 @@ module Gollum # # Returns a flat Array of Gollum::Page instances. def tree_list(ref) - sha = @access.ref_to_sha(ref) - commit = @access.commit(sha) - tree_map_for(sha).inject([]) do |list, entry| - next list unless @page_class.valid_page_name?(entry.name) - list << entry.page(self, commit) + if sha = @access.ref_to_sha(ref) + commit = @access.commit(sha) + tree_map_for(sha).inject([]) do |list, entry| + next list unless @page_class.valid_page_name?(entry.name) + list << entry.page(self, commit) + end + else + [] end end diff --git a/test/helper.rb b/test/helper.rb index bde85157..78189633 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -38,6 +38,12 @@ def commit_details :email => "tom@github.com" } end +def normal(text) + text.gsub!(' ', '') + text.gsub!("\n", '') + text +end + # test/spec/mini 3 # http://gist.github.com/25455 # chris@ozmm.org diff --git a/test/test_markup.rb b/test/test_markup.rb index ffe6364f..988a34d4 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -173,7 +173,7 @@ context "Markup" do @wiki.write_page("Potato", :mediawiki, "a [[Potato|Potato Heaad]] ", commit_details) page = @wiki.page("Potato") output = page.formatted_data - assert_equal "
\na Potato Heaad
", output + assert_equal normal("\na Potato Heaad
"), normal(output) end ######################################################################### @@ -476,8 +476,8 @@ context "Markup" do test "id prefix added" do content = "h2(#foo). xxxx[1]\n\nfn1.footnote" output = "1 footnote
" + "1" + + "\n1 footnote
" compare(content, output, :textile) end @@ -513,7 +513,7 @@ context "Markup" do page = @wiki.page("Bilbo Baggins") rendered = Gollum::Markup.new(page).render if regexes.empty? - assert_equal output, rendered + assert_equal normal(output), normal(rendered) else regexes.each { |r| assert_match r, output } end @@ -528,6 +528,6 @@ context "Markup" do @wiki.clear_cache page = @wiki.page("Bilbo Baggins") rendered = Gollum::Markup.new(page).render - assert_equal output, rendered + assert_equal normal(output), normal(rendered) end end