Nobuyoshi Nakada 2022-04-13 22:02:21 +09:00 коммит произвёл git
Родитель 586e18b946
Коммит 8d0b2162a0
2 изменённых файлов: 22 добавлений и 1 удалений

Просмотреть файл

@ -17,6 +17,6 @@
main_page = @files.find { |f| f.full_name == @options.main_page } then %>
<%= main_page.description %>
<%- else -%>
<p>This is the API documentation for <%= @title %>.
<p>This is the API documentation for <%= h @title %>.
<%- end -%>
</main>

Просмотреть файл

@ -248,6 +248,22 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
assert_include File.read('index.html'), %Q[href="./#{base}"]
end
def test_title
title = "RDoc Test".freeze
@options.title = title
@g.generate
assert_main_title(File.read('index.html'), title)
end
def test_title_escape
title = %[<script>alert("RDoc")</script>].freeze
@options.title = title
@g.generate
assert_main_title(File.read('index.html'), title)
end
##
# Asserts that +filename+ has a link count greater than 1 if hard links to
# @tmpdir are supported.
@ -271,4 +287,9 @@ class TestRDocGeneratorDarkfish < RDoc::TestCase
"#{filename} is not hard-linked"
end
def assert_main_title(content, title)
title = CGI.escapeHTML(title)
assert_equal(title, content[%r[<title>(.*?)<\/title>]im, 1])
assert_include(content[%r[<main\s[^<>]*+>\s*(.*?)</main>]im, 1], title)
end
end