rdoc 2.5.11 → 3.0
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.
- data.tar.gz.sig +0 -0
- data/.document +1 -0
- data/History.txt +95 -0
- data/Manifest.txt +13 -4
- data/README.txt +9 -3
- data/Rakefile +1 -1
- data/lib/rdoc.rb +15 -298
- data/lib/rdoc/alias.rb +65 -16
- data/lib/rdoc/any_method.rb +27 -150
- data/lib/rdoc/attr.rb +36 -115
- data/lib/rdoc/class_module.rb +236 -22
- data/lib/rdoc/code_object.rb +76 -31
- data/lib/rdoc/constant.rb +32 -4
- data/lib/rdoc/context.rb +494 -222
- data/lib/rdoc/encoding.rb +79 -0
- data/lib/rdoc/erbio.rb +37 -0
- data/lib/rdoc/gauntlet.rb +9 -5
- data/lib/rdoc/generator.rb +33 -1
- data/lib/rdoc/generator/darkfish.rb +284 -375
- data/lib/rdoc/generator/markup.rb +72 -36
- data/lib/rdoc/generator/ri.rb +4 -4
- data/lib/rdoc/generator/template/darkfish/classpage.rhtml +267 -274
- data/lib/rdoc/generator/template/darkfish/filepage.rhtml +91 -91
- data/lib/rdoc/generator/template/darkfish/index.rhtml +45 -45
- data/lib/rdoc/generator/template/darkfish/rdoc.css +298 -298
- data/lib/rdoc/include.rb +40 -1
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markup.rb +467 -2
- data/lib/rdoc/markup/attribute_manager.rb +24 -6
- data/lib/rdoc/markup/blank_line.rb +11 -3
- data/lib/rdoc/markup/document.rb +6 -0
- data/lib/rdoc/markup/formatter.rb +10 -0
- data/lib/rdoc/markup/formatter_test_case.rb +339 -3
- data/lib/rdoc/markup/heading.rb +3 -0
- data/lib/rdoc/markup/inline.rb +11 -1
- data/lib/rdoc/markup/list.rb +3 -0
- data/lib/rdoc/markup/list_item.rb +3 -0
- data/lib/rdoc/markup/paragraph.rb +3 -0
- data/lib/rdoc/markup/parser.rb +191 -237
- data/lib/rdoc/markup/{preprocess.rb → pre_process.rb} +50 -29
- data/lib/rdoc/markup/raw.rb +4 -0
- data/lib/rdoc/markup/rule.rb +3 -0
- data/lib/rdoc/markup/text_formatter_test_case.rb +116 -0
- data/lib/rdoc/markup/to_ansi.rb +14 -2
- data/lib/rdoc/markup/to_bs.rb +8 -2
- data/lib/rdoc/markup/to_html.rb +84 -91
- data/lib/rdoc/markup/to_html_crossref.rb +77 -26
- data/lib/rdoc/markup/to_rdoc.rb +94 -49
- data/lib/rdoc/markup/to_test.rb +9 -1
- data/lib/rdoc/markup/verbatim.rb +6 -3
- data/lib/rdoc/method_attr.rb +353 -0
- data/lib/rdoc/normal_class.rb +11 -2
- data/lib/rdoc/normal_module.rb +0 -5
- data/lib/rdoc/options.rb +373 -82
- data/lib/rdoc/parser.rb +59 -23
- data/lib/rdoc/parser/c.rb +224 -86
- data/lib/rdoc/parser/ruby.rb +219 -111
- data/lib/rdoc/parser/ruby_tools.rb +4 -1
- data/lib/rdoc/parser/simple.rb +9 -4
- data/lib/rdoc/rdoc.rb +68 -28
- data/lib/rdoc/require.rb +21 -0
- data/lib/rdoc/ri/driver.rb +20 -10
- data/lib/rdoc/ri/paths.rb +2 -2
- data/lib/rdoc/ri/store.rb +22 -5
- data/lib/rdoc/ruby_lex.rb +11 -12
- data/lib/rdoc/ruby_token.rb +2 -2
- data/lib/rdoc/single_class.rb +2 -1
- data/lib/rdoc/stats.rb +202 -162
- data/lib/rdoc/stats/normal.rb +51 -0
- data/lib/rdoc/stats/quiet.rb +59 -0
- data/lib/rdoc/stats/verbose.rb +45 -0
- data/lib/rdoc/text.rb +133 -4
- data/lib/rdoc/{tokenstream.rb → token_stream.rb} +0 -2
- data/lib/rdoc/top_level.rb +230 -39
- data/test/test_attribute_manager.rb +58 -7
- data/test/test_rdoc_alias.rb +13 -0
- data/test/test_rdoc_any_method.rb +43 -2
- data/test/test_rdoc_attr.rb +15 -8
- data/test/test_rdoc_class_module.rb +133 -0
- data/test/test_rdoc_code_object.rb +62 -5
- data/test/test_rdoc_context.rb +72 -26
- data/test/test_rdoc_encoding.rb +145 -0
- data/test/test_rdoc_generator_darkfish.rb +119 -0
- data/test/test_rdoc_generator_ri.rb +22 -2
- data/test/test_rdoc_include.rb +79 -0
- data/test/test_rdoc_markup_attribute_manager.rb +4 -4
- data/test/test_rdoc_markup_parser.rb +134 -95
- data/test/test_rdoc_markup_pre_process.rb +7 -2
- data/test/test_rdoc_markup_to_ansi.rb +43 -153
- data/test/test_rdoc_markup_to_bs.rb +42 -156
- data/test/test_rdoc_markup_to_html.rb +130 -58
- data/test/test_rdoc_markup_to_html_crossref.rb +10 -10
- data/test/test_rdoc_markup_to_rdoc.rb +40 -151
- data/test/test_rdoc_method_attr.rb +122 -0
- data/test/test_rdoc_normal_class.rb +1 -1
- data/test/test_rdoc_normal_module.rb +6 -1
- data/test/test_rdoc_options.rb +237 -12
- data/test/test_rdoc_parser.rb +3 -22
- data/test/test_rdoc_parser_c.rb +203 -2
- data/test/test_rdoc_parser_ruby.rb +403 -89
- data/test/test_rdoc_parser_simple.rb +25 -1
- data/test/test_rdoc_rdoc.rb +44 -32
- data/test/test_rdoc_ri_driver.rb +29 -24
- data/test/test_rdoc_ri_store.rb +46 -3
- data/test/test_rdoc_task.rb +1 -1
- data/test/test_rdoc_text.rb +102 -8
- data/test/test_rdoc_top_level.rb +13 -4
- data/test/xref_data.rb +8 -0
- data/test/xref_test_case.rb +6 -0
- metadata +29 -19
- metadata.gz.sig +0 -0
- data/lib/rdoc/parser/perl.rb +0 -165
- data/test/test_rdoc_parser_perl.rb +0 -73
@@ -0,0 +1,122 @@
|
|
1
|
+
require File.expand_path '../xref_test_case', __FILE__
|
2
|
+
|
3
|
+
class TestRDocMethodAttr < XrefTestCase
|
4
|
+
|
5
|
+
def test_block_params_equal
|
6
|
+
|
7
|
+
m = RDoc::MethodAttr.new(nil, 'foo')
|
8
|
+
|
9
|
+
m.block_params = ''
|
10
|
+
assert_equal '', m.block_params
|
11
|
+
|
12
|
+
m.block_params = 'a_var'
|
13
|
+
assert_equal 'a_var', m.block_params
|
14
|
+
|
15
|
+
m.block_params = '()'
|
16
|
+
assert_equal '', m.block_params
|
17
|
+
|
18
|
+
m.block_params = '(a_var, b_var)'
|
19
|
+
assert_equal 'a_var, b_var', m.block_params
|
20
|
+
|
21
|
+
m.block_params = '.to_s + "</#{element.upcase}>"'
|
22
|
+
assert_equal '', m.block_params
|
23
|
+
|
24
|
+
m.block_params = 'i.name'
|
25
|
+
assert_equal 'name', m.block_params
|
26
|
+
|
27
|
+
m.block_params = 'attr.expanded_name, attr.value'
|
28
|
+
assert_equal 'expanded_name, value', m.block_params
|
29
|
+
|
30
|
+
m.block_params = 'expanded_name, attr.value'
|
31
|
+
assert_equal 'expanded_name, value', m.block_params
|
32
|
+
|
33
|
+
m.block_params = 'attr.expanded_name, value'
|
34
|
+
assert_equal 'expanded_name, value', m.block_params
|
35
|
+
|
36
|
+
m.block_params = '(@base_notifier)'
|
37
|
+
assert_equal 'base_notifier', m.block_params
|
38
|
+
|
39
|
+
m.block_params = 'if @signal_status == :IN_LOAD'
|
40
|
+
assert_equal '', m.block_params
|
41
|
+
|
42
|
+
m.block_params = 'e if e.kind_of? Element'
|
43
|
+
assert_equal 'e', m.block_params
|
44
|
+
|
45
|
+
m.block_params = '(e, f) if e.kind_of? Element'
|
46
|
+
assert_equal 'e, f', m.block_params
|
47
|
+
|
48
|
+
m.block_params = 'back_path, back_name'
|
49
|
+
assert_equal 'back_path, back_name', m.block_params
|
50
|
+
|
51
|
+
m.block_params = '(*a[1..-1])'
|
52
|
+
assert_equal '*a', m.block_params
|
53
|
+
|
54
|
+
m.block_params = '@@context[:node] if defined? @@context[:node].namespace'
|
55
|
+
assert_equal 'context', m.block_params
|
56
|
+
|
57
|
+
m.block_params = '(result, klass.const_get(constant_name))'
|
58
|
+
assert_equal 'result, const', m.block_params
|
59
|
+
|
60
|
+
m.block_params = 'name.to_s if (bitmap & bit) != 0'
|
61
|
+
assert_equal 'name', m.block_params
|
62
|
+
|
63
|
+
m.block_params = 'line unless line.deleted'
|
64
|
+
assert_equal 'line', m.block_params
|
65
|
+
|
66
|
+
m.block_params = 'str + rs'
|
67
|
+
assert_equal 'str', m.block_params
|
68
|
+
|
69
|
+
m.block_params = 'f+rs'
|
70
|
+
assert_equal 'f', m.block_params
|
71
|
+
|
72
|
+
m.block_params = '[user, realm, hash[user]]'
|
73
|
+
assert_equal 'user, realm, hash', m.block_params
|
74
|
+
|
75
|
+
m.block_params = 'proc{|rc| rc == "rc" ? irbrc : irbrc+rc| ... }'
|
76
|
+
assert_equal 'proc', m.block_params
|
77
|
+
|
78
|
+
m.block_params = 'lambda { |x| x.to_i }'
|
79
|
+
assert_equal 'lambda', m.block_params
|
80
|
+
|
81
|
+
m.block_params = '$&'
|
82
|
+
assert_equal 'str', m.block_params
|
83
|
+
|
84
|
+
m.block_params = 'Inflections.instance'
|
85
|
+
assert_equal 'instance', m.block_params
|
86
|
+
|
87
|
+
m.block_params = 'self.class::STARTED'
|
88
|
+
assert_equal 'STARTED', m.block_params
|
89
|
+
|
90
|
+
m.block_params = 'Test::Unit::TestCase::STARTED'
|
91
|
+
assert_equal 'STARTED', m.block_params
|
92
|
+
|
93
|
+
m.block_params = 'ActiveSupport::OptionMerger.new(self, options)'
|
94
|
+
assert_equal 'option_merger', m.block_params
|
95
|
+
|
96
|
+
m.block_params = ', msg'
|
97
|
+
assert_equal '', m.block_params
|
98
|
+
|
99
|
+
m.block_params = '[size.to_s(16), term, chunk, term].join'
|
100
|
+
assert_equal '[size, term, chunk, term].join', m.block_params
|
101
|
+
|
102
|
+
m.block_params = 'YPath.new( path )'
|
103
|
+
assert_equal 'y_path', m.block_params
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_find_method_or_attribute_recursive
|
108
|
+
inc = RDoc::Include.new 'M1', nil
|
109
|
+
@m1.add_include inc # M1 now includes itself
|
110
|
+
|
111
|
+
assert_nil @m1_m.find_method_or_attribute 'm'
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_to_s
|
115
|
+
assert_equal 'RDoc::AnyMethod: C1#m', @c1_m.to_s
|
116
|
+
assert_equal 'RDoc::AnyMethod: C2#b', @c2_b.to_s
|
117
|
+
assert_equal 'RDoc::AnyMethod: C1::m', @c1__m.to_s
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
end
|
122
|
+
|
@@ -10,7 +10,7 @@ class TestRDocNormalClass < XrefTestCase
|
|
10
10
|
sub_klass = klass.add_class RDoc::NormalClass, 'SubClass', 'Klass'
|
11
11
|
sub_klass.add_include incl
|
12
12
|
|
13
|
-
assert_equal [incl, klass], sub_klass.ancestors
|
13
|
+
assert_equal [incl.name, klass], sub_klass.ancestors
|
14
14
|
end
|
15
15
|
|
16
16
|
end
|
@@ -15,7 +15,12 @@ class TestRDocNormalModule < XrefTestCase
|
|
15
15
|
|
16
16
|
mod.add_include incl
|
17
17
|
|
18
|
-
assert_equal [incl], mod.ancestors
|
18
|
+
assert_equal [incl.name], mod.ancestors
|
19
|
+
|
20
|
+
mod2 = top_level.add_module RDoc::NormalModule, 'Inc2'
|
21
|
+
inc2 = RDoc::Include.new 'Inc2', ''
|
22
|
+
mod.add_include inc2
|
23
|
+
assert_equal [mod2, incl.name], mod.ancestors
|
19
24
|
end
|
20
25
|
|
21
26
|
def test_module_eh
|
data/test/test_rdoc_options.rb
CHANGED
@@ -2,12 +2,182 @@ require 'rubygems'
|
|
2
2
|
require 'minitest/autorun'
|
3
3
|
require 'rdoc/options'
|
4
4
|
|
5
|
+
require 'fileutils'
|
6
|
+
require 'tmpdir'
|
7
|
+
|
5
8
|
class TestRDocOptions < MiniTest::Unit::TestCase
|
6
9
|
|
7
10
|
def setup
|
8
11
|
@options = RDoc::Options.new
|
9
12
|
end
|
10
13
|
|
14
|
+
def test_check_files
|
15
|
+
out, err = capture_io do
|
16
|
+
Dir.mktmpdir do |dir|
|
17
|
+
Dir.chdir dir do
|
18
|
+
FileUtils.touch 'unreadable'
|
19
|
+
FileUtils.chmod 0, 'unreadable'
|
20
|
+
|
21
|
+
@options.files = %w[nonexistent unreadable]
|
22
|
+
|
23
|
+
@options.check_files
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
assert_empty @options.files
|
29
|
+
|
30
|
+
assert_equal '', out
|
31
|
+
|
32
|
+
expected = <<-EXPECTED
|
33
|
+
file 'nonexistent' not found
|
34
|
+
file 'unreadable' not readable
|
35
|
+
EXPECTED
|
36
|
+
|
37
|
+
assert_equal expected, err
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_dry_run_default
|
41
|
+
refute @options.dry_run
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_encoding_default
|
45
|
+
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
46
|
+
|
47
|
+
assert_equal Encoding.default_external, @options.encoding
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_parse_dash_p
|
51
|
+
out, err = capture_io do
|
52
|
+
@options.parse %w[-p]
|
53
|
+
end
|
54
|
+
|
55
|
+
assert @options.pipe
|
56
|
+
refute_match %r%^Usage: %, err
|
57
|
+
refute_match %r%^invalid options%, err
|
58
|
+
|
59
|
+
assert_empty out
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_parse_dash_p_files
|
63
|
+
out, err = capture_io do
|
64
|
+
@options.parse ['-p', File.expand_path(__FILE__)]
|
65
|
+
end
|
66
|
+
|
67
|
+
refute @options.pipe
|
68
|
+
refute_match %r%^Usage: %, err
|
69
|
+
assert_match %r%^invalid options: -p .with files.%, err
|
70
|
+
|
71
|
+
assert_empty out
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_parse_default
|
75
|
+
@options.parse []
|
76
|
+
|
77
|
+
assert_equal RDoc::Generator::Darkfish, @options.generator
|
78
|
+
assert_equal 'darkfish', @options.template
|
79
|
+
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_parse_deprecated
|
83
|
+
dep_hash = RDoc::Options::DEPRECATED
|
84
|
+
options = dep_hash.keys.sort
|
85
|
+
|
86
|
+
out, err = capture_io do
|
87
|
+
@options.parse options
|
88
|
+
end
|
89
|
+
|
90
|
+
dep_hash.each_pair do |opt, message|
|
91
|
+
assert_match %r%.*#{opt}.+#{message}%, err
|
92
|
+
end
|
93
|
+
|
94
|
+
assert_empty out
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_parse_dry_run
|
98
|
+
@options.parse %w[--dry-run]
|
99
|
+
|
100
|
+
assert @options.dry_run
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_parse_encoding
|
104
|
+
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
105
|
+
|
106
|
+
@options.parse %w[--encoding Big5]
|
107
|
+
|
108
|
+
assert_equal Encoding::Big5, @options.encoding
|
109
|
+
assert_equal 'Big5', @options.charset
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_parse_encoding_invalid
|
113
|
+
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
114
|
+
|
115
|
+
out, err = capture_io do
|
116
|
+
@options.parse %w[--encoding invalid]
|
117
|
+
end
|
118
|
+
|
119
|
+
assert_match %r%^invalid options: --encoding invalid%, err
|
120
|
+
|
121
|
+
assert_empty out
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_parse_formatter
|
125
|
+
e = assert_raises OptionParser::InvalidOption do
|
126
|
+
@options.parse %w[--format darkfish --format ri]
|
127
|
+
end
|
128
|
+
|
129
|
+
assert_equal 'invalid option: --format generator already set to darkfish',
|
130
|
+
e.message
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_parse_formatter_ri
|
134
|
+
e = assert_raises OptionParser::InvalidOption do
|
135
|
+
@options.parse %w[--format darkfish --ri]
|
136
|
+
end
|
137
|
+
|
138
|
+
assert_equal 'invalid option: --ri generator already set to darkfish',
|
139
|
+
e.message
|
140
|
+
|
141
|
+
@options = RDoc::Options.new
|
142
|
+
|
143
|
+
e = assert_raises OptionParser::InvalidOption do
|
144
|
+
@options.parse %w[--format darkfish -r]
|
145
|
+
end
|
146
|
+
|
147
|
+
assert_equal 'invalid option: -r generator already set to darkfish',
|
148
|
+
e.message
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_parse_formatter_ri_site
|
152
|
+
e = assert_raises OptionParser::InvalidOption do
|
153
|
+
@options.parse %w[--format darkfish --ri-site]
|
154
|
+
end
|
155
|
+
|
156
|
+
assert_equal 'invalid option: --ri-site generator already set to darkfish',
|
157
|
+
e.message
|
158
|
+
|
159
|
+
@options = RDoc::Options.new
|
160
|
+
|
161
|
+
e = assert_raises OptionParser::InvalidOption do
|
162
|
+
@options.parse %w[--format darkfish -R]
|
163
|
+
end
|
164
|
+
|
165
|
+
assert_equal 'invalid option: -R generator already set to darkfish',
|
166
|
+
e.message
|
167
|
+
end
|
168
|
+
|
169
|
+
def test_parse_help
|
170
|
+
out, = capture_io do
|
171
|
+
begin
|
172
|
+
@options.parse %w[--help]
|
173
|
+
rescue SystemExit
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
assert_equal 1, out.scan(/HTML generator options:/).length
|
178
|
+
assert_equal 1, out.scan(/ri generator options:/). length
|
179
|
+
end
|
180
|
+
|
11
181
|
def test_parse_ignore_invalid
|
12
182
|
out, err = capture_io do
|
13
183
|
@options.parse %w[--ignore-invalid --bogus]
|
@@ -15,6 +185,8 @@ class TestRDocOptions < MiniTest::Unit::TestCase
|
|
15
185
|
|
16
186
|
refute_match %r%^Usage: %, err
|
17
187
|
assert_match %r%^invalid options: --bogus%, err
|
188
|
+
|
189
|
+
assert_empty out
|
18
190
|
end
|
19
191
|
|
20
192
|
def test_parse_ignore_invalid_default
|
@@ -26,17 +198,21 @@ class TestRDocOptions < MiniTest::Unit::TestCase
|
|
26
198
|
assert_match %r%^invalid options: --bogus%, err
|
27
199
|
|
28
200
|
assert_equal 'BLAH', @options.main_page
|
201
|
+
|
202
|
+
assert_empty out
|
29
203
|
end
|
30
204
|
|
31
205
|
def test_parse_ignore_invalid_no
|
32
206
|
out, err = capture_io do
|
33
207
|
assert_raises SystemExit do
|
34
|
-
@options.parse %w[--no-ignore-invalid --bogus]
|
208
|
+
@options.parse %w[--no-ignore-invalid --bogus=arg --bobogus --visibility=extended]
|
35
209
|
end
|
36
210
|
end
|
37
211
|
|
38
212
|
assert_match %r%^Usage: %, err
|
39
|
-
assert_match %r%^invalid
|
213
|
+
assert_match %r%^invalid options: --bogus=arg, --bobogus, --visibility=extended%, err
|
214
|
+
|
215
|
+
assert_empty out
|
40
216
|
end
|
41
217
|
|
42
218
|
def test_parse_main
|
@@ -50,24 +226,73 @@ class TestRDocOptions < MiniTest::Unit::TestCase
|
|
50
226
|
assert_equal 'MAIN', @options.main_page
|
51
227
|
end
|
52
228
|
|
53
|
-
def
|
229
|
+
def test_parse_template
|
54
230
|
out, err = capture_io do
|
55
|
-
@options.parse %w[
|
231
|
+
@options.parse %w[--template darkfish]
|
56
232
|
end
|
57
233
|
|
58
|
-
|
59
|
-
|
60
|
-
|
234
|
+
assert_empty out
|
235
|
+
assert_empty err
|
236
|
+
|
237
|
+
assert_equal 'darkfish', @options.template
|
238
|
+
|
239
|
+
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
61
240
|
end
|
62
241
|
|
63
|
-
def
|
242
|
+
def test_parse_template_nonexistent
|
64
243
|
out, err = capture_io do
|
65
|
-
@options.parse %w[
|
244
|
+
@options.parse %w[--template NONEXISTENT]
|
66
245
|
end
|
67
246
|
|
68
|
-
|
69
|
-
|
70
|
-
|
247
|
+
assert_empty out
|
248
|
+
assert_equal "could not find template NONEXISTENT\n", err
|
249
|
+
|
250
|
+
assert_equal 'darkfish', @options.template
|
251
|
+
assert_match %r%rdoc/generator/template/darkfish$%, @options.template_dir
|
252
|
+
end
|
253
|
+
|
254
|
+
def test_parse_template_load_path
|
255
|
+
orig_LOAD_PATH = $LOAD_PATH.dup
|
256
|
+
|
257
|
+
template_dir = nil
|
258
|
+
|
259
|
+
Dir.mktmpdir do |dir|
|
260
|
+
$LOAD_PATH << dir
|
261
|
+
|
262
|
+
template_dir = File.join dir, 'rdoc', 'generator', 'template', 'load_path'
|
263
|
+
|
264
|
+
FileUtils.mkdir_p template_dir
|
265
|
+
|
266
|
+
out, err = capture_io do
|
267
|
+
@options.parse %w[--template load_path]
|
268
|
+
end
|
269
|
+
|
270
|
+
assert_empty out
|
271
|
+
assert_empty err
|
272
|
+
end
|
273
|
+
|
274
|
+
assert_equal 'load_path', @options.template
|
275
|
+
assert_equal template_dir, @options.template_dir
|
276
|
+
ensure
|
277
|
+
$LOAD_PATH.replace orig_LOAD_PATH
|
278
|
+
end
|
279
|
+
|
280
|
+
def test_setup_generator
|
281
|
+
test_generator = Object.new
|
282
|
+
def test_generator.setup_options(op)
|
283
|
+
@op = op
|
284
|
+
end
|
285
|
+
|
286
|
+
def test_generator.op() @op end
|
287
|
+
|
288
|
+
RDoc::RDoc::GENERATORS['TestGenerator'] = test_generator
|
289
|
+
|
290
|
+
@options.setup_generator 'TestGenerator'
|
291
|
+
|
292
|
+
assert_equal test_generator, @options.generator
|
293
|
+
assert_equal [test_generator], @options.generator_options
|
294
|
+
|
295
|
+
assert_equal @options, test_generator.op
|
71
296
|
end
|
72
297
|
|
73
298
|
end
|
data/test/test_rdoc_parser.rb
CHANGED
@@ -11,25 +11,6 @@ class TestRDocParser < MiniTest::Unit::TestCase
|
|
11
11
|
@binary_dat = File.expand_path '../binary.dat', __FILE__
|
12
12
|
end
|
13
13
|
|
14
|
-
def test_class_binary_eh_erb
|
15
|
-
erb = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.erb"
|
16
|
-
open erb, 'wb' do |io|
|
17
|
-
io.write 'blah blah <%= stuff %> <% more stuff %>'
|
18
|
-
end
|
19
|
-
|
20
|
-
assert @RP.binary?(erb)
|
21
|
-
|
22
|
-
erb_rb = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.erb.rb"
|
23
|
-
open erb_rb, 'wb' do |io|
|
24
|
-
io.write 'blah blah <%= stuff %>'
|
25
|
-
end
|
26
|
-
|
27
|
-
refute @RP.binary?(erb_rb)
|
28
|
-
ensure
|
29
|
-
File.unlink erb
|
30
|
-
File.unlink erb_rb if erb_rb
|
31
|
-
end
|
32
|
-
|
33
14
|
def test_class_binary_eh_marshal
|
34
15
|
marshal = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.marshal"
|
35
16
|
open marshal, 'wb' do |io|
|
@@ -44,14 +25,14 @@ class TestRDocParser < MiniTest::Unit::TestCase
|
|
44
25
|
|
45
26
|
def test_class_binary_japanese_text
|
46
27
|
file_name = File.expand_path '../test.ja.txt', __FILE__
|
47
|
-
|
28
|
+
refute @RP.binary?(file_name)
|
48
29
|
end
|
49
30
|
|
50
31
|
def test_class_binary_japanese_rdoc
|
51
|
-
skip "Encoding not implemented" unless
|
32
|
+
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
52
33
|
|
53
34
|
file_name = File.expand_path '../test.ja.rdoc', __FILE__
|
54
|
-
|
35
|
+
refute @RP.binary?(file_name)
|
55
36
|
end
|
56
37
|
|
57
38
|
def test_class_can_parse
|