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;|W2=
\ 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}ނ-rL0&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=\MEܹ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