rdoc 4.3.0 → 5.0.0.beta1
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.
- checksums.yaml +4 -4
- data/.gitignore +13 -0
- data/.travis.yml +23 -0
- data/CONTRIBUTING.rdoc +4 -3
- data/Gemfile +3 -0
- data/History.rdoc +15 -4
- data/LEGAL.rdoc +2 -2
- data/README.rdoc +1 -0
- data/Rakefile +41 -79
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/{bin → exe}/rdoc +0 -0
- data/{bin → exe}/ri +0 -0
- data/lib/rdoc.rb +2 -1
- data/lib/rdoc/alias.rb +1 -0
- data/lib/rdoc/anon_class.rb +1 -0
- data/lib/rdoc/any_method.rb +1 -0
- data/lib/rdoc/attr.rb +1 -0
- data/lib/rdoc/class_module.rb +1 -0
- data/lib/rdoc/code_object.rb +1 -0
- data/lib/rdoc/code_objects.rb +1 -0
- data/lib/rdoc/comment.rb +1 -0
- data/lib/rdoc/constant.rb +1 -0
- data/lib/rdoc/context.rb +4 -1
- data/lib/rdoc/context/section.rb +7 -0
- data/lib/rdoc/cross_reference.rb +1 -0
- data/lib/rdoc/encoding.rb +14 -0
- data/lib/rdoc/erb_partial.rb +1 -0
- data/lib/rdoc/erbio.rb +1 -0
- data/lib/rdoc/extend.rb +1 -0
- data/lib/rdoc/generator.rb +1 -0
- data/lib/rdoc/generator/darkfish.rb +1 -0
- data/lib/rdoc/generator/json_index.rb +1 -0
- data/lib/rdoc/generator/markup.rb +1 -0
- data/lib/rdoc/generator/pot.rb +1 -0
- data/lib/rdoc/generator/pot/message_extractor.rb +1 -0
- data/lib/rdoc/generator/pot/po.rb +1 -0
- data/lib/rdoc/generator/pot/po_entry.rb +1 -0
- data/lib/rdoc/generator/ri.rb +1 -0
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +2 -1
- data/lib/rdoc/generator/template/darkfish/css/fonts.css +6 -6
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +7 -7
- data/lib/rdoc/generator/template/json_index/js/searcher.js +1 -0
- data/lib/rdoc/ghost_method.rb +1 -0
- data/lib/rdoc/i18n.rb +1 -0
- data/lib/rdoc/i18n/locale.rb +1 -0
- data/lib/rdoc/i18n/text.rb +1 -0
- data/lib/rdoc/include.rb +1 -0
- data/lib/rdoc/known_classes.rb +1 -0
- data/lib/rdoc/markdown.kpeg +2 -6
- data/lib/rdoc/markdown.rb +2 -6
- data/lib/rdoc/markdown/entities.rb +1 -0
- data/lib/rdoc/markdown/{literals_1_9.kpeg → literals.kpeg} +0 -0
- data/lib/rdoc/markdown/{literals_1_9.rb → literals.rb} +1 -4
- data/lib/rdoc/markup.rb +1 -0
- data/lib/rdoc/markup/attr_changer.rb +1 -0
- data/lib/rdoc/markup/attr_span.rb +1 -0
- data/lib/rdoc/markup/attribute_manager.rb +1 -0
- data/lib/rdoc/markup/attributes.rb +1 -0
- data/lib/rdoc/markup/blank_line.rb +1 -0
- data/lib/rdoc/markup/block_quote.rb +1 -0
- data/lib/rdoc/markup/document.rb +1 -0
- data/lib/rdoc/markup/formatter.rb +1 -0
- data/lib/rdoc/markup/formatter_test_case.rb +1 -4
- data/lib/rdoc/markup/hard_break.rb +1 -0
- data/lib/rdoc/markup/heading.rb +1 -0
- data/lib/rdoc/markup/include.rb +1 -0
- data/lib/rdoc/markup/indented_paragraph.rb +1 -0
- data/lib/rdoc/markup/inline.rb +1 -0
- data/lib/rdoc/markup/list.rb +1 -0
- data/lib/rdoc/markup/list_item.rb +1 -0
- data/lib/rdoc/markup/paragraph.rb +1 -0
- data/lib/rdoc/markup/parser.rb +1 -0
- data/lib/rdoc/markup/pre_process.rb +1 -0
- data/lib/rdoc/markup/raw.rb +1 -0
- data/lib/rdoc/markup/rule.rb +1 -0
- data/lib/rdoc/markup/special.rb +1 -0
- data/lib/rdoc/markup/text_formatter_test_case.rb +1 -0
- data/lib/rdoc/markup/to_ansi.rb +1 -0
- data/lib/rdoc/markup/to_bs.rb +1 -0
- data/lib/rdoc/markup/to_html.rb +1 -0
- data/lib/rdoc/markup/to_html_crossref.rb +1 -0
- data/lib/rdoc/markup/to_html_snippet.rb +1 -0
- data/lib/rdoc/markup/to_joined_paragraph.rb +1 -0
- data/lib/rdoc/markup/to_label.rb +1 -0
- data/lib/rdoc/markup/to_markdown.rb +1 -0
- data/lib/rdoc/markup/to_rdoc.rb +1 -0
- data/lib/rdoc/markup/to_table_of_contents.rb +1 -0
- data/lib/rdoc/markup/to_test.rb +1 -0
- data/lib/rdoc/markup/to_tt_only.rb +1 -0
- data/lib/rdoc/markup/verbatim.rb +1 -0
- data/lib/rdoc/meta_method.rb +1 -0
- data/lib/rdoc/method_attr.rb +1 -0
- data/lib/rdoc/mixin.rb +1 -0
- data/lib/rdoc/normal_class.rb +1 -0
- data/lib/rdoc/normal_module.rb +1 -0
- data/lib/rdoc/options.rb +1 -0
- data/lib/rdoc/parser.rb +1 -0
- data/lib/rdoc/parser/c.rb +76 -33
- data/lib/rdoc/parser/changelog.rb +7 -1
- data/lib/rdoc/parser/markdown.rb +1 -0
- data/lib/rdoc/parser/rd.rb +1 -0
- data/lib/rdoc/parser/ruby.rb +1 -0
- data/lib/rdoc/parser/ruby_tools.rb +1 -0
- data/lib/rdoc/parser/simple.rb +1 -0
- data/lib/rdoc/parser/text.rb +1 -0
- data/lib/rdoc/rd.rb +1 -0
- data/lib/rdoc/rd/inline.rb +1 -0
- data/lib/rdoc/rdoc.rb +2 -1
- data/lib/rdoc/require.rb +1 -0
- data/lib/rdoc/ri.rb +1 -0
- data/lib/rdoc/ri/driver.rb +5 -19
- data/lib/rdoc/ri/formatter.rb +1 -0
- data/lib/rdoc/ri/paths.rb +1 -0
- data/lib/rdoc/ri/store.rb +1 -0
- data/lib/rdoc/ri/task.rb +72 -0
- data/lib/rdoc/ruby_lex.rb +11 -17
- data/lib/rdoc/ruby_token.rb +1 -0
- data/lib/rdoc/rubygems_hook.rb +1 -0
- data/lib/rdoc/servlet.rb +4 -3
- data/lib/rdoc/single_class.rb +1 -0
- data/lib/rdoc/stats.rb +1 -0
- data/lib/rdoc/stats/normal.rb +1 -0
- data/lib/rdoc/stats/quiet.rb +1 -0
- data/lib/rdoc/stats/verbose.rb +1 -0
- data/lib/rdoc/store.rb +3 -9
- data/lib/rdoc/task.rb +1 -0
- data/lib/rdoc/test_case.rb +1 -10
- data/lib/rdoc/text.rb +1 -0
- data/lib/rdoc/token_stream.rb +1 -0
- data/lib/rdoc/tom_doc.rb +1 -0
- data/lib/rdoc/top_level.rb +1 -0
- data/rdoc.gemspec +60 -0
- metadata +32 -155
- data/Manifest.txt +0 -309
- data/lib/rdoc/markdown/literals_1_8.kpeg +0 -18
- data/lib/rdoc/markdown/literals_1_8.rb +0 -416
- data/test/MarkdownTest_1.0.3/Amps and angle encoding.text +0 -21
- data/test/MarkdownTest_1.0.3/Auto links.text +0 -13
- data/test/MarkdownTest_1.0.3/Backslash escapes.text +0 -120
- data/test/MarkdownTest_1.0.3/Blockquotes with code blocks.text +0 -11
- data/test/MarkdownTest_1.0.3/Code Blocks.text +0 -14
- data/test/MarkdownTest_1.0.3/Code Spans.text +0 -6
- data/test/MarkdownTest_1.0.3/Hard-wrapped paragraphs with list-like lines.text +0 -8
- data/test/MarkdownTest_1.0.3/Horizontal rules.text +0 -67
- data/test/MarkdownTest_1.0.3/Inline HTML (Advanced).text +0 -15
- data/test/MarkdownTest_1.0.3/Inline HTML (Simple).text +0 -69
- data/test/MarkdownTest_1.0.3/Inline HTML comments.text +0 -13
- data/test/MarkdownTest_1.0.3/Links, inline style.text +0 -12
- data/test/MarkdownTest_1.0.3/Links, reference style.text +0 -71
- data/test/MarkdownTest_1.0.3/Links, shortcut references.text +0 -20
- data/test/MarkdownTest_1.0.3/Literal quotes in titles.text +0 -7
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Basics.text +0 -306
- data/test/MarkdownTest_1.0.3/Markdown Documentation - Syntax.text +0 -888
- data/test/MarkdownTest_1.0.3/Nested blockquotes.text +0 -5
- data/test/MarkdownTest_1.0.3/Ordered and unordered lists.text +0 -131
- data/test/MarkdownTest_1.0.3/Strong and em together.text +0 -7
- data/test/MarkdownTest_1.0.3/Tabs.text +0 -21
- data/test/MarkdownTest_1.0.3/Tidyness.text +0 -5
- data/test/README +0 -1
- data/test/binary.dat +0 -0
- data/test/hidden.zip.txt +0 -1
- data/test/test.ja.largedoc +0 -3
- data/test/test.ja.rdoc +0 -10
- data/test/test.ja.txt +0 -8
- data/test/test.txt +0 -1
- data/test/test_rdoc_alias.rb +0 -13
- data/test/test_rdoc_any_method.rb +0 -460
- data/test/test_rdoc_attr.rb +0 -190
- data/test/test_rdoc_class_module.rb +0 -1492
- data/test/test_rdoc_code_object.rb +0 -450
- data/test/test_rdoc_comment.rb +0 -504
- data/test/test_rdoc_constant.rb +0 -181
- data/test/test_rdoc_context.rb +0 -901
- data/test/test_rdoc_context_section.rb +0 -130
- data/test/test_rdoc_cross_reference.rb +0 -192
- data/test/test_rdoc_encoding.rb +0 -227
- data/test/test_rdoc_extend.rb +0 -94
- data/test/test_rdoc_generator_darkfish.rb +0 -229
- data/test/test_rdoc_generator_json_index.rb +0 -324
- data/test/test_rdoc_generator_markup.rb +0 -59
- data/test/test_rdoc_generator_pot.rb +0 -91
- data/test/test_rdoc_generator_pot_po.rb +0 -51
- data/test/test_rdoc_generator_pot_po_entry.rb +0 -139
- data/test/test_rdoc_generator_ri.rb +0 -78
- data/test/test_rdoc_i18n_locale.rb +0 -73
- data/test/test_rdoc_i18n_text.rb +0 -123
- data/test/test_rdoc_include.rb +0 -108
- data/test/test_rdoc_markdown.rb +0 -980
- data/test/test_rdoc_markdown_test.rb +0 -1884
- data/test/test_rdoc_markup.rb +0 -95
- data/test/test_rdoc_markup_attribute_manager.rb +0 -364
- data/test/test_rdoc_markup_attributes.rb +0 -39
- data/test/test_rdoc_markup_document.rb +0 -207
- data/test/test_rdoc_markup_formatter.rb +0 -175
- data/test/test_rdoc_markup_hard_break.rb +0 -31
- data/test/test_rdoc_markup_heading.rb +0 -29
- data/test/test_rdoc_markup_include.rb +0 -19
- data/test/test_rdoc_markup_indented_paragraph.rb +0 -53
- data/test/test_rdoc_markup_paragraph.rb +0 -32
- data/test/test_rdoc_markup_parser.rb +0 -1680
- data/test/test_rdoc_markup_pre_process.rb +0 -473
- data/test/test_rdoc_markup_raw.rb +0 -22
- data/test/test_rdoc_markup_to_ansi.rb +0 -369
- data/test/test_rdoc_markup_to_bs.rb +0 -366
- data/test/test_rdoc_markup_to_html.rb +0 -662
- data/test/test_rdoc_markup_to_html_crossref.rb +0 -225
- data/test/test_rdoc_markup_to_html_snippet.rb +0 -711
- data/test/test_rdoc_markup_to_joined_paragraph.rb +0 -32
- data/test/test_rdoc_markup_to_label.rb +0 -112
- data/test/test_rdoc_markup_to_markdown.rb +0 -389
- data/test/test_rdoc_markup_to_rdoc.rb +0 -377
- data/test/test_rdoc_markup_to_table_of_contents.rb +0 -126
- data/test/test_rdoc_markup_to_tt_only.rb +0 -246
- data/test/test_rdoc_markup_verbatim.rb +0 -29
- data/test/test_rdoc_method_attr.rb +0 -193
- data/test/test_rdoc_normal_class.rb +0 -47
- data/test/test_rdoc_normal_module.rb +0 -42
- data/test/test_rdoc_options.rb +0 -766
- data/test/test_rdoc_parser.rb +0 -327
- data/test/test_rdoc_parser_c.rb +0 -1896
- data/test/test_rdoc_parser_changelog.rb +0 -315
- data/test/test_rdoc_parser_markdown.rb +0 -61
- data/test/test_rdoc_parser_rd.rb +0 -55
- data/test/test_rdoc_parser_ruby.rb +0 -3322
- data/test/test_rdoc_parser_simple.rb +0 -115
- data/test/test_rdoc_rd.rb +0 -30
- data/test/test_rdoc_rd_block_parser.rb +0 -535
- data/test/test_rdoc_rd_inline.rb +0 -63
- data/test/test_rdoc_rd_inline_parser.rb +0 -177
- data/test/test_rdoc_rdoc.rb +0 -455
- data/test/test_rdoc_require.rb +0 -25
- data/test/test_rdoc_ri_driver.rb +0 -1436
- data/test/test_rdoc_ri_paths.rb +0 -155
- data/test/test_rdoc_ruby_lex.rb +0 -421
- data/test/test_rdoc_ruby_token.rb +0 -19
- data/test/test_rdoc_rubygems_hook.rb +0 -251
- data/test/test_rdoc_servlet.rb +0 -534
- data/test/test_rdoc_single_class.rb +0 -20
- data/test/test_rdoc_stats.rb +0 -722
- data/test/test_rdoc_store.rb +0 -993
- data/test/test_rdoc_task.rb +0 -173
- data/test/test_rdoc_text.rb +0 -557
- data/test/test_rdoc_token_stream.rb +0 -42
- data/test/test_rdoc_tom_doc.rb +0 -520
- data/test/test_rdoc_top_level.rb +0 -287
- data/test/xref_data.rb +0 -76
- data/test/xref_test_case.rb +0 -67
data/test/test_rdoc_extend.rb
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
require File.expand_path '../xref_test_case', __FILE__
|
2
|
-
|
3
|
-
class TestRDocExtend < XrefTestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@ext = RDoc::Extend.new 'M1', 'comment'
|
9
|
-
@ext.parent = @m1
|
10
|
-
@ext.store = @store
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_module
|
14
|
-
assert_equal @m1, @ext.module
|
15
|
-
assert_equal 'Unknown', RDoc::Extend.new('Unknown', 'comment').module
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_module_extended
|
19
|
-
m1 = @xref_data.add_module RDoc::NormalModule, 'Mod1'
|
20
|
-
m1.add_module RDoc::NormalModule, 'Mod3'
|
21
|
-
m1_m2 = m1.add_module RDoc::NormalModule, 'Mod2'
|
22
|
-
m1_m2_m3 = m1_m2.add_module RDoc::NormalModule, 'Mod3'
|
23
|
-
m1_m2_m3.add_module RDoc::NormalModule, 'Mod4'
|
24
|
-
m1_m2.add_module RDoc::NormalModule, 'Mod4'
|
25
|
-
m1_m2_k0 = m1_m2.add_class RDoc::NormalClass, 'Klass0'
|
26
|
-
m1_m2_k0_m4 = m1_m2_k0.add_module RDoc::NormalModule, 'Mod4'
|
27
|
-
m1_m2_k0_m4.add_module RDoc::NormalModule, 'Mod6'
|
28
|
-
m1_m2_k0.add_module RDoc::NormalModule, 'Mod5'
|
29
|
-
|
30
|
-
e0_m4 = RDoc::Extend.new 'Mod4', nil
|
31
|
-
e0_m5 = RDoc::Extend.new 'Mod5', nil
|
32
|
-
e0_m6 = RDoc::Extend.new 'Mod6', nil
|
33
|
-
e0_m1 = RDoc::Extend.new 'Mod1', nil
|
34
|
-
e0_m2 = RDoc::Extend.new 'Mod2', nil
|
35
|
-
e0_m3 = RDoc::Extend.new 'Mod3', nil
|
36
|
-
|
37
|
-
m1_m2_k0.add_extend e0_m4
|
38
|
-
m1_m2_k0.add_extend e0_m5
|
39
|
-
m1_m2_k0.add_extend e0_m6
|
40
|
-
m1_m2_k0.add_extend e0_m1
|
41
|
-
m1_m2_k0.add_extend e0_m2
|
42
|
-
m1_m2_k0.add_extend e0_m3
|
43
|
-
|
44
|
-
assert_equal [e0_m4, e0_m5, e0_m6, e0_m1, e0_m2, e0_m3], m1_m2_k0.extends
|
45
|
-
assert_equal ['Object'], m1_m2_k0.ancestors
|
46
|
-
|
47
|
-
m1_k1 = m1.add_class RDoc::NormalClass, 'Klass1'
|
48
|
-
|
49
|
-
e1_m1 = RDoc::Extend.new 'Mod1', nil
|
50
|
-
e1_m2 = RDoc::Extend.new 'Mod2', nil
|
51
|
-
e1_m3 = RDoc::Extend.new 'Mod3', nil
|
52
|
-
e1_m4 = RDoc::Extend.new 'Mod4', nil
|
53
|
-
e1_k0_m4 = RDoc::Extend.new 'Klass0::Mod4', nil
|
54
|
-
|
55
|
-
m1_k1.add_extend e1_m1
|
56
|
-
m1_k1.add_extend e1_m2
|
57
|
-
m1_k1.add_extend e1_m3
|
58
|
-
m1_k1.add_extend e1_m4
|
59
|
-
m1_k1.add_extend e1_k0_m4
|
60
|
-
|
61
|
-
assert_equal [e1_m1, e1_m2, e1_m3, e1_m4, e1_k0_m4], m1_k1.extends
|
62
|
-
assert_equal ['Object'], m1_k1.ancestors
|
63
|
-
|
64
|
-
m1_k2 = m1.add_class RDoc::NormalClass, 'Klass2'
|
65
|
-
|
66
|
-
e2_m1 = RDoc::Extend.new 'Mod1', nil
|
67
|
-
e2_m2 = RDoc::Extend.new 'Mod2', nil
|
68
|
-
e2_m3 = RDoc::Extend.new 'Mod3', nil
|
69
|
-
e2_k0_m4 = RDoc::Extend.new 'Klass0::Mod4', nil
|
70
|
-
|
71
|
-
m1_k2.add_extend e2_m1
|
72
|
-
m1_k2.add_extend e2_m3
|
73
|
-
m1_k2.add_extend e2_m2
|
74
|
-
m1_k2.add_extend e2_k0_m4
|
75
|
-
|
76
|
-
assert_equal [e2_m1, e2_m3, e2_m2, e2_k0_m4], m1_k2.extends
|
77
|
-
assert_equal ['Object'], m1_k2.ancestors
|
78
|
-
|
79
|
-
m1_k3 = m1.add_class RDoc::NormalClass, 'Klass3'
|
80
|
-
|
81
|
-
e3_m1 = RDoc::Extend.new 'Mod1', nil
|
82
|
-
e3_m2 = RDoc::Extend.new 'Mod2', nil
|
83
|
-
e3_m4 = RDoc::Extend.new 'Mod4', nil
|
84
|
-
|
85
|
-
m1_k3.add_extend e3_m1
|
86
|
-
m1_k3.add_extend e3_m2
|
87
|
-
m1_k3.add_extend e3_m4
|
88
|
-
|
89
|
-
assert_equal [e3_m1, e3_m2, e3_m4], m1_k3.extends
|
90
|
-
assert_equal ['Object'], m1_k3.ancestors
|
91
|
-
end
|
92
|
-
|
93
|
-
end
|
94
|
-
|
@@ -1,229 +0,0 @@
|
|
1
|
-
require 'rdoc/test_case'
|
2
|
-
|
3
|
-
class TestRDocGeneratorDarkfish < RDoc::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
super
|
7
|
-
|
8
|
-
@lib_dir = "#{@pwd}/lib"
|
9
|
-
$LOAD_PATH.unshift @lib_dir # ensure we load from this RDoc
|
10
|
-
|
11
|
-
@options = RDoc::Options.new
|
12
|
-
@options.option_parser = OptionParser.new
|
13
|
-
|
14
|
-
@tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_darkfish_#{$$}"
|
15
|
-
FileUtils.mkdir_p @tmpdir
|
16
|
-
Dir.chdir @tmpdir
|
17
|
-
@options.op_dir = @tmpdir
|
18
|
-
@options.generator = RDoc::Generator::Darkfish
|
19
|
-
|
20
|
-
$LOAD_PATH.each do |path|
|
21
|
-
darkfish_dir = File.join path, 'rdoc/generator/template/darkfish/'
|
22
|
-
next unless File.directory? darkfish_dir
|
23
|
-
@options.template_dir = darkfish_dir
|
24
|
-
break
|
25
|
-
end
|
26
|
-
|
27
|
-
@rdoc.options = @options
|
28
|
-
|
29
|
-
@g = @options.generator.new @store, @options
|
30
|
-
@rdoc.generator = @g
|
31
|
-
|
32
|
-
@top_level = @store.add_file 'file.rb'
|
33
|
-
@top_level.parser = RDoc::Parser::Ruby
|
34
|
-
@klass = @top_level.add_class RDoc::NormalClass, 'Klass'
|
35
|
-
|
36
|
-
@alias_constant = RDoc::Constant.new 'A', nil, ''
|
37
|
-
@alias_constant.record_location @top_level
|
38
|
-
|
39
|
-
@top_level.add_constant @alias_constant
|
40
|
-
|
41
|
-
@klass.add_module_alias @klass, 'A', @top_level
|
42
|
-
|
43
|
-
@meth = RDoc::AnyMethod.new nil, 'method'
|
44
|
-
@meth_bang = RDoc::AnyMethod.new nil, 'method!'
|
45
|
-
@attr = RDoc::Attr.new nil, 'attr', 'RW', ''
|
46
|
-
|
47
|
-
@klass.add_method @meth
|
48
|
-
@klass.add_method @meth_bang
|
49
|
-
@klass.add_attribute @attr
|
50
|
-
|
51
|
-
@ignored = @top_level.add_class RDoc::NormalClass, 'Ignored'
|
52
|
-
@ignored.ignore
|
53
|
-
|
54
|
-
@store.complete :private
|
55
|
-
|
56
|
-
@object = @store.find_class_or_module 'Object'
|
57
|
-
@klass_alias = @store.find_class_or_module 'Klass::A'
|
58
|
-
end
|
59
|
-
|
60
|
-
def teardown
|
61
|
-
super
|
62
|
-
|
63
|
-
$LOAD_PATH.shift
|
64
|
-
Dir.chdir @pwd
|
65
|
-
FileUtils.rm_rf @tmpdir
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_generate
|
69
|
-
top_level = @store.add_file 'file.rb'
|
70
|
-
top_level.add_class @klass.class, @klass.name
|
71
|
-
|
72
|
-
@g.generate
|
73
|
-
|
74
|
-
assert_file 'index.html'
|
75
|
-
assert_file 'Object.html'
|
76
|
-
assert_file 'table_of_contents.html'
|
77
|
-
assert_file 'js/search_index.js'
|
78
|
-
|
79
|
-
assert_hard_link 'css/rdoc.css'
|
80
|
-
assert_hard_link 'css/fonts.css'
|
81
|
-
|
82
|
-
assert_hard_link 'fonts/SourceCodePro-Bold.ttf'
|
83
|
-
assert_hard_link 'fonts/SourceCodePro-Regular.ttf'
|
84
|
-
|
85
|
-
encoding = if Object.const_defined? :Encoding then
|
86
|
-
Regexp.escape Encoding::UTF_8.name
|
87
|
-
else
|
88
|
-
Regexp.escape 'UTF-8'
|
89
|
-
end
|
90
|
-
|
91
|
-
assert_match %r%<meta charset="#{encoding}">%, File.read('index.html')
|
92
|
-
assert_match %r%<meta charset="#{encoding}">%, File.read('Object.html')
|
93
|
-
|
94
|
-
refute_match(/Ignored/, File.read('index.html'))
|
95
|
-
end
|
96
|
-
|
97
|
-
def test_generate_dry_run
|
98
|
-
@g.dry_run = true
|
99
|
-
top_level = @store.add_file 'file.rb'
|
100
|
-
top_level.add_class @klass.class, @klass.name
|
101
|
-
|
102
|
-
@g.generate
|
103
|
-
|
104
|
-
refute_file 'index.html'
|
105
|
-
refute_file 'Object.html'
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_generate_static
|
109
|
-
FileUtils.mkdir_p 'dir/images'
|
110
|
-
FileUtils.touch 'dir/images/image.png'
|
111
|
-
FileUtils.mkdir_p 'file'
|
112
|
-
FileUtils.touch 'file/file.txt'
|
113
|
-
|
114
|
-
@options.static_path = [
|
115
|
-
File.expand_path('dir'),
|
116
|
-
File.expand_path('file/file.txt'),
|
117
|
-
]
|
118
|
-
|
119
|
-
@g.generate
|
120
|
-
|
121
|
-
assert_file 'images/image.png'
|
122
|
-
assert_file 'file.txt'
|
123
|
-
end
|
124
|
-
|
125
|
-
def test_generate_static_dry_run
|
126
|
-
FileUtils.mkdir 'static'
|
127
|
-
FileUtils.touch 'static/image.png'
|
128
|
-
|
129
|
-
@options.static_path = [File.expand_path('static')]
|
130
|
-
@g.dry_run = true
|
131
|
-
|
132
|
-
@g.generate
|
133
|
-
|
134
|
-
refute_file 'image.png'
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_install_rdoc_static_file
|
138
|
-
src = Pathname(__FILE__)
|
139
|
-
dst = File.join @tmpdir, File.basename(src)
|
140
|
-
options = {}
|
141
|
-
|
142
|
-
@g.install_rdoc_static_file src, dst, options
|
143
|
-
|
144
|
-
assert_file dst
|
145
|
-
|
146
|
-
begin
|
147
|
-
assert_hard_link dst
|
148
|
-
rescue MiniTest::Assertion
|
149
|
-
return # hard links are not supported, no further tests needed
|
150
|
-
end
|
151
|
-
|
152
|
-
@g.install_rdoc_static_file src, dst, options
|
153
|
-
|
154
|
-
assert_hard_link dst
|
155
|
-
end
|
156
|
-
|
157
|
-
def test_install_rdoc_static_file_missing
|
158
|
-
src = Pathname(__FILE__) + 'nonexistent'
|
159
|
-
dst = File.join @tmpdir, File.basename(src)
|
160
|
-
options = {}
|
161
|
-
|
162
|
-
@g.install_rdoc_static_file src, dst, options
|
163
|
-
|
164
|
-
refute_file dst
|
165
|
-
end
|
166
|
-
|
167
|
-
def test_setup
|
168
|
-
@g.setup
|
169
|
-
|
170
|
-
assert_equal [@klass_alias, @ignored, @klass, @object],
|
171
|
-
@g.classes.sort_by { |klass| klass.full_name }
|
172
|
-
assert_equal [@top_level], @g.files
|
173
|
-
assert_equal [@meth, @meth, @meth_bang, @meth_bang], @g.methods
|
174
|
-
assert_equal [@klass_alias, @klass, @object], @g.modsort
|
175
|
-
end
|
176
|
-
|
177
|
-
def test_template_for
|
178
|
-
classpage = Pathname.new @options.template_dir + 'class.rhtml'
|
179
|
-
|
180
|
-
template = @g.send(:template_for, classpage, true, RDoc::ERBIO)
|
181
|
-
assert_kind_of RDoc::ERBIO, template
|
182
|
-
|
183
|
-
assert_same template, @g.send(:template_for, classpage)
|
184
|
-
end
|
185
|
-
|
186
|
-
def test_template_for_dry_run
|
187
|
-
classpage = Pathname.new @options.template_dir + 'class.rhtml'
|
188
|
-
|
189
|
-
template = @g.send(:template_for, classpage, true, ERB)
|
190
|
-
assert_kind_of ERB, template
|
191
|
-
|
192
|
-
assert_same template, @g.send(:template_for, classpage)
|
193
|
-
end
|
194
|
-
|
195
|
-
def test_template_for_partial
|
196
|
-
partial = Pathname.new @options.template_dir + '_sidebar_classes.rhtml'
|
197
|
-
|
198
|
-
template = @g.send(:template_for, partial, false, RDoc::ERBPartial)
|
199
|
-
|
200
|
-
assert_kind_of RDoc::ERBPartial, template
|
201
|
-
|
202
|
-
assert_same template, @g.send(:template_for, partial)
|
203
|
-
end
|
204
|
-
|
205
|
-
##
|
206
|
-
# Asserts that +filename+ has a link count greater than 1 if hard links to
|
207
|
-
# @tmpdir are supported.
|
208
|
-
|
209
|
-
def assert_hard_link filename
|
210
|
-
assert_file filename
|
211
|
-
|
212
|
-
src = @g.template_dir + '_head.rhtml'
|
213
|
-
dst = File.join @tmpdir, 'hardlinktest'
|
214
|
-
|
215
|
-
begin
|
216
|
-
FileUtils.ln src, dst
|
217
|
-
nlink = File.stat(dst).nlink if File.identical? src, dst
|
218
|
-
FileUtils.rm dst
|
219
|
-
return if nlink == 1
|
220
|
-
rescue SystemCallError
|
221
|
-
return
|
222
|
-
end
|
223
|
-
|
224
|
-
assert_operator File.stat(filename).nlink, :>, 1,
|
225
|
-
"#{filename} is not hard-linked"
|
226
|
-
end
|
227
|
-
|
228
|
-
end
|
229
|
-
|
@@ -1,324 +0,0 @@
|
|
1
|
-
# coding: US-ASCII
|
2
|
-
|
3
|
-
require 'rdoc/test_case'
|
4
|
-
|
5
|
-
class TestRDocGeneratorJsonIndex < RDoc::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
super
|
9
|
-
|
10
|
-
@tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_darkfish_#{$$}"
|
11
|
-
FileUtils.mkdir_p @tmpdir
|
12
|
-
|
13
|
-
@options = RDoc::Options.new
|
14
|
-
@options.files = []
|
15
|
-
# JsonIndex is used in conjunction with another generator
|
16
|
-
@options.setup_generator 'darkfish'
|
17
|
-
@options.template_dir = ''
|
18
|
-
@options.op_dir = @tmpdir
|
19
|
-
@options.option_parser = OptionParser.new
|
20
|
-
@options.finish
|
21
|
-
|
22
|
-
@darkfish = RDoc::Generator::Darkfish.new @store, @options
|
23
|
-
@g = RDoc::Generator::JsonIndex.new @darkfish, @options
|
24
|
-
|
25
|
-
@rdoc.options = @options
|
26
|
-
@rdoc.generator = @g
|
27
|
-
|
28
|
-
@top_level = @store.add_file 'file.rb'
|
29
|
-
@top_level.parser = RDoc::Parser::Ruby
|
30
|
-
|
31
|
-
@klass = @top_level.add_class RDoc::NormalClass, 'C'
|
32
|
-
|
33
|
-
@meth = @klass.add_method RDoc::AnyMethod.new(nil, 'meth')
|
34
|
-
@meth.record_location @top_level
|
35
|
-
|
36
|
-
@nest_klass = @klass.add_class RDoc::NormalClass, 'D'
|
37
|
-
@nest_klass.record_location @top_level
|
38
|
-
|
39
|
-
@nest_meth = @nest_klass.add_method RDoc::AnyMethod.new(nil, 'meth')
|
40
|
-
|
41
|
-
@ignored = @top_level.add_class RDoc::NormalClass, 'Ignored'
|
42
|
-
@ignored.ignore
|
43
|
-
|
44
|
-
@page = @store.add_file 'page.rdoc'
|
45
|
-
@page.parser = RDoc::Parser::Simple
|
46
|
-
|
47
|
-
@top_levels = [@top_level, @page].sort
|
48
|
-
@klasses = [@klass, @nest_klass, @ignored]
|
49
|
-
|
50
|
-
Dir.chdir @tmpdir
|
51
|
-
end
|
52
|
-
|
53
|
-
def teardown
|
54
|
-
super
|
55
|
-
|
56
|
-
Dir.chdir @pwd
|
57
|
-
FileUtils.rm_rf @tmpdir
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_build_index
|
61
|
-
index = @g.build_index
|
62
|
-
|
63
|
-
expected = {
|
64
|
-
:index => {
|
65
|
-
:searchIndex => %w[c d meth() meth() page],
|
66
|
-
:longSearchIndex => %w[c c::d c#meth() c::d#meth()],
|
67
|
-
:info => [
|
68
|
-
@klass.search_record[2..-1],
|
69
|
-
@nest_klass.search_record[2..-1],
|
70
|
-
@meth.search_record[2..-1],
|
71
|
-
@nest_meth.search_record[2..-1],
|
72
|
-
@page.search_record[2..-1],
|
73
|
-
],
|
74
|
-
},
|
75
|
-
}
|
76
|
-
|
77
|
-
expected[:index][:longSearchIndex] << ''
|
78
|
-
|
79
|
-
assert_equal expected, index
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_class_dir
|
83
|
-
assert_equal @darkfish.class_dir, @g.class_dir
|
84
|
-
end
|
85
|
-
|
86
|
-
def test_file_dir
|
87
|
-
assert_equal @darkfish.file_dir, @g.file_dir
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_generate
|
91
|
-
@g.generate
|
92
|
-
|
93
|
-
assert_file 'js/searcher.js'
|
94
|
-
assert_file 'js/navigation.js'
|
95
|
-
assert_file 'js/search_index.js'
|
96
|
-
|
97
|
-
json = File.read 'js/search_index.js'
|
98
|
-
|
99
|
-
json =~ /\Avar search_data = /
|
100
|
-
|
101
|
-
assignment = $&
|
102
|
-
index = $'
|
103
|
-
|
104
|
-
refute_empty assignment
|
105
|
-
|
106
|
-
index = JSON.parse index
|
107
|
-
|
108
|
-
info = [
|
109
|
-
@klass.search_record[2..-1],
|
110
|
-
@nest_klass.search_record[2..-1],
|
111
|
-
@meth.search_record[2..-1],
|
112
|
-
@nest_meth.search_record[2..-1],
|
113
|
-
@page.search_record[2..-1],
|
114
|
-
]
|
115
|
-
|
116
|
-
expected = {
|
117
|
-
'index' => {
|
118
|
-
'searchIndex' => [
|
119
|
-
'c',
|
120
|
-
'd',
|
121
|
-
'meth()',
|
122
|
-
'meth()',
|
123
|
-
'page',
|
124
|
-
],
|
125
|
-
'longSearchIndex' => [
|
126
|
-
'c',
|
127
|
-
'c::d',
|
128
|
-
'c#meth()',
|
129
|
-
'c::d#meth()',
|
130
|
-
'',
|
131
|
-
],
|
132
|
-
'info' => info,
|
133
|
-
},
|
134
|
-
}
|
135
|
-
|
136
|
-
assert_equal expected, index
|
137
|
-
end
|
138
|
-
|
139
|
-
def test_generate_gzipped
|
140
|
-
begin
|
141
|
-
require 'zlib'
|
142
|
-
rescue LoadError
|
143
|
-
skip "no zlib"
|
144
|
-
end
|
145
|
-
@g.generate
|
146
|
-
@g.generate_gzipped
|
147
|
-
|
148
|
-
assert_file 'js/searcher.js'
|
149
|
-
assert_file 'js/searcher.js.gz'
|
150
|
-
assert_file 'js/navigation.js'
|
151
|
-
assert_file 'js/navigation.js.gz'
|
152
|
-
assert_file 'js/search_index.js'
|
153
|
-
assert_file 'js/search_index.js.gz'
|
154
|
-
|
155
|
-
json = File.open('js/search_index.js.gz') {|gzip|
|
156
|
-
Zlib::GzipReader.new(gzip).read
|
157
|
-
}
|
158
|
-
|
159
|
-
json =~ /\Avar search_data = /
|
160
|
-
|
161
|
-
assignment = $&
|
162
|
-
index = $'
|
163
|
-
|
164
|
-
refute_empty assignment
|
165
|
-
|
166
|
-
index = JSON.parse index
|
167
|
-
|
168
|
-
info = [
|
169
|
-
@klass.search_record[2..-1],
|
170
|
-
@nest_klass.search_record[2..-1],
|
171
|
-
@meth.search_record[2..-1],
|
172
|
-
@nest_meth.search_record[2..-1],
|
173
|
-
@page.search_record[2..-1],
|
174
|
-
]
|
175
|
-
|
176
|
-
expected = {
|
177
|
-
'index' => {
|
178
|
-
'searchIndex' => [
|
179
|
-
'c',
|
180
|
-
'd',
|
181
|
-
'meth()',
|
182
|
-
'meth()',
|
183
|
-
'page',
|
184
|
-
],
|
185
|
-
'longSearchIndex' => [
|
186
|
-
'c',
|
187
|
-
'c::d',
|
188
|
-
'c#meth()',
|
189
|
-
'c::d#meth()',
|
190
|
-
'',
|
191
|
-
],
|
192
|
-
'info' => info,
|
193
|
-
},
|
194
|
-
}
|
195
|
-
|
196
|
-
assert_equal expected, index
|
197
|
-
end
|
198
|
-
|
199
|
-
def test_generate_utf_8
|
200
|
-
skip "Encoding not implemented" unless Object.const_defined? :Encoding
|
201
|
-
|
202
|
-
text = "5\xB0"
|
203
|
-
text.force_encoding Encoding::ISO_8859_1
|
204
|
-
@klass.add_comment comment(text), @top_level
|
205
|
-
|
206
|
-
@g.generate
|
207
|
-
|
208
|
-
json = File.read 'js/search_index.js'
|
209
|
-
json.force_encoding Encoding::UTF_8
|
210
|
-
|
211
|
-
json =~ /\Avar search_data = /
|
212
|
-
|
213
|
-
index = $'
|
214
|
-
|
215
|
-
index = JSON.parse index
|
216
|
-
|
217
|
-
klass_record = @klass.search_record[2..-1]
|
218
|
-
klass_record[-1] = "<p>5\xc2\xb0\n"
|
219
|
-
klass_record.last.force_encoding Encoding::UTF_8
|
220
|
-
|
221
|
-
info = [
|
222
|
-
klass_record,
|
223
|
-
@nest_klass.search_record[2..-1],
|
224
|
-
@meth.search_record[2..-1],
|
225
|
-
@nest_meth.search_record[2..-1],
|
226
|
-
@page.search_record[2..-1],
|
227
|
-
]
|
228
|
-
|
229
|
-
expected = {
|
230
|
-
'index' => {
|
231
|
-
'searchIndex' => [
|
232
|
-
'c',
|
233
|
-
'd',
|
234
|
-
'meth()',
|
235
|
-
'meth()',
|
236
|
-
'page',
|
237
|
-
],
|
238
|
-
'longSearchIndex' => [
|
239
|
-
'c',
|
240
|
-
'c::d',
|
241
|
-
'c#meth()',
|
242
|
-
'c::d#meth()',
|
243
|
-
'',
|
244
|
-
],
|
245
|
-
'info' => info,
|
246
|
-
},
|
247
|
-
}
|
248
|
-
|
249
|
-
assert_equal expected, index
|
250
|
-
end
|
251
|
-
|
252
|
-
def test_index_classes
|
253
|
-
@g.reset @top_levels, @klasses
|
254
|
-
|
255
|
-
@g.index_classes
|
256
|
-
|
257
|
-
expected = {
|
258
|
-
:searchIndex => %w[c d],
|
259
|
-
:longSearchIndex => %w[c c::d],
|
260
|
-
:info => [
|
261
|
-
@klass.search_record[2..-1],
|
262
|
-
@nest_klass.search_record[2..-1],
|
263
|
-
],
|
264
|
-
}
|
265
|
-
|
266
|
-
assert_equal expected, @g.index
|
267
|
-
end
|
268
|
-
|
269
|
-
def test_index_classes_nodoc
|
270
|
-
@klass.document_self = false
|
271
|
-
@nest_klass.document_self = false
|
272
|
-
@meth.document_self = false
|
273
|
-
@nest_meth.document_self = false
|
274
|
-
|
275
|
-
@g.reset @top_levels, @klasses
|
276
|
-
|
277
|
-
@g.index_classes
|
278
|
-
|
279
|
-
expected = {
|
280
|
-
:searchIndex => [],
|
281
|
-
:longSearchIndex => [],
|
282
|
-
:info => [],
|
283
|
-
}
|
284
|
-
|
285
|
-
assert_equal expected, @g.index
|
286
|
-
end
|
287
|
-
|
288
|
-
def test_index_methods
|
289
|
-
@g.reset @top_levels, @klasses
|
290
|
-
|
291
|
-
@g.index_methods
|
292
|
-
|
293
|
-
expected = {
|
294
|
-
:searchIndex => %w[meth() meth()],
|
295
|
-
:longSearchIndex => %w[c#meth() c::d#meth()],
|
296
|
-
:info => [
|
297
|
-
@meth.search_record[2..-1],
|
298
|
-
@nest_meth.search_record[2..-1],
|
299
|
-
],
|
300
|
-
}
|
301
|
-
|
302
|
-
assert_equal expected, @g.index
|
303
|
-
end
|
304
|
-
|
305
|
-
def test_index_pages
|
306
|
-
@g.reset @top_levels, @klasses
|
307
|
-
|
308
|
-
@g.index_pages
|
309
|
-
|
310
|
-
expected = {
|
311
|
-
:searchIndex => %w[page],
|
312
|
-
:longSearchIndex => [''],
|
313
|
-
:info => [@page.search_record[2..-1]],
|
314
|
-
}
|
315
|
-
|
316
|
-
assert_equal expected, @g.index
|
317
|
-
end
|
318
|
-
|
319
|
-
def test_search_string
|
320
|
-
assert_equal 'cd', @g.search_string('C d')
|
321
|
-
end
|
322
|
-
|
323
|
-
end
|
324
|
-
|