diff --git a/gollum.gemspec b/gollum.gemspec index 1eabfaf5..a9bf661d 100644 --- a/gollum.gemspec +++ b/gollum.gemspec @@ -29,6 +29,7 @@ Gem::Specification.new do |s| s.add_dependency('sinatra', "~> 1.0.0") s.add_dependency('mustache', [">= 0.11.2", "< 1.0.0"]) s.add_dependency('sanitize', "~> 1.0.0") + s.add_dependency('nokogiri', "~> 1.0.0") s.add_development_dependency('shoulda') s.add_development_dependency('mocha') diff --git a/lib/gollum/frontend/public/css/screen.css b/lib/gollum/frontend/public/css/screen.css index bd174078..7e6f7828 100644 --- a/lib/gollum/frontend/public/css/screen.css +++ b/lib/gollum/frontend/public/css/screen.css @@ -223,9 +223,7 @@ html {overflow-y: scroll;} } .wikistyle h1:first-child { - margin-top: 0 !important; - padding-top: .25em !important; - border-top: none !important; + display: none; } .wikistyle h2 { diff --git a/lib/gollum/frontend/views/page.rb b/lib/gollum/frontend/views/page.rb index 95ef8f13..f2ac6688 100644 --- a/lib/gollum/frontend/views/page.rb +++ b/lib/gollum/frontend/views/page.rb @@ -4,7 +4,7 @@ module Precious attr_reader :content, :page def human_name - @name.gsub(/-/, ' ') + @page.title end def title diff --git a/lib/gollum/page.rb b/lib/gollum/page.rb index ad79653e..ed7f0462 100644 --- a/lib/gollum/page.rb +++ b/lib/gollum/page.rb @@ -52,6 +52,28 @@ module Gollum @blob && @blob.name end + # Public: If the first element of a formatted page is an

tag it can + # be considered the title of the page and used in the display. If the + # first element is NOT an

tag, the title will be constructed from the + # filename by stripping the extension and replacing any dashes with + # spaces. + # + # Returns the fully sanitized String title. + def title + doc = Nokogiri::HTML(self.formatted_data) + if doc.first_element_child && + doc.first_element_child.children && + doc.first_element_child.children.first && + doc.first_element_child.children.first.children && + doc.first_element_child.children.first.children.first && + doc.first_element_child.children.first.children.first.name && + doc.first_element_child.children.first.children.first.name == 'h1' + Sanitize.clean(doc.first_element_child.children.first.children.first.to_html) + else + Sanitize.clean(self.name.split('.')[0..-2].join('.').gsub('-', ' ')) + end + end + # Public: The path of the page within the repo. # # Returns the String path. @@ -134,7 +156,7 @@ module Gollum # # Returns the String canonical name. def self.cname(name) - name.gsub(%r{[ /]}, '-') + name.gsub(%r{[ /<>]}, '-') end # Convert a format Symbol into an extension String. diff --git a/test/examples/lotr.git/info/refs b/test/examples/lotr.git/info/refs new file mode 100644 index 00000000..23535fff --- /dev/null +++ b/test/examples/lotr.git/info/refs @@ -0,0 +1 @@ +d61c3de65957b5997c236393b3ad4d70b5cd8931 refs/heads/master diff --git a/test/examples/lotr.git/objects/01/676dc56d35c1999c6fe9043fe8b78d52a0e797 b/test/examples/lotr.git/objects/01/676dc56d35c1999c6fe9043fe8b78d52a0e797 deleted file mode 100644 index 6ff4cb89..00000000 Binary files a/test/examples/lotr.git/objects/01/676dc56d35c1999c6fe9043fe8b78d52a0e797 and /dev/null differ diff --git a/test/examples/lotr.git/objects/07/9a5887755dc6fbacfdb672abc168b0cce698fa b/test/examples/lotr.git/objects/07/9a5887755dc6fbacfdb672abc168b0cce698fa deleted file mode 100644 index 682d6357..00000000 Binary files a/test/examples/lotr.git/objects/07/9a5887755dc6fbacfdb672abc168b0cce698fa and /dev/null differ diff --git a/test/examples/lotr.git/objects/0a/de1e2916346d4c1f2fb63b863fd3c16808fe44 b/test/examples/lotr.git/objects/0a/de1e2916346d4c1f2fb63b863fd3c16808fe44 deleted file mode 100644 index a2627090..00000000 Binary files a/test/examples/lotr.git/objects/0a/de1e2916346d4c1f2fb63b863fd3c16808fe44 and /dev/null differ diff --git a/test/examples/lotr.git/objects/0e/ea197b933bd98373114d59c7e49728741af3f9 b/test/examples/lotr.git/objects/0e/ea197b933bd98373114d59c7e49728741af3f9 deleted file mode 100644 index 0ee8820b..00000000 Binary files a/test/examples/lotr.git/objects/0e/ea197b933bd98373114d59c7e49728741af3f9 and /dev/null differ diff --git a/test/examples/lotr.git/objects/0e/eab62a59300666b4093cf2cfa196c1fedd0e71 b/test/examples/lotr.git/objects/0e/eab62a59300666b4093cf2cfa196c1fedd0e71 deleted file mode 100644 index cb608cb8..00000000 Binary files a/test/examples/lotr.git/objects/0e/eab62a59300666b4093cf2cfa196c1fedd0e71 and /dev/null differ diff --git a/test/examples/lotr.git/objects/11/5bbf9fe8004aa6a06274b44ab93a84a06e3204 b/test/examples/lotr.git/objects/11/5bbf9fe8004aa6a06274b44ab93a84a06e3204 deleted file mode 100644 index 25024714..00000000 Binary files a/test/examples/lotr.git/objects/11/5bbf9fe8004aa6a06274b44ab93a84a06e3204 and /dev/null differ diff --git a/test/examples/lotr.git/objects/13/304aef8994111be14b5168e5d09bc090e9e5c7 b/test/examples/lotr.git/objects/13/304aef8994111be14b5168e5d09bc090e9e5c7 deleted file mode 100644 index bb0d2154..00000000 Binary files a/test/examples/lotr.git/objects/13/304aef8994111be14b5168e5d09bc090e9e5c7 and /dev/null differ diff --git a/test/examples/lotr.git/objects/14/78ebf7ad4dc6a06c76cdb4aca0eba7f78796aa b/test/examples/lotr.git/objects/14/78ebf7ad4dc6a06c76cdb4aca0eba7f78796aa deleted file mode 100644 index e9ffb999..00000000 Binary files a/test/examples/lotr.git/objects/14/78ebf7ad4dc6a06c76cdb4aca0eba7f78796aa and /dev/null differ diff --git a/test/examples/lotr.git/objects/17/ff02e9eca7b922b839000e20ad2e853e3bbd45 b/test/examples/lotr.git/objects/17/ff02e9eca7b922b839000e20ad2e853e3bbd45 deleted file mode 100644 index 06b13fb8..00000000 Binary files a/test/examples/lotr.git/objects/17/ff02e9eca7b922b839000e20ad2e853e3bbd45 and /dev/null differ diff --git a/test/examples/lotr.git/objects/1d/a113feb1d30a8b207b7d54121a41f9563a4983 b/test/examples/lotr.git/objects/1d/a113feb1d30a8b207b7d54121a41f9563a4983 deleted file mode 100644 index 3d63bce0..00000000 Binary files a/test/examples/lotr.git/objects/1d/a113feb1d30a8b207b7d54121a41f9563a4983 and /dev/null differ diff --git a/test/examples/lotr.git/objects/1e/716a3178a76fe39ee7b88f0cf2dc4a447566f6 b/test/examples/lotr.git/objects/1e/716a3178a76fe39ee7b88f0cf2dc4a447566f6 deleted file mode 100644 index 42fc7843..00000000 Binary files a/test/examples/lotr.git/objects/1e/716a3178a76fe39ee7b88f0cf2dc4a447566f6 and /dev/null differ diff --git a/test/examples/lotr.git/objects/28/bb2f40d2e4c82a4ae62ef619a80a4b555e23ee b/test/examples/lotr.git/objects/28/bb2f40d2e4c82a4ae62ef619a80a4b555e23ee deleted file mode 100644 index 36693312..00000000 Binary files a/test/examples/lotr.git/objects/28/bb2f40d2e4c82a4ae62ef619a80a4b555e23ee and /dev/null differ diff --git a/test/examples/lotr.git/objects/2c/b9156ad383914561a8502fc70f5a1d887e48ad b/test/examples/lotr.git/objects/2c/b9156ad383914561a8502fc70f5a1d887e48ad deleted file mode 100644 index 9d786ae3..00000000 Binary files a/test/examples/lotr.git/objects/2c/b9156ad383914561a8502fc70f5a1d887e48ad and /dev/null differ diff --git a/test/examples/lotr.git/objects/36/38047bb1f46401b9e2171faf2d11d0ac94ad7a b/test/examples/lotr.git/objects/36/38047bb1f46401b9e2171faf2d11d0ac94ad7a deleted file mode 100644 index 45511de0..00000000 Binary files a/test/examples/lotr.git/objects/36/38047bb1f46401b9e2171faf2d11d0ac94ad7a and /dev/null differ diff --git a/test/examples/lotr.git/objects/37/fcc52509fb09142cafccaada0252f3de81873c b/test/examples/lotr.git/objects/37/fcc52509fb09142cafccaada0252f3de81873c deleted file mode 100644 index 88edefe5..00000000 Binary files a/test/examples/lotr.git/objects/37/fcc52509fb09142cafccaada0252f3de81873c and /dev/null differ diff --git a/test/examples/lotr.git/objects/4c/770a352f1e86071b680f879a89874bf59008fa b/test/examples/lotr.git/objects/4c/770a352f1e86071b680f879a89874bf59008fa deleted file mode 100644 index 0307e9c6..00000000 Binary files a/test/examples/lotr.git/objects/4c/770a352f1e86071b680f879a89874bf59008fa and /dev/null differ diff --git a/test/examples/lotr.git/objects/4f/de706c7c8d3b30b6caec8c82ff4c01261350f2 b/test/examples/lotr.git/objects/4f/de706c7c8d3b30b6caec8c82ff4c01261350f2 deleted file mode 100644 index 78a9ea4e..00000000 --- a/test/examples/lotr.git/objects/4f/de706c7c8d3b30b6caec8c82ff4c01261350f2 +++ /dev/null @@ -1,3 +0,0 @@ -xK -1]}ɯ{":iy -^̐vIِCɖBXBRy4Fim`,uՔs+p!tqӐvi䘥AZ9Yt9v^յ3F}ɆJ \ No newline at end of file diff --git a/test/examples/lotr.git/objects/59/e540724606c84c5aca19cda36cbed22ac495e9 b/test/examples/lotr.git/objects/59/e540724606c84c5aca19cda36cbed22ac495e9 deleted file mode 100644 index 7c5af109..00000000 Binary files a/test/examples/lotr.git/objects/59/e540724606c84c5aca19cda36cbed22ac495e9 and /dev/null differ diff --git a/test/examples/lotr.git/objects/5b/c1aaec6149e854078f1d0f8b71933bbc6c2e43 b/test/examples/lotr.git/objects/5b/c1aaec6149e854078f1d0f8b71933bbc6c2e43 deleted file mode 100644 index a0452e0a..00000000 --- a/test/examples/lotr.git/objects/5b/c1aaec6149e854078f1d0f8b71933bbc6c2e43 +++ /dev/null @@ -1,2 +0,0 @@ -xA -0E]s4i3-x$`@:߂7py"A?'kriX| gϾR(R6xnuOn7M\T{gtHXW;|W׶2 = \ No newline at end of file diff --git a/test/examples/lotr.git/objects/71/4323c104239440a5c66ab12a67ed07a83c404f b/test/examples/lotr.git/objects/71/4323c104239440a5c66ab12a67ed07a83c404f deleted file mode 100644 index b003ac7f..00000000 Binary files a/test/examples/lotr.git/objects/71/4323c104239440a5c66ab12a67ed07a83c404f and /dev/null differ diff --git a/test/examples/lotr.git/objects/79/8f6564abb42d7ed34621d53595cbbe84638949 b/test/examples/lotr.git/objects/79/8f6564abb42d7ed34621d53595cbbe84638949 deleted file mode 100644 index df9cf90a..00000000 --- a/test/examples/lotr.git/objects/79/8f6564abb42d7ed34621d53595cbbe84638949 +++ /dev/null @@ -1 +0,0 @@ -xA@ 9ϯMO ı 8P8TrObe2'dp1n]FztML \ No newline at end of file diff --git a/test/examples/lotr.git/objects/a3/46f056d6d8e89f034489e403b3924fbc95f201 b/test/examples/lotr.git/objects/a3/46f056d6d8e89f034489e403b3924fbc95f201 deleted file mode 100644 index bc1691bf..00000000 Binary files a/test/examples/lotr.git/objects/a3/46f056d6d8e89f034489e403b3924fbc95f201 and /dev/null differ diff --git a/test/examples/lotr.git/objects/aa/b61fe89d56f8614c0a8151da34f939dcedfa68 b/test/examples/lotr.git/objects/aa/b61fe89d56f8614c0a8151da34f939dcedfa68 new file mode 100644 index 00000000..54276090 Binary files /dev/null and b/test/examples/lotr.git/objects/aa/b61fe89d56f8614c0a8151da34f939dcedfa68 differ diff --git a/test/examples/lotr.git/objects/af/e2034d400ba21e13361f38f74900c51dbc7fde b/test/examples/lotr.git/objects/af/e2034d400ba21e13361f38f74900c51dbc7fde deleted file mode 100644 index 9fe05947..00000000 --- a/test/examples/lotr.git/objects/af/e2034d400ba21e13361f38f74900c51dbc7fde +++ /dev/null @@ -1,2 +0,0 @@ -xM -0F]sJ:D< B:%ƅgp=ރoZѡ7)璊Dkٳ(qN#[Z27Y;d%eCI'XM.9bM].mR5qzC0Z?`f˾+=o#J \ No newline at end of file diff --git a/test/examples/lotr.git/objects/b0/d108328459e44fff4a76cd19b10ddc34adce4b b/test/examples/lotr.git/objects/b0/d108328459e44fff4a76cd19b10ddc34adce4b deleted file mode 100644 index fcd2b9ef..00000000 Binary files a/test/examples/lotr.git/objects/b0/d108328459e44fff4a76cd19b10ddc34adce4b and /dev/null differ diff --git a/test/examples/lotr.git/objects/b3/14b19c56ee272a7c9dc379996d9a32f5c463d7 b/test/examples/lotr.git/objects/b3/14b19c56ee272a7c9dc379996d9a32f5c463d7 deleted file mode 100644 index 83f64172..00000000 Binary files a/test/examples/lotr.git/objects/b3/14b19c56ee272a7c9dc379996d9a32f5c463d7 and /dev/null differ diff --git a/test/examples/lotr.git/objects/bc/d5c99495011915971b2c9e38da8e5aacfe875d b/test/examples/lotr.git/objects/bc/d5c99495011915971b2c9e38da8e5aacfe875d deleted file mode 100644 index 78d48d42..00000000 --- a/test/examples/lotr.git/objects/bc/d5c99495011915971b2c9e38da8e5aacfe875d +++ /dev/null @@ -1,2 +0,0 @@ -x]A@ 9ϯġ uSq" 8P8Tr'2Gw{K]0f Gʀp SNh[~-nN}ނ-rL 0&YRiN_+8/%L|d0+,Vl=YGhu-G)A$ЩLrבR2ILaH?.R-+u+#FU_<3&Tկ۶/7u=GmWg.P -%]7`K{ O/7ppXߎ=6v+ŋ /n>O1x? fݎR3h+n}Dnoml \ No newline at end of file diff --git a/test/examples/lotr.git/objects/bf/b7c7a5cde53272a1d202e08bdef4058de85133 b/test/examples/lotr.git/objects/bf/b7c7a5cde53272a1d202e08bdef4058de85133 deleted file mode 100644 index e66b5768..00000000 Binary files a/test/examples/lotr.git/objects/bf/b7c7a5cde53272a1d202e08bdef4058de85133 and /dev/null differ diff --git a/test/examples/lotr.git/objects/c3/b43e9f08966b088e7a0192e436b7a884542e05 b/test/examples/lotr.git/objects/c3/b43e9f08966b088e7a0192e436b7a884542e05 deleted file mode 100644 index b1d16878..00000000 Binary files a/test/examples/lotr.git/objects/c3/b43e9f08966b088e7a0192e436b7a884542e05 and /dev/null differ diff --git a/test/examples/lotr.git/objects/d1/a6fb8d766ce6eab2ec0a8f72fdd3171253138d b/test/examples/lotr.git/objects/d1/a6fb8d766ce6eab2ec0a8f72fdd3171253138d deleted file mode 100644 index e423efab..00000000 Binary files a/test/examples/lotr.git/objects/d1/a6fb8d766ce6eab2ec0a8f72fdd3171253138d and /dev/null differ diff --git a/test/examples/lotr.git/objects/d4/b4cb628364deedb0b32c2e1dbd21967768432f b/test/examples/lotr.git/objects/d4/b4cb628364deedb0b32c2e1dbd21967768432f deleted file mode 100644 index a57de79d..00000000 --- a/test/examples/lotr.git/objects/d4/b4cb628364deedb0b32c2e1dbd21967768432f +++ /dev/null @@ -1,2 +0,0 @@ -xM -0P=\M Eܹu!N4 <^6%8ifk{c]mg f?70'+_tLOIQ93*lp.TgL򟼺˾DoD;; \ No newline at end of file diff --git a/test/examples/lotr.git/objects/d9/e379fdea55b6ff3b71c110b3d2d7b55bbfd5ee b/test/examples/lotr.git/objects/d9/e379fdea55b6ff3b71c110b3d2d7b55bbfd5ee deleted file mode 100644 index 721127b6..00000000 Binary files a/test/examples/lotr.git/objects/d9/e379fdea55b6ff3b71c110b3d2d7b55bbfd5ee and /dev/null differ diff --git a/test/examples/lotr.git/objects/dc/596d6b2dd89ab05c66f4abd7d5eb706bc17f19 b/test/examples/lotr.git/objects/dc/596d6b2dd89ab05c66f4abd7d5eb706bc17f19 new file mode 100644 index 00000000..6fec57b7 Binary files /dev/null and b/test/examples/lotr.git/objects/dc/596d6b2dd89ab05c66f4abd7d5eb706bc17f19 differ diff --git a/test/examples/lotr.git/objects/df/26e61e707116f81ebc6b935ec6d1676b7e96c4 b/test/examples/lotr.git/objects/df/26e61e707116f81ebc6b935ec6d1676b7e96c4 deleted file mode 100644 index 2875c676..00000000 Binary files a/test/examples/lotr.git/objects/df/26e61e707116f81ebc6b935ec6d1676b7e96c4 and /dev/null differ diff --git a/test/examples/lotr.git/objects/e3/415337d9ae2c0b4b00054a93727f4a7d3c3ca5 b/test/examples/lotr.git/objects/e3/415337d9ae2c0b4b00054a93727f4a7d3c3ca5 deleted file mode 100644 index 5f5e49e0..00000000 Binary files a/test/examples/lotr.git/objects/e3/415337d9ae2c0b4b00054a93727f4a7d3c3ca5 and /dev/null differ diff --git a/test/examples/lotr.git/objects/ec/da3205bee14520aab5a7bb307392064b938e83 b/test/examples/lotr.git/objects/ec/da3205bee14520aab5a7bb307392064b938e83 deleted file mode 100644 index 5caac0b5..00000000 Binary files a/test/examples/lotr.git/objects/ec/da3205bee14520aab5a7bb307392064b938e83 and /dev/null differ diff --git a/test/examples/lotr.git/objects/ec/fec5774b0a4dd632f3f092e2fa1f73c0aab247 b/test/examples/lotr.git/objects/ec/fec5774b0a4dd632f3f092e2fa1f73c0aab247 deleted file mode 100644 index 07d94bac..00000000 Binary files a/test/examples/lotr.git/objects/ec/fec5774b0a4dd632f3f092e2fa1f73c0aab247 and /dev/null differ diff --git a/test/examples/lotr.git/objects/f0/1428b3138994aab19d5f880b6f37336ddf1f24 b/test/examples/lotr.git/objects/f0/1428b3138994aab19d5f880b6f37336ddf1f24 deleted file mode 100644 index 86aa8a93..00000000 Binary files a/test/examples/lotr.git/objects/f0/1428b3138994aab19d5f880b6f37336ddf1f24 and /dev/null differ diff --git a/test/examples/lotr.git/objects/f2/5eccd98e9b667f9e22946f3e2f945378b8a72d b/test/examples/lotr.git/objects/f2/5eccd98e9b667f9e22946f3e2f945378b8a72d deleted file mode 100644 index 8b7776d1..00000000 --- a/test/examples/lotr.git/objects/f2/5eccd98e9b667f9e22946f3e2f945378b8a72d +++ /dev/null @@ -1,2 +0,0 @@ -xKj0@))#{$@hd&,k|CiuK͞q#EDn<ҐmBjׅE!jQ -TZJl1uU;|٧n/ x?hZ]Y`@4'=/)zsmp<`.ϣ5,L \ No newline at end of file diff --git a/test/examples/lotr.git/objects/f4/46205ac9df5b6a40c00785f06827f4a4dbd727 b/test/examples/lotr.git/objects/f4/46205ac9df5b6a40c00785f06827f4a4dbd727 deleted file mode 100644 index 15bedfdd..00000000 --- a/test/examples/lotr.git/objects/f4/46205ac9df5b6a40c00785f06827f4a4dbd727 +++ /dev/null @@ -1 +0,0 @@ -xKj0@))#i,KPJEk}fhd&8^`).9&AO#)5-КGM(,F"-E"By T,V=VW9x]xlbLy2AZ %TH-JZI -7pl:p~V'}a{rzE -m}*X?Oi \ No newline at end of file diff --git a/test/examples/lotr.git/objects/info/packs b/test/examples/lotr.git/objects/info/packs new file mode 100644 index 00000000..2d676115 --- /dev/null +++ b/test/examples/lotr.git/objects/info/packs @@ -0,0 +1,2 @@ +P pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.pack + diff --git a/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.idx b/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.idx new file mode 100644 index 00000000..54c9f94d Binary files /dev/null and b/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.idx differ diff --git a/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.pack b/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.pack new file mode 100644 index 00000000..b99b5101 Binary files /dev/null and b/test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.pack differ diff --git a/test/examples/lotr.git/packed-refs b/test/examples/lotr.git/packed-refs index 42df4b7e..0a68312a 100644 --- a/test/examples/lotr.git/packed-refs +++ b/test/examples/lotr.git/packed-refs @@ -1,2 +1,2 @@ # pack-refs with: peeled -5bc1aaec6149e854078f1d0f8b71933bbc6c2e43 refs/heads/master +d61c3de65957b5997c236393b3ad4d70b5cd8931 refs/heads/master diff --git a/test/examples/lotr.git/refs/heads/master b/test/examples/lotr.git/refs/heads/master index f034c472..29a2baa7 100644 --- a/test/examples/lotr.git/refs/heads/master +++ b/test/examples/lotr.git/refs/heads/master @@ -1 +1 @@ -4fde706c7c8d3b30b6caec8c82ff4c01261350f2 +94523d7ae48aeba575099dd12926420d8fd0425d diff --git a/test/test_page.rb b/test/test_page.rb index b5dac678..6ceec2b3 100644 --- a/test/test_page.rb +++ b/test/test_page.rb @@ -52,4 +52,24 @@ context "Page" do assert_equal "José", Gollum::Page.cname("José") assert_equal "モルドール", Gollum::Page.cname("モルドール") end + + test "title from filename with normal contents" do + page = @wiki.page('Bilbo Baggins') + assert_equal 'Bilbo Baggins', page.title + end + + test "title from filename with html contents" do + page = @wiki.page('My Precious') + assert_equal 'My Precious', page.title + end + + test "title from h1 with normal contents" do + page = @wiki.page('Home') + assert_equal "The LOTR Wiki", page.title + end + + test "title from h1 with html contents" do + page = @wiki.page('Eye Of Sauron') + assert_equal "Eye Of Sauron", page.title + end end \ No newline at end of file diff --git a/test/test_wiki.rb b/test/test_wiki.rb index 60d5f900..c35fb74c 100644 --- a/test/test_wiki.rb +++ b/test/test_wiki.rb @@ -16,35 +16,26 @@ context "Wiki" do test "shows paginated log with no page" do Gollum::Wiki.per_page = 3 - assert_equal %w( - 4fde706c7c8d3b30b6caec8c82ff4c01261350f2 - 1e716a3178a76fe39ee7b88f0cf2dc4a447566f6 - afe2034d400ba21e13361f38f74900c51dbc7fde), - @wiki.log.map { |c| c.id } + commits = @wiki.repo.commits[0..2].map { |x| x.id } + assert_equal commits, @wiki.log.map { |c| c.id } end test "shows paginated log with 1st page" do Gollum::Wiki.per_page = 3 - assert_equal %w( - 4fde706c7c8d3b30b6caec8c82ff4c01261350f2 - 1e716a3178a76fe39ee7b88f0cf2dc4a447566f6 - afe2034d400ba21e13361f38f74900c51dbc7fde), - @wiki.log(:page => 1).map { |c| c.id } + commits = @wiki.repo.commits[0..2].map { |x| x.id } + assert_equal commits, @wiki.log(:page => 1).map { |c| c.id } end test "shows paginated log with next page" do Gollum::Wiki.per_page = 3 - assert_equal %w( - f25eccd98e9b667f9e22946f3e2f945378b8a72d - b0d108328459e44fff4a76cd19b10ddc34adce4b - f01428b3138994aab19d5f880b6f37336ddf1f24), - @wiki.log(:page => 2).map { |c| c.id } + commits = @wiki.repo.commits[3..5].map { |x| x.id } + assert_equal commits, @wiki.log(:page => 2).map { |c| c.id } end test "list pages" do pages = @wiki.pages assert_equal \ - %w(Bilbo-Baggins.md Eye-Of-Sauron.md Home.textile), + %w(Bilbo-Baggins.md Eye-Of-Sauron.md Home.textile My-Precious.md), pages.map { |p| p.name }.sort end end