rdoc 2.4.3 → 2.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rdoc might be problematic. Click here for more details.

Files changed (139) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.autotest +3 -1
  3. data/History.txt +68 -0
  4. data/LICENSE.txt +57 -0
  5. data/Manifest.txt +37 -19
  6. data/README.txt +2 -12
  7. data/Rakefile +12 -12
  8. data/bin/rdoc +4 -4
  9. data/lib/rdoc.rb +32 -9
  10. data/lib/rdoc/alias.rb +2 -2
  11. data/lib/rdoc/any_method.rb +108 -16
  12. data/lib/rdoc/attr.rb +87 -1
  13. data/lib/rdoc/class_module.rb +131 -5
  14. data/lib/rdoc/code_object.rb +28 -5
  15. data/lib/rdoc/constant.rb +22 -0
  16. data/lib/rdoc/context.rb +80 -37
  17. data/lib/rdoc/gauntlet.rb +48 -0
  18. data/lib/rdoc/generator/darkfish.rb +25 -23
  19. data/lib/rdoc/generator/markup.rb +6 -29
  20. data/lib/rdoc/generator/ri.rb +39 -189
  21. data/lib/rdoc/generator/template/darkfish/classpage.rhtml +17 -1
  22. data/lib/rdoc/generator/template/darkfish/filepage.rhtml +10 -0
  23. data/lib/rdoc/generator/template/darkfish/images/brick.png +0 -0
  24. data/lib/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  25. data/lib/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  26. data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  27. data/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  28. data/lib/rdoc/generator/template/darkfish/images/date.png +0 -0
  29. data/lib/rdoc/generator/template/darkfish/images/find.png +0 -0
  30. data/lib/rdoc/generator/template/darkfish/images/package.png +0 -0
  31. data/lib/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  32. data/lib/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  33. data/lib/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  34. data/lib/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  35. data/lib/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  36. data/lib/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  37. data/lib/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  38. data/lib/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  39. data/lib/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  40. data/lib/rdoc/generator/template/darkfish/index.rhtml +2 -2
  41. data/lib/rdoc/generator/template/darkfish/rdoc.css +38 -33
  42. data/lib/rdoc/include.rb +22 -0
  43. data/lib/rdoc/markup.rb +10 -262
  44. data/lib/rdoc/markup/attribute_manager.rb +57 -50
  45. data/lib/rdoc/markup/blank_line.rb +19 -0
  46. data/lib/rdoc/markup/document.rb +72 -0
  47. data/lib/rdoc/markup/formatter.rb +118 -0
  48. data/lib/rdoc/markup/formatter_test_case.rb +341 -0
  49. data/lib/rdoc/markup/heading.rb +17 -0
  50. data/lib/rdoc/markup/inline.rb +6 -5
  51. data/lib/rdoc/markup/list.rb +78 -0
  52. data/lib/rdoc/markup/list_item.rb +83 -0
  53. data/lib/rdoc/markup/paragraph.rb +66 -0
  54. data/lib/rdoc/markup/parser.rb +528 -0
  55. data/lib/rdoc/markup/rule.rb +17 -0
  56. data/lib/rdoc/markup/to_ansi.rb +72 -0
  57. data/lib/rdoc/markup/to_bs.rb +74 -0
  58. data/lib/rdoc/markup/to_html.rb +106 -172
  59. data/lib/rdoc/markup/to_html_crossref.rb +10 -4
  60. data/lib/rdoc/markup/to_rdoc.rb +243 -0
  61. data/lib/rdoc/markup/to_test.rb +27 -16
  62. data/lib/rdoc/markup/verbatim.rb +42 -0
  63. data/lib/rdoc/normal_class.rb +38 -1
  64. data/lib/rdoc/normal_module.rb +38 -8
  65. data/lib/rdoc/options.rb +39 -151
  66. data/lib/rdoc/parser.rb +36 -18
  67. data/lib/rdoc/parser/c.rb +102 -109
  68. data/lib/rdoc/parser/ruby.rb +359 -1662
  69. data/lib/rdoc/parser/ruby_tools.rb +157 -0
  70. data/lib/rdoc/parser/simple.rb +0 -2
  71. data/lib/rdoc/rdoc.rb +142 -82
  72. data/lib/rdoc/ri.rb +10 -0
  73. data/lib/rdoc/ri/driver.rb +674 -444
  74. data/lib/rdoc/ri/formatter.rb +2 -651
  75. data/lib/rdoc/ri/paths.rb +70 -45
  76. data/lib/rdoc/ri/store.rb +248 -0
  77. data/lib/rdoc/ruby_lex.rb +1284 -0
  78. data/lib/rdoc/ruby_token.rb +416 -0
  79. data/lib/rdoc/single_class.rb +5 -0
  80. data/lib/rdoc/stats.rb +152 -83
  81. data/lib/rdoc/task.rb +27 -49
  82. data/lib/rdoc/text.rb +130 -0
  83. data/lib/rdoc/tokenstream.rb +28 -9
  84. data/lib/rdoc/top_level.rb +49 -43
  85. data/test/hidden.zip.txt +1 -0
  86. data/test/test_attribute_manager.rb +9 -16
  87. data/test/test_rdoc_any_method.rb +23 -0
  88. data/test/test_rdoc_attr.rb +40 -0
  89. data/test/test_rdoc_class_module.rb +100 -0
  90. data/test/test_rdoc_code_object.rb +18 -2
  91. data/test/test_rdoc_context.rb +41 -0
  92. data/test/test_rdoc_generator_ri.rb +56 -0
  93. data/test/test_rdoc_markup.rb +21 -610
  94. data/test/test_rdoc_markup_attribute_manager.rb +14 -17
  95. data/test/test_rdoc_markup_document.rb +51 -0
  96. data/test/test_rdoc_markup_paragraph.rb +27 -0
  97. data/test/test_rdoc_markup_parser.rb +1327 -0
  98. data/test/test_rdoc_markup_to_ansi.rb +426 -0
  99. data/test/test_rdoc_markup_to_bs.rb +443 -0
  100. data/test/test_rdoc_markup_to_html.rb +183 -18
  101. data/test/test_rdoc_markup_to_html_crossref.rb +1 -3
  102. data/test/test_rdoc_markup_to_rdoc.rb +426 -0
  103. data/test/test_rdoc_normal_class.rb +17 -0
  104. data/test/test_rdoc_normal_module.rb +6 -6
  105. data/test/test_rdoc_options.rb +41 -0
  106. data/test/test_rdoc_parser.rb +66 -13
  107. data/test/test_rdoc_parser_c.rb +93 -38
  108. data/test/test_rdoc_parser_perl.rb +2 -3
  109. data/test/test_rdoc_parser_ruby.rb +291 -28
  110. data/test/test_rdoc_parser_simple.rb +48 -0
  111. data/test/test_rdoc_rdoc.rb +66 -0
  112. data/test/test_rdoc_ri_driver.rb +752 -38
  113. data/test/test_rdoc_ri_paths.rb +39 -0
  114. data/test/test_rdoc_ri_store.rb +309 -0
  115. data/test/test_rdoc_text.rb +157 -0
  116. data/test/test_rdoc_top_level.rb +35 -9
  117. data/test/xref_data.rb +9 -1
  118. data/test/xref_test_case.rb +8 -3
  119. metadata +110 -38
  120. metadata.gz.sig +0 -0
  121. data/lib/rdoc/cache.rb +0 -41
  122. data/lib/rdoc/diagram.rb +0 -340
  123. data/lib/rdoc/dot.rb +0 -249
  124. data/lib/rdoc/markup/fragments.rb +0 -377
  125. data/lib/rdoc/markup/lines.rb +0 -156
  126. data/lib/rdoc/markup/to_flow.rb +0 -211
  127. data/lib/rdoc/markup/to_latex.rb +0 -328
  128. data/lib/rdoc/markup/to_texinfo.rb +0 -73
  129. data/lib/rdoc/ri/cache.rb +0 -187
  130. data/lib/rdoc/ri/descriptions.rb +0 -156
  131. data/lib/rdoc/ri/display.rb +0 -340
  132. data/lib/rdoc/ri/reader.rb +0 -106
  133. data/lib/rdoc/ri/util.rb +0 -79
  134. data/lib/rdoc/ri/writer.rb +0 -68
  135. data/test/test_rdoc_ri_attribute_formatter.rb +0 -44
  136. data/test/test_rdoc_ri_default_display.rb +0 -302
  137. data/test/test_rdoc_ri_formatter.rb +0 -320
  138. data/test/test_rdoc_ri_html_formatter.rb +0 -141
  139. data/test/test_rdoc_ri_overstrike_formatter.rb +0 -71
@@ -1,106 +0,0 @@
1
- require 'rdoc/ri'
2
- require 'rdoc/ri/descriptions'
3
- require 'rdoc/ri/writer'
4
- require 'rdoc/markup/to_flow'
5
-
6
- class RDoc::RI::Reader
7
-
8
- def initialize(ri_cache)
9
- @cache = ri_cache
10
- end
11
-
12
- def top_level_namespace
13
- [ @cache.toplevel ]
14
- end
15
-
16
- def lookup_namespace_in(target, namespaces)
17
- result = []
18
- for n in namespaces
19
- result.concat(n.contained_modules_matching(target))
20
- end
21
- result
22
- end
23
-
24
- def find_class_by_name(full_name)
25
- names = full_name.split(/::/)
26
- ns = @cache.toplevel
27
- for name in names
28
- ns = ns.contained_class_named(name)
29
- return nil if ns.nil?
30
- end
31
- get_class(ns)
32
- end
33
-
34
- def find_methods(name, is_class_method, namespaces)
35
- result = []
36
- namespaces.each do |ns|
37
- result.concat ns.methods_matching(name, is_class_method)
38
- end
39
- result
40
- end
41
-
42
- ##
43
- # Return the MethodDescription for a given MethodEntry by deserializing the
44
- # YAML
45
-
46
- def get_method(method_entry)
47
- path = method_entry.path_name
48
- File.open(path) { |f| RDoc::RI::Description.deserialize(f) }
49
- end
50
-
51
- ##
52
- # Return a class description
53
-
54
- def get_class(class_entry)
55
- result = nil
56
- for path in class_entry.path_names
57
- path = RDoc::RI::Writer.class_desc_path(path, class_entry)
58
- desc = File.open(path) {|f| RDoc::RI::Description.deserialize(f) }
59
- if result
60
- result.merge_in(desc)
61
- else
62
- result = desc
63
- end
64
- end
65
- result
66
- end
67
-
68
- ##
69
- # Return the names of all classes and modules
70
-
71
- def full_class_names
72
- res = []
73
- find_classes_in(res, @cache.toplevel)
74
- end
75
-
76
- ##
77
- # Return a list of all classes, modules, and methods
78
-
79
- def all_names
80
- res = []
81
- find_names_in(res, @cache.toplevel)
82
- end
83
-
84
- private
85
-
86
- def find_classes_in(res, klass)
87
- classes = klass.classes_and_modules
88
- for c in classes
89
- res << c.full_name
90
- find_classes_in(res, c)
91
- end
92
- res
93
- end
94
-
95
- def find_names_in(res, klass)
96
- classes = klass.classes_and_modules
97
- for c in classes
98
- res << c.full_name
99
- res.concat c.all_method_names
100
- find_names_in(res, c)
101
- end
102
- res
103
- end
104
-
105
- end
106
-
@@ -1,79 +0,0 @@
1
- require 'rdoc/ri'
2
-
3
- ##
4
- # Break argument into its constituent class or module names, an
5
- # optional method type, and a method name
6
-
7
- class RDoc::RI::NameDescriptor
8
-
9
- attr_reader :class_names
10
- attr_reader :method_name
11
-
12
- ##
13
- # true and false have the obvious meaning. nil means we don't care
14
-
15
- attr_reader :is_class_method
16
-
17
- ##
18
- # +arg+ may be
19
- #
20
- # 1. A class or module name (optionally qualified with other class or module
21
- # names (Kernel, File::Stat etc)
22
- # 2. A method name
23
- # 3. A method name qualified by a optionally fully qualified class or module
24
- # name
25
- #
26
- # We're fairly casual about delimiters: folks can say Kernel::puts,
27
- # Kernel.puts, or Kernel\#puts for example. There's one exception: if you
28
- # say IO::read, we look for a class method, but if you say IO.read, we look
29
- # for an instance method
30
-
31
- def initialize(arg)
32
- @class_names = []
33
- separator = nil
34
-
35
- tokens = arg.split(/(\.|::|#)/)
36
-
37
- # Skip leading '::', '#' or '.', but remember it might
38
- # be a method name qualifier
39
- separator = tokens.shift if tokens[0] =~ /^(\.|::|#)/
40
-
41
- # Skip leading '::', but remember we potentially have an inst
42
-
43
- # leading stuff must be class names
44
-
45
- while tokens[0] =~ /^[A-Z]/
46
- @class_names << tokens.shift
47
- unless tokens.empty?
48
- separator = tokens.shift
49
- break unless separator == "::"
50
- end
51
- end
52
-
53
- # Now must have a single token, the method name, or an empty array
54
- unless tokens.empty?
55
- @method_name = tokens.shift
56
- # We may now have a trailing !, ?, or = to roll into
57
- # the method name
58
- if !tokens.empty? && tokens[0] =~ /^[!?=]$/
59
- @method_name << tokens.shift
60
- end
61
-
62
- if @method_name =~ /::|\.|#/ or !tokens.empty?
63
- raise RDoc::RI::Error.new("Bad argument: #{arg}")
64
- end
65
- if separator && separator != '.'
66
- @is_class_method = separator == "::"
67
- end
68
- end
69
- end
70
-
71
- # Return the full class name (with '::' between the components) or "" if
72
- # there's no class name
73
-
74
- def full_class_name
75
- @class_names.join("::")
76
- end
77
-
78
- end
79
-
@@ -1,68 +0,0 @@
1
- require 'fileutils'
2
- require 'rdoc/ri'
3
-
4
- class RDoc::RI::Writer
5
-
6
- def self.class_desc_path(dir, class_desc)
7
- File.join(dir, "cdesc-" + class_desc.name + ".yaml")
8
- end
9
-
10
- ##
11
- # Convert a name from internal form (containing punctuation) to an external
12
- # form (where punctuation is replaced by %xx)
13
-
14
- def self.internal_to_external(name)
15
- if ''.respond_to? :ord then
16
- name.gsub(/\W/) { "%%%02x" % $&[0].ord }
17
- else
18
- name.gsub(/\W/) { "%%%02x" % $&[0] }
19
- end
20
- end
21
-
22
- ##
23
- # And the reverse operation
24
-
25
- def self.external_to_internal(name)
26
- name.gsub(/%([0-9a-f]{2,2})/) { $1.to_i(16).chr }
27
- end
28
-
29
- def initialize(base_dir)
30
- @base_dir = base_dir
31
- end
32
-
33
- def remove_class(class_desc)
34
- FileUtils.rm_rf(path_to_dir(class_desc.full_name))
35
- end
36
-
37
- def add_class(class_desc)
38
- dir = path_to_dir(class_desc.full_name)
39
- FileUtils.mkdir_p(dir)
40
- class_file_name = self.class.class_desc_path(dir, class_desc)
41
- File.open(class_file_name, "w") do |f|
42
- f.write(class_desc.serialize)
43
- end
44
- end
45
-
46
- def add_method(class_desc, method_desc)
47
- dir = path_to_dir(class_desc.full_name)
48
- file_name = self.class.internal_to_external(method_desc.name)
49
- meth_file_name = File.join(dir, file_name)
50
- if method_desc.is_singleton
51
- meth_file_name += "-c.yaml"
52
- else
53
- meth_file_name += "-i.yaml"
54
- end
55
-
56
- File.open(meth_file_name, "w") do |f|
57
- f.write(method_desc.serialize)
58
- end
59
- end
60
-
61
- private
62
-
63
- def path_to_dir(class_name)
64
- File.join(@base_dir, *class_name.split('::'))
65
- end
66
-
67
- end
68
-
@@ -1,44 +0,0 @@
1
- require 'stringio'
2
- require 'rubygems'
3
- require 'minitest/unit'
4
- require 'rdoc/ri/formatter'
5
-
6
- class TestRDocRIAttributeFormatter < MiniTest::Unit::TestCase
7
-
8
- def setup
9
- @output = StringIO.new
10
- @width = 78
11
- @indent = ' '
12
-
13
- @f = RDoc::RI::AttributeFormatter.new @output, @width, @indent
14
- end
15
-
16
- def test_wrap_empty
17
- @f.wrap ''
18
- assert_equal '', @output.string
19
- end
20
-
21
- def test_wrap_long
22
- @f.wrap 'a ' * (@width / 2)
23
- assert_equal " a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a \n a \n",
24
- @output.string
25
- end
26
-
27
- def test_wrap_markup
28
- @f.wrap 'a <tt>b</tt> c'
29
- assert_equal " a b c\n", @output.string
30
- end
31
-
32
- def test_wrap_nil
33
- @f.wrap nil
34
- assert_equal '', @output.string
35
- end
36
-
37
- def test_wrap_short
38
- @f.wrap 'a b c'
39
- assert_equal " a b c\n", @output.string
40
- end
41
-
42
- end
43
-
44
- MiniTest::Unit.autorun
@@ -1,302 +0,0 @@
1
- require 'stringio'
2
- require 'rubygems'
3
- require 'minitest/unit'
4
- require 'rdoc/ri/formatter'
5
- require 'rdoc/ri/display'
6
- require 'rdoc/ri/driver'
7
-
8
- class TestRDocRiDefaultDisplay < MiniTest::Unit::TestCase
9
-
10
- def setup
11
- @output = StringIO.new
12
- @width = 78
13
- @indent = ' '
14
-
15
- @dd = RDoc::RI::DefaultDisplay.new RDoc::RI::Formatter, @width, true,
16
- @output
17
-
18
- @some_method = h \
19
- 'aliases' => [{'name' => 'some_method_alias'}],
20
- 'block_params' => 'block_param',
21
- 'comment' => [RDoc::Markup::Flow::P.new('some comment')],
22
- 'full_name' => 'SomeClass#some_method',
23
- 'is_singleton' => false,
24
- 'name' => 'some_method',
25
- 'params' => '(arg1, arg2) {|block_param| ...}',
26
- 'source_path' => '/nonexistent',
27
- 'visibility' => 'public'
28
- end
29
-
30
- def test_display_class_info
31
- klass = h \
32
- 'attributes' => [
33
- { 'name' => 'attribute', 'rw' => 'RW',
34
- 'comment' => [RDoc::Markup::Flow::P.new('attribute comment')] },
35
- { 'name' => 'attribute_no_comment', 'rw' => 'RW',
36
- 'comment' => nil },
37
- ],
38
- 'class_methods' => [
39
- { 'name' => 'class_method' },
40
- ],
41
- 'class_method_extensions' => [
42
- { 'name' => 'class_method_extension' },
43
- ],
44
- 'comment' => [RDoc::Markup::Flow::P.new('SomeClass comment')],
45
- 'constants' => [
46
- { 'name' => 'CONSTANT', 'value' => '"value1"',
47
- 'comment' => [RDoc::Markup::Flow::P.new('CONSTANT value')] },
48
- { 'name' => 'CONSTANT_NOCOMMENT', 'value' => '"value2"',
49
- 'comment' => nil },
50
- ],
51
- 'display_name' => 'Class',
52
- 'full_name' => 'SomeClass',
53
- 'includes' => [],
54
- 'instance_methods' => [
55
- { 'name' => 'instance_method' },
56
- { 'name' => 'instance_method2' },
57
- ],
58
- 'instance_method_extensions' => [
59
- { 'name' => 'instance_method_extension' },
60
- ],
61
- 'superclass' => 'Object'
62
-
63
- @dd.display_class_info klass
64
-
65
- expected = <<-EOF
66
- ---------------------------------------------------- Class: SomeClass < Object
67
- SomeClass comment
68
-
69
- ------------------------------------------------------------------------------
70
-
71
-
72
- Constants:
73
- ----------
74
-
75
- CONSTANT = "value1"
76
- CONSTANT value
77
-
78
- CONSTANT_NOCOMMENT = "value2"
79
-
80
-
81
- Attributes:
82
- -----------
83
-
84
- attribute (RW):
85
- attribute comment
86
-
87
- attribute_no_comment (RW)
88
-
89
-
90
- Class methods:
91
- --------------
92
-
93
- class_method
94
-
95
-
96
- Class method extensions:
97
- ------------------------
98
-
99
- class_method_extension
100
-
101
-
102
- Instance methods:
103
- -----------------
104
-
105
- instance_method, instance_method2
106
-
107
-
108
- Instance method extensions:
109
- ---------------------------
110
-
111
- instance_method_extension
112
- EOF
113
-
114
- assert_equal expected, @output.string
115
- end
116
-
117
- def test_display_flow
118
- flow = [RDoc::Markup::Flow::P.new('flow')]
119
-
120
- @dd.display_flow flow
121
-
122
- assert_equal " flow\n\n", @output.string
123
- end
124
-
125
- def test_display_flow_empty
126
- @dd.display_flow []
127
-
128
- assert_equal " [no description]\n", @output.string
129
- end
130
-
131
- def test_display_flow_nil
132
- @dd.display_flow nil
133
-
134
- assert_equal " [no description]\n", @output.string
135
- end
136
-
137
- def test_display_method_info
138
- @dd.display_method_info @some_method
139
-
140
- expected = <<-EOF
141
- -------------------------------------------------------- SomeClass#some_method
142
- some_method(arg1, arg2) {|block_param| ...}
143
-
144
- From /nonexistent
145
- ------------------------------------------------------------------------------
146
- some comment
147
-
148
-
149
- (also known as some_method_alias)
150
- EOF
151
-
152
- assert_equal expected, @output.string
153
- end
154
-
155
- def test_display_method_info_singleton
156
- method = RDoc::RI::Driver::OpenStructHash.new.update \
157
- 'aliases' => [],
158
- 'block_params' => nil,
159
- 'comment' => nil,
160
- 'full_name' => 'SomeClass::some_method',
161
- 'is_singleton' => true,
162
- 'name' => 'some_method',
163
- 'params' => '(arg1, arg2)',
164
- 'visibility' => 'public'
165
-
166
- @dd.display_method_info method
167
-
168
- expected = <<-EOF
169
- ------------------------------------------------------- SomeClass::some_method
170
- SomeClass::some_method(arg1, arg2)
171
-
172
- From
173
- ------------------------------------------------------------------------------
174
- [no description]
175
- EOF
176
-
177
- assert_equal expected, @output.string
178
- end
179
-
180
- def test_display_method_list
181
- methods = [
182
- RDoc::RI::Driver::OpenStructHash.new.update(
183
- "aliases" => [],
184
- "block_params" => nil,
185
- "comment" => nil,
186
- "full_name" => "SomeClass#some_method",
187
- "is_singleton" => false,
188
- "name" => "some_method",
189
- "params" => "()",
190
- "visibility" => "public"
191
- ),
192
- RDoc::RI::Driver::OpenStructHash.new.update(
193
- "aliases" => [],
194
- "block_params" => nil,
195
- "comment" => nil,
196
- "full_name" => "SomeClass#some_other_method",
197
- "is_singleton" => false,
198
- "name" => "some_other_method",
199
- "params" => "()",
200
- "visibility" => "public"
201
- ),
202
- ]
203
-
204
- @dd.display_method_list methods
205
-
206
- expected = <<-EOF
207
- More than one method matched your request. You can refine your search by
208
- asking for information on one of:
209
-
210
- SomeClass#some_method []
211
- SomeClass#some_other_method []
212
- EOF
213
-
214
- assert_equal expected, @output.string
215
- end
216
-
217
- def test_display_params
218
- @dd.display_params @some_method
219
-
220
- expected = <<-EOF
221
- some_method(arg1, arg2) {|block_param| ...}
222
-
223
- From /nonexistent
224
- EOF
225
-
226
- assert_equal expected, @output.string
227
- end
228
-
229
- def test_display_params_multiple
230
- @some_method['params'] = <<-EOF
231
- some_method(index)
232
- some_method(start, length)
233
- EOF
234
-
235
- @dd.display_params @some_method
236
-
237
- expected = <<-EOF
238
- some_method(index)
239
- some_method(start, length)
240
-
241
- From /nonexistent
242
- EOF
243
-
244
- assert_equal expected, @output.string
245
- end
246
-
247
- def test_display_params_singleton
248
- @some_method['is_singleton'] = true
249
- @some_method['full_name'] = 'SomeClass::some_method'
250
-
251
- @dd.display_params @some_method
252
-
253
- expected = <<-EOF
254
- SomeClass::some_method(arg1, arg2) {|block_param| ...}
255
-
256
- From /nonexistent
257
- EOF
258
-
259
- assert_equal expected, @output.string
260
- end
261
-
262
- def test_list_known_classes
263
- klasses = %w[SomeClass SomeModule]
264
-
265
- @dd.list_known_classes klasses
266
-
267
- expected = <<-EOF
268
- ---------------------------------------------------- Known classes and modules
269
-
270
- SomeClass
271
- SomeModule
272
- EOF
273
-
274
- assert_equal expected, @output.string
275
- end
276
-
277
- def test_list_known_classes_empty
278
- @dd.list_known_classes []
279
-
280
- expected = <<-EOF
281
- No ri data found
282
-
283
- If you've installed Ruby yourself, you need to generate documentation using:
284
-
285
- make install-doc
286
-
287
- from the same place you ran `make` to build ruby.
288
-
289
- If you installed Ruby from a packaging system, then you may need to
290
- install an additional package, or ask the packager to enable ri generation.
291
- EOF
292
-
293
- assert_equal expected, @output.string
294
- end
295
-
296
- def h(hash)
297
- RDoc::RI::Driver::OpenStructHash.convert hash
298
- end
299
-
300
- end
301
-
302
- MiniTest::Unit.autorun