1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
require 'rdoc/test_case'
class TestRDocGeneratorRI < RDoc::TestCase
def setup
super
@options = RDoc::Options.new
if Object.const_defined? :Encoding then
@options.encoding = Encoding::UTF_8
@store.encoding = Encoding::UTF_8
end
@tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_ri_#{$$}"
FileUtils.mkdir_p @tmpdir
@g = RDoc::Generator::RI.new @store, @options
@top_level = @store.add_file 'file.rb'
@klass = @top_level.add_class RDoc::NormalClass, 'Object'
@meth = RDoc::AnyMethod.new nil, 'method'
@meth.record_location @top_level
@meth_bang = RDoc::AnyMethod.new nil, 'method!'
@meth_bang.record_location @top_level
@attr = RDoc::Attr.new nil, 'attr', 'RW', ''
@attr.record_location @top_level
@klass.add_method @meth
@klass.add_method @meth_bang
@klass.add_attribute @attr
Dir.chdir @tmpdir
end
def teardown
super
Dir.chdir @pwd
FileUtils.rm_rf @tmpdir
end
def test_generate
@g.generate
assert_file File.join(@tmpdir, 'cache.ri')
assert_file File.join(@tmpdir, 'Object', 'cdesc-Object.ri')
assert_file File.join(@tmpdir, 'Object', 'attr-i.ri')
assert_file File.join(@tmpdir, 'Object', 'method-i.ri')
assert_file File.join(@tmpdir, 'Object', 'method%21-i.ri')
store = RDoc::RI::Store.new @tmpdir
store.load_cache
encoding = Object.const_defined?(:Encoding) ? Encoding::UTF_8 : nil
assert_equal encoding, store.encoding
end
def test_generate_dry_run
@store.dry_run = true
@g = RDoc::Generator::RI.new @store, @options
top_level = @store.add_file 'file.rb'
top_level.add_class @klass.class, @klass.name
@g.generate
refute_file File.join(@tmpdir, 'cache.ri')
refute_file File.join(@tmpdir, 'Object')
end
end
|