mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rdoc: Update to RDoc 3.8 which contains fixes for documentation
in trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6f1ce28d62
commit
e75e7fcc9f
13 changed files with 500 additions and 46 deletions
|
@ -437,6 +437,21 @@ class C; end
|
|||
assert alas.singleton
|
||||
end
|
||||
|
||||
def test_parse_alias_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
util_parser "alias :next= :bar"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_alias klass, RDoc::Parser::Ruby::NORMAL, tk, 'comment'
|
||||
|
||||
assert_empty klass.aliases
|
||||
assert_empty klass.unmatched_alias_lists
|
||||
end
|
||||
|
||||
def test_parse_alias_meta
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
|
@ -472,6 +487,22 @@ class C; end
|
|||
assert_equal 1, foo.line
|
||||
end
|
||||
|
||||
def test_parse_attr_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# my attr\n"
|
||||
|
||||
util_parser "attr :foo, :bar"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_attr klass, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
assert_empty klass.attributes
|
||||
end
|
||||
|
||||
def test_parse_attr_accessor
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
|
@ -515,6 +546,22 @@ class C; end
|
|||
assert_equal 0, klass.attributes.length
|
||||
end
|
||||
|
||||
def test_parse_attr_accessor_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# my attr\n"
|
||||
|
||||
util_parser "attr_accessor :foo, :bar"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_attr_accessor klass, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
assert_empty klass.attributes
|
||||
end
|
||||
|
||||
def test_parse_attr_accessor_writer
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
|
@ -620,6 +667,22 @@ class C; end
|
|||
assert_equal @top_level, foo.file
|
||||
end
|
||||
|
||||
def test_parse_meta_attr_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# :attr: \n# my method\n"
|
||||
|
||||
util_parser "add_my_method :foo, :bar"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_meta_attr klass, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
assert_empty klass.attributes
|
||||
end
|
||||
|
||||
def test_parse_meta_attr_writer
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
|
@ -640,7 +703,7 @@ class C; end
|
|||
end
|
||||
|
||||
def test_parse_class
|
||||
comment = "##\n# my method\n"
|
||||
comment = "##\n# my class\n"
|
||||
|
||||
util_parser "class Foo\nend"
|
||||
|
||||
|
@ -650,7 +713,7 @@ class C; end
|
|||
|
||||
foo = @top_level.classes.first
|
||||
assert_equal 'Foo', foo.full_name
|
||||
assert_equal 'my method', foo.comment
|
||||
assert_equal 'my class', foo.comment
|
||||
assert_equal [@top_level], foo.in_files
|
||||
assert_equal 0, foo.offset
|
||||
assert_equal 1, foo.line
|
||||
|
@ -706,6 +769,42 @@ end
|
|||
assert_equal 2, foo.method_list.length
|
||||
end
|
||||
|
||||
def test_parse_class_nodoc
|
||||
comment = "##\n# my class\n"
|
||||
|
||||
util_parser "class Foo # :nodoc:\nend"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_class @top_level, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
foo = @top_level.classes.first
|
||||
assert_equal 'Foo', foo.full_name
|
||||
assert_empty foo.comment
|
||||
assert_equal [@top_level], foo.in_files
|
||||
assert_equal 0, foo.offset
|
||||
assert_equal 1, foo.line
|
||||
end
|
||||
|
||||
def test_parse_class_stopdoc
|
||||
@top_level.stop_doc
|
||||
|
||||
comment = "##\n# my class\n"
|
||||
|
||||
util_parser "class Foo\nend"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_class @top_level, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
foo = @top_level.classes.first
|
||||
assert_equal 'Foo', foo.full_name
|
||||
assert_equal 'my class', foo.comment
|
||||
assert_equal [@top_level], foo.in_files
|
||||
assert_equal 0, foo.offset
|
||||
assert_equal 1, foo.line
|
||||
end
|
||||
|
||||
def test_parse_multi_ghost_methods
|
||||
util_parser <<-'CLASS'
|
||||
class Foo
|
||||
|
@ -785,6 +884,38 @@ end
|
|||
assert_equal 'my module', foo.comment
|
||||
end
|
||||
|
||||
def test_parse_module_nodoc
|
||||
@top_level.stop_doc
|
||||
|
||||
comment = "##\n# my module\n"
|
||||
|
||||
util_parser "module Foo # :nodoc:\nend"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_module @top_level, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
foo = @top_level.modules.first
|
||||
assert_equal 'Foo', foo.full_name
|
||||
assert_empty foo.comment
|
||||
end
|
||||
|
||||
def test_parse_module_stopdoc
|
||||
@top_level.stop_doc
|
||||
|
||||
comment = "##\n# my module\n"
|
||||
|
||||
util_parser "module Foo\nend"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_module @top_level, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
foo = @top_level.modules.first
|
||||
assert_equal 'Foo', foo.full_name
|
||||
assert_equal 'my module', foo.comment
|
||||
end
|
||||
|
||||
def test_parse_class_colon3
|
||||
code = <<-CODE
|
||||
class A
|
||||
|
@ -976,6 +1107,22 @@ EOF
|
|||
assert_equal klass.current_section, foo.section
|
||||
end
|
||||
|
||||
def test_parse_comment_attr_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# :attr: foo\n# my attr\n"
|
||||
|
||||
util_parser "\n"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_comment klass, tk, comment
|
||||
|
||||
assert_empty klass.attributes
|
||||
end
|
||||
|
||||
def test_parse_comment_method
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
|
@ -1021,6 +1168,22 @@ EOF
|
|||
assert_equal stream, foo.token_stream
|
||||
end
|
||||
|
||||
def test_parse_comment_method_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# :method: foo\n# my method\n"
|
||||
|
||||
util_parser "\n"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_comment klass, tk, comment
|
||||
|
||||
assert_empty klass.method_list
|
||||
end
|
||||
|
||||
def test_parse_constant
|
||||
util_top_level
|
||||
|
||||
|
@ -1084,6 +1247,21 @@ EOF
|
|||
assert_equal top_bar, bar.find_module_named('A')
|
||||
end
|
||||
|
||||
def test_parse_constant_stopdoc
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
klass.stop_doc
|
||||
|
||||
util_parser "A = v"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_constant klass, tk, ''
|
||||
|
||||
assert_empty klass.constants
|
||||
end
|
||||
|
||||
def test_parse_include
|
||||
klass = RDoc::NormalClass.new 'C'
|
||||
klass.parent = @top_level
|
||||
|
@ -1249,6 +1427,22 @@ end
|
|||
assert_equal @top_level, foo.file
|
||||
end
|
||||
|
||||
def test_parse_meta_method_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# my method\n"
|
||||
|
||||
util_parser "add_my_method :foo, :bar\nadd_my_method :baz"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_meta_method klass, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
assert_empty klass.method_list
|
||||
end
|
||||
|
||||
def test_parse_meta_method_unknown
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
comment = "##\n# my method\n"
|
||||
|
@ -1464,6 +1658,22 @@ end
|
|||
assert_equal '(arg1, arg2, arg3)', foo.params
|
||||
end
|
||||
|
||||
def test_parse_method_stopdoc
|
||||
klass = RDoc::NormalClass.new 'Foo'
|
||||
klass.parent = @top_level
|
||||
klass.stop_doc
|
||||
|
||||
comment = "##\n# my method\n"
|
||||
|
||||
util_parser "def foo() :bar end"
|
||||
|
||||
tk = @parser.get_tk
|
||||
|
||||
@parser.parse_method klass, RDoc::Parser::Ruby::NORMAL, tk, comment
|
||||
|
||||
assert_empty klass.method_list
|
||||
end
|
||||
|
||||
def test_parse_method_toplevel
|
||||
klass = @top_level
|
||||
|
||||
|
@ -1879,6 +2089,69 @@ end
|
|||
assert_equal 1, @top_level.requires.length
|
||||
end
|
||||
|
||||
def test_parse_statements_stopdoc_TkALIAS
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
|
||||
util_parser "\n# :stopdoc:\nalias old new"
|
||||
|
||||
@parser.parse_statements klass, RDoc::Parser::Ruby::NORMAL, nil
|
||||
|
||||
assert_empty klass.aliases
|
||||
assert_empty klass.unmatched_alias_lists
|
||||
end
|
||||
|
||||
def test_parse_statements_stopdoc_TkIDENTIFIER_alias_method
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
|
||||
util_parser "\n# :stopdoc:\nalias_method :old :new"
|
||||
|
||||
@parser.parse_statements klass, RDoc::Parser::Ruby::NORMAL, nil
|
||||
|
||||
assert_empty klass.aliases
|
||||
assert_empty klass.unmatched_alias_lists
|
||||
end
|
||||
|
||||
def test_parse_statements_stopdoc_TkIDENTIFIER_metaprogrammed
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
|
||||
util_parser "\n# :stopdoc:\n# attr :meta"
|
||||
|
||||
@parser.parse_statements klass, RDoc::Parser::Ruby::NORMAL, nil
|
||||
|
||||
assert_empty klass.method_list
|
||||
assert_empty klass.attributes
|
||||
end
|
||||
|
||||
def test_parse_statements_stopdoc_TkCONSTANT
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
|
||||
util_parser "\n# :stopdoc:\nA = v"
|
||||
|
||||
@parser.parse_statements klass, RDoc::Parser::Ruby::NORMAL, nil
|
||||
|
||||
assert_empty klass.constants
|
||||
end
|
||||
|
||||
def test_parse_statements_stopdoc_TkDEF
|
||||
util_top_level
|
||||
|
||||
klass = @top_level.add_class RDoc::NormalClass, 'Foo'
|
||||
|
||||
util_parser "\n# :stopdoc:\ndef m\n end"
|
||||
|
||||
@parser.parse_statements klass, RDoc::Parser::Ruby::NORMAL, nil
|
||||
|
||||
assert_empty klass.method_list
|
||||
end
|
||||
|
||||
def test_parse_statements_while_begin
|
||||
util_parser <<-RUBY
|
||||
class A
|
||||
|
@ -1924,7 +2197,7 @@ end
|
|||
assert_equal nil, @parser.parse_symbol_in_arg
|
||||
end
|
||||
|
||||
def test_parse_top_level_statements_alias_method
|
||||
def test_parse_statements_alias_method
|
||||
content = <<-CONTENT
|
||||
class A
|
||||
alias_method :a, :[] unless c
|
||||
|
@ -1939,6 +2212,19 @@ end
|
|||
util_parser content
|
||||
|
||||
@parser.parse_statements @top_level
|
||||
|
||||
# HACK where are the assertions?
|
||||
end
|
||||
|
||||
def test_parse_top_level_statements_stopdoc
|
||||
@top_level.stop_doc
|
||||
content = "# this is the top-level comment"
|
||||
|
||||
util_parser content
|
||||
|
||||
@parser.parse_top_level_statements @top_level
|
||||
|
||||
assert_empty @top_level.comment
|
||||
end
|
||||
|
||||
def test_parse_yield_in_braces_with_parens
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue