From bb06b566cdd58a7e7a9286d3828506a2c45f38c7 Mon Sep 17 00:00:00 2001 From: risk Date: Thu, 14 Jul 2011 14:30:23 -0700 Subject: [PATCH 1/7] GitAccess#ref_to_sha should never return a blank string --- lib/gollum/git_access.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/gollum/git_access.rb b/lib/gollum/git_access.rb index 21444f68e..9fe5298e3 100644 --- a/lib/gollum/git_access.rb +++ b/lib/gollum/git_access.rb @@ -28,13 +28,17 @@ def exist? # # 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 @@ def decode_git_path(path) path end end -end \ No newline at end of file +end From b7ffc4051cbddac47e251ec7856aec18a45533d8 Mon Sep 17 00:00:00 2001 From: Ryan Tomayko Date: Thu, 14 Jul 2011 14:34:49 -0700 Subject: [PATCH 2/7] Wiki#tree_list returns an empty array if the ref doesnt resolve Signed-off-by: risk --- lib/gollum/wiki.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/gollum/wiki.rb b/lib/gollum/wiki.rb index 8f042c5ba..ea9bddd6f 100644 --- a/lib/gollum/wiki.rb +++ b/lib/gollum/wiki.rb @@ -520,11 +520,14 @@ def page_file_name(name, format) # # 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 From d51a82903858ba8da48334123183703829795896 Mon Sep 17 00:00:00 2001 From: Scott Chacon Date: Tue, 19 Jul 2011 12:54:13 -0700 Subject: [PATCH 3/7] rake is needed to run the tests in dev --- gollum.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/gollum.gemspec b/gollum.gemspec index 5714e44cc..cde331bcb 100644 --- a/gollum.gemspec +++ b/gollum.gemspec @@ -37,6 +37,7 @@ Gem::Specification.new do |s| s.add_development_dependency('shoulda') s.add_development_dependency('rack-test') s.add_development_dependency('wikicloth') + s.add_development_dependency('rake') # = MANIFEST = s.files = %w[ From 5a7659e1c39b9e83377df79a80997893c6b7074f Mon Sep 17 00:00:00 2001 From: Scott Chacon Date: Tue, 19 Jul 2011 12:55:19 -0700 Subject: [PATCH 4/7] fix tests breaking due to whitespace issues --- test/helper.rb | 6 ++++++ test/test_markup.rb | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/test/helper.rb b/test/helper.rb index bde851571..78189633d 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 ffe6364fb..2ad760888 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -173,7 +173,7 @@ @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 ######################################################################### @@ -513,7 +513,7 @@ def compare(content, output, ext = "md", regexes = []) 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 @@ def relative_image(content, output) @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 From aa258dbe6b802dce4171f493bfc76d56819457ad Mon Sep 17 00:00:00 2001 From: Scott Chacon Date: Tue, 19 Jul 2011 12:55:43 -0700 Subject: [PATCH 5/7] fix test breaking due to new footnote anchor --- test/test_markup.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_markup.rb b/test/test_markup.rb index 2ad760888..988a34d40 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -476,8 +476,8 @@ test "id prefix added" do content = "h2(#foo). xxxx[1]\n\nfn1.footnote" output = "

xxxx" + - "1

" + - "\n

1 footnote

" + "1" + + "\n

1 footnote

" compare(content, output, :textile) end From 70bf86f5617dcb8480aeb9ebbf38341a4b0647f9 Mon Sep 17 00:00:00 2001 From: risk Date: Thu, 21 Jul 2011 14:42:27 -0700 Subject: [PATCH 6/7] specify rake gem in gemfile --- Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Gemfile b/Gemfile index c80ee3697..fe8678540 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source "http://rubygems.org" gemspec +gem "rake", "~> 0.9.2" From d9b1ea3d5105c9aec2466537b13f62c630e87953 Mon Sep 17 00:00:00 2001 From: risk Date: Thu, 21 Jul 2011 14:42:41 -0700 Subject: [PATCH 7/7] track builds in travis-ci --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..b52778f76 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +script: "bundle exec rake test" +rvm: + - 1.8.7 + - 1.9.2 + - rbx-2.0