Escape " in headers

This commit is contained in:
bootstraponline
2012-10-14 22:19:52 -06:00
parent 82913cea20
commit 87c08f5613
2 changed files with 7 additions and 6 deletions
+2 -1
View File
@@ -95,7 +95,8 @@ module Gollum
def process_headers(doc) def process_headers(doc)
toc = nil toc = nil
doc.css('h1,h2,h3,h4,h5,h6').each do |h| doc.css('h1,h2,h3,h4,h5,h6').each do |h|
h_name = h.content.gsub(' ','-') # must escape "
h_name = h.content.gsub(' ','-').gsub('"','%22')
level = h.name.gsub(/[hH]/,'').to_i level = h.name.gsub(/[hH]/,'').to_i
+5 -5
View File
@@ -42,21 +42,21 @@ context "Unicode Support" do
end end
test "create and read non-latin page with anchor 2" do test "create and read non-latin page with anchor 2" do
@wiki.write_page("test", :markdown, "# La faune d'Édiacara") @wiki.write_page("test", :markdown, "# \"La\" faune d'Édiacara")
page = @wiki.page("test") page = @wiki.page("test")
assert_equal Gollum::Page, page.class assert_equal Gollum::Page, page.class
assert_equal "# La faune d'Édiacara", utf8(page.raw_data) assert_equal "# \"La\" faune d'Édiacara", utf8(page.raw_data)
# markup.rb # markup.rb test: ', ", É
doc = Nokogiri::HTML page.formatted_data doc = Nokogiri::HTML page.formatted_data
h1s = doc / :h1 h1s = doc / :h1
h1 = h1s.first h1 = h1s.first
anchors = h1 / :a anchors = h1 / :a
assert_equal 1, h1s.size assert_equal 1, h1s.size
assert_equal 1, anchors.size assert_equal 1, anchors.size
assert_equal %q(#La-faune-d'Édiacara), anchors[0]['href'] assert_equal %q(#%22La%22-faune-d'Édiacara), anchors[0]['href']
assert_equal %q(La-faune-d'Édiacara), anchors[0]['id'] assert_equal %q(%22La%22-faune-d'Édiacara), anchors[0]['id']
assert_equal 'anchor', anchors[0]['class'] assert_equal 'anchor', anchors[0]['class']
assert_equal '', anchors[0].text assert_equal '', anchors[0].text
end end