[ruby/rdoc] Non-RD part feature has not been imported to RDoc

https://github.com/ruby/rdoc/commit/fe0159de2f
This commit is contained in:
Nobuyoshi Nakada 2022-11-30 22:59:15 +09:00
parent c87b3ee671
commit 99cad3fccd
Notes: git 2022-11-30 17:36:40 +00:00
2 changed files with 28 additions and 0 deletions

View File

@ -127,15 +127,19 @@ def next_token # :nodoc:
# non-RD part begin
when /^=begin\s+(\w+)/
part = $1
=begin # not imported to RDoc
if @in_part # if in non-RD part
@part_content.push(line)
else
@in_part = part if @tree.filter[part] # if filter exists
# p "BEGIN_PART: #{@in_part}" # DEBUG
end
=end
@in_part = part
# non-RD part end
when /^=end/
if @in_part # if in non-RD part
=begin # not imported to RDoc
# p "END_PART: #{@in_part}" # DEBUG
# make Part-in object
part = RDoc::RD::Part.new(@part_content.join(""), @tree, "r")
@ -154,11 +158,14 @@ def next_token # :nodoc:
end
@in_part = nil
return [:SUBTREE, subtree]
=end
end
else
=begin # not imported to RDoc
if @in_part # if in non-RD part
@part_content.push(line)
end
=end
end
end

View File

@ -168,6 +168,27 @@ class TestRDocRdBlockParser < RDoc::TestCase
tf.close!
end
=begin
def test_parse_include_other_format
@block_parser.include_path = [Dir.tmpdir]
expected =
doc(
blank_line,
para("include ((*worked*))"),
blank_line,
blank_line)
str = <<~STR
=begin nonrd
<<< worked
=end
STR
assert_equal(expected, @block_parser.parse str.lines.to_a)
end
=end
def test_parse_heading
assert_equal doc(head(1, "H")), parse("= H")
assert_equal doc(head(2, "H")), parse("== H")