yard 0.9.23 → 0.9.27
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of yard might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.dockerignore +0 -0
- data/.gitattributes +4 -0
- data/.github/FUNDING.yml +3 -0
- data/.github/ISSUE_TEMPLATE.md +6 -6
- data/.github/PULL_REQUEST_TEMPLATE.md +5 -5
- data/.github/workflows/ci.yml +30 -0
- data/.github/workflows/gem.yml +19 -0
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +37 -24
- data/.yardopts +0 -0
- data/.yardopts_guide +0 -0
- data/.yardopts_i18n +0 -0
- data/CHANGELOG.md +50 -4
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +5 -3
- data/README.md +97 -102
- data/Rakefile +2 -3
- data/lib/yard/cli/diff.rb +4 -1
- data/lib/yard/cli/server.rb +22 -13
- data/lib/yard/cli/stats.rb +2 -0
- data/lib/yard/cli/yardoc.rb +2 -1
- data/lib/yard/code_objects/method_object.rb +1 -1
- data/lib/yard/code_objects/namespace_mapper.rb +30 -3
- data/lib/yard/code_objects/proxy.rb +2 -1
- data/lib/yard/globals.rb +1 -1
- data/lib/yard/handlers/c/base.rb +35 -0
- data/lib/yard/handlers/ruby/method_handler.rb +1 -1
- data/lib/yard/handlers/ruby/mixin_handler.rb +7 -2
- data/lib/yard/handlers/ruby/module_function_handler.rb +15 -3
- data/lib/yard/parser/ruby/ast_node.rb +2 -2
- data/lib/yard/parser/ruby/ruby_parser.rb +7 -5
- data/lib/yard/parser/ruby/token_resolver.rb +3 -1
- data/lib/yard/parser/source_parser.rb +1 -1
- data/lib/yard/registry_resolver.rb +10 -24
- data/lib/yard/registry_store.rb +1 -1
- data/lib/yard/serializers/yardoc_serializer.rb +1 -1
- data/lib/yard/server/commands/base.rb +2 -2
- data/lib/yard/server/commands/library_command.rb +1 -1
- data/lib/yard/tags/directives.rb +10 -1
- data/lib/yard/templates/helpers/html_helper.rb +15 -5
- data/lib/yard/templates/helpers/markup/rdoc_markup.rb +5 -4
- data/lib/yard/templates/helpers/markup_helper.rb +2 -1
- data/lib/yard/templates/section.rb +1 -3
- data/lib/yard/version.rb +1 -1
- data/lib/yard.rb +3 -0
- data/samus.json +15 -46
- data/tasks/prepare_tag.rake +45 -0
- data/tasks/update_error_map.rake +53 -0
- data/templates/default/fulldoc/html/css/style.css +1 -0
- data/yard.gemspec +3 -2
- metadata +23 -207
- data/.travis.yml +0 -52
- data/spec/cli/command_parser_spec.rb +0 -43
- data/spec/cli/command_spec.rb +0 -36
- data/spec/cli/config_spec.rb +0 -148
- data/spec/cli/diff_spec.rb +0 -254
- data/spec/cli/display_spec.rb +0 -30
- data/spec/cli/gems_spec.rb +0 -81
- data/spec/cli/graph_spec.rb +0 -18
- data/spec/cli/help_spec.rb +0 -22
- data/spec/cli/i18n_spec.rb +0 -107
- data/spec/cli/list_spec.rb +0 -8
- data/spec/cli/markup_types_spec.rb +0 -22
- data/spec/cli/server_spec.rb +0 -324
- data/spec/cli/stats_spec.rb +0 -96
- data/spec/cli/yard_on_yard_spec.rb +0 -38
- data/spec/cli/yardoc_spec.rb +0 -896
- data/spec/cli/yri_spec.rb +0 -101
- data/spec/code_objects/base_spec.rb +0 -485
- data/spec/code_objects/class_object_spec.rb +0 -226
- data/spec/code_objects/code_object_list_spec.rb +0 -36
- data/spec/code_objects/constants_spec.rb +0 -116
- data/spec/code_objects/extra_file_object_spec.rb +0 -161
- data/spec/code_objects/macro_object_spec.rb +0 -150
- data/spec/code_objects/method_object_spec.rb +0 -184
- data/spec/code_objects/module_object_spec.rb +0 -142
- data/spec/code_objects/namespace_object_spec.rb +0 -171
- data/spec/code_objects/proxy_spec.rb +0 -147
- data/spec/code_objects/spec_helper.rb +0 -3
- data/spec/config_spec.rb +0 -171
- data/spec/core_ext/array_spec.rb +0 -13
- data/spec/core_ext/file_spec.rb +0 -72
- data/spec/core_ext/hash_spec.rb +0 -14
- data/spec/core_ext/insertion_spec.rb +0 -37
- data/spec/core_ext/module_spec.rb +0 -9
- data/spec/core_ext/string_spec.rb +0 -42
- data/spec/core_ext/symbol_hash_spec.rb +0 -89
- data/spec/docstring_parser_spec.rb +0 -280
- data/spec/docstring_spec.rb +0 -373
- data/spec/handlers/alias_handler_spec.rb +0 -82
- data/spec/handlers/attribute_handler_spec.rb +0 -96
- data/spec/handlers/base_spec.rb +0 -216
- data/spec/handlers/c/alias_handler_spec.rb +0 -34
- data/spec/handlers/c/attribute_handler_spec.rb +0 -41
- data/spec/handlers/c/class_handler_spec.rb +0 -78
- data/spec/handlers/c/constant_handler_spec.rb +0 -71
- data/spec/handlers/c/init_handler_spec.rb +0 -48
- data/spec/handlers/c/method_handler_spec.rb +0 -327
- data/spec/handlers/c/mixin_handler_spec.rb +0 -44
- data/spec/handlers/c/module_handler_spec.rb +0 -71
- data/spec/handlers/c/override_comment_handler_spec.rb +0 -47
- data/spec/handlers/c/path_handler_spec.rb +0 -36
- data/spec/handlers/c/spec_helper.rb +0 -23
- data/spec/handlers/c/struct_handler_spec.rb +0 -16
- data/spec/handlers/class_condition_handler_spec.rb +0 -87
- data/spec/handlers/class_handler_spec.rb +0 -247
- data/spec/handlers/class_method_handler_shared_examples.rb +0 -133
- data/spec/handlers/class_variable_handler_spec.rb +0 -12
- data/spec/handlers/constant_handler_spec.rb +0 -112
- data/spec/handlers/decorator_handler_methods_spec.rb +0 -393
- data/spec/handlers/dsl_handler_spec.rb +0 -226
- data/spec/handlers/examples/alias_handler_001.rb.txt +0 -46
- data/spec/handlers/examples/attribute_handler_001.rb.txt +0 -32
- data/spec/handlers/examples/class_condition_handler_001.rb.txt +0 -69
- data/spec/handlers/examples/class_handler_001.rb.txt +0 -120
- data/spec/handlers/examples/class_variable_handler_001.rb.txt +0 -10
- data/spec/handlers/examples/constant_handler_001.rb.txt +0 -35
- data/spec/handlers/examples/dsl_handler_001.rb.txt +0 -156
- data/spec/handlers/examples/exception_handler_001.rb.txt +0 -59
- data/spec/handlers/examples/extend_handler_001.rb.txt +0 -19
- data/spec/handlers/examples/method_condition_handler_001.rb.txt +0 -10
- data/spec/handlers/examples/method_handler_001.rb.txt +0 -128
- data/spec/handlers/examples/mixin_handler_001.rb.txt +0 -40
- data/spec/handlers/examples/module_handler_001.rb.txt +0 -29
- data/spec/handlers/examples/private_constant_handler_001.rb.txt +0 -8
- data/spec/handlers/examples/process_handler_001.rb.txt +0 -11
- data/spec/handlers/examples/visibility_handler_001.rb.txt +0 -36
- data/spec/handlers/examples/yield_handler_001.rb.txt +0 -54
- data/spec/handlers/exception_handler_spec.rb +0 -49
- data/spec/handlers/extend_handler_spec.rb +0 -28
- data/spec/handlers/legacy_base_spec.rb +0 -128
- data/spec/handlers/method_condition_handler_spec.rb +0 -15
- data/spec/handlers/method_handler_spec.rb +0 -214
- data/spec/handlers/mixin_handler_spec.rb +0 -60
- data/spec/handlers/module_function_handler_spec.rb +0 -106
- data/spec/handlers/module_handler_spec.rb +0 -35
- data/spec/handlers/private_class_method_handler_spec.rb +0 -11
- data/spec/handlers/private_constant_handler_spec.rb +0 -25
- data/spec/handlers/processor_spec.rb +0 -35
- data/spec/handlers/public_class_method_handler_spec.rb +0 -11
- data/spec/handlers/ruby/base_spec.rb +0 -95
- data/spec/handlers/ruby/legacy/base_spec.rb +0 -84
- data/spec/handlers/spec_helper.rb +0 -33
- data/spec/handlers/visibility_handler_spec.rb +0 -44
- data/spec/handlers/yield_handler_spec.rb +0 -52
- data/spec/i18n/locale_spec.rb +0 -81
- data/spec/i18n/message_spec.rb +0 -52
- data/spec/i18n/messages_spec.rb +0 -67
- data/spec/i18n/pot_generator_spec.rb +0 -295
- data/spec/i18n/text_spec.rb +0 -184
- data/spec/logging_spec.rb +0 -44
- data/spec/options_spec.rb +0 -171
- data/spec/parser/base_spec.rb +0 -24
- data/spec/parser/c_parser_spec.rb +0 -236
- data/spec/parser/examples/array.c.txt +0 -6267
- data/spec/parser/examples/example1.rb.txt +0 -8
- data/spec/parser/examples/extrafile.c.txt +0 -8
- data/spec/parser/examples/file.c.txt +0 -28
- data/spec/parser/examples/multifile.c.txt +0 -22
- data/spec/parser/examples/namespace.cpp.txt +0 -68
- data/spec/parser/examples/override.c.txt +0 -424
- data/spec/parser/examples/parse_in_order_001.rb.txt +0 -2
- data/spec/parser/examples/parse_in_order_002.rb.txt +0 -2
- data/spec/parser/examples/tag_handler_001.rb.txt +0 -8
- data/spec/parser/ruby/ast_node_spec.rb +0 -33
- data/spec/parser/ruby/legacy/statement_list_spec.rb +0 -299
- data/spec/parser/ruby/legacy/token_list_spec.rb +0 -79
- data/spec/parser/ruby/ruby_parser_spec.rb +0 -508
- data/spec/parser/ruby/token_resolver_spec.rb +0 -165
- data/spec/parser/source_parser_spec.rb +0 -727
- data/spec/parser/tag_parsing_spec.rb +0 -17
- data/spec/rake/yardoc_task_spec.rb +0 -118
- data/spec/registry_spec.rb +0 -463
- data/spec/registry_store_spec.rb +0 -327
- data/spec/rubygems/doc_manager_spec.rb +0 -112
- data/spec/serializers/data/serialized_yardoc/checksums +0 -1
- data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/proxy_types +0 -2
- data/spec/serializers/file_system_serializer_spec.rb +0 -145
- data/spec/serializers/spec_helper.rb +0 -2
- data/spec/serializers/yardoc_serializer_spec.rb +0 -78
- data/spec/server/adapter_spec.rb +0 -39
- data/spec/server/commands/base_spec.rb +0 -91
- data/spec/server/commands/library_command_spec.rb +0 -39
- data/spec/server/doc_server_helper_spec.rb +0 -72
- data/spec/server/doc_server_serializer_spec.rb +0 -60
- data/spec/server/rack_adapter_spec.rb +0 -21
- data/spec/server/router_spec.rb +0 -123
- data/spec/server/spec_helper.rb +0 -22
- data/spec/server/static_caching_spec.rb +0 -47
- data/spec/server/webrick_servlet_spec.rb +0 -20
- data/spec/server_spec.rb +0 -19
- data/spec/spec_helper.rb +0 -212
- data/spec/tags/default_factory_spec.rb +0 -168
- data/spec/tags/default_tag_spec.rb +0 -11
- data/spec/tags/directives_spec.rb +0 -463
- data/spec/tags/library_spec.rb +0 -48
- data/spec/tags/overload_tag_spec.rb +0 -53
- data/spec/tags/ref_tag_list_spec.rb +0 -53
- data/spec/tags/types_explainer_spec.rb +0 -203
- data/spec/templates/class_spec.rb +0 -45
- data/spec/templates/constant_spec.rb +0 -41
- data/spec/templates/engine_spec.rb +0 -131
- data/spec/templates/examples/class001.html +0 -308
- data/spec/templates/examples/class001.txt +0 -36
- data/spec/templates/examples/class002.html +0 -39
- data/spec/templates/examples/constant001.txt +0 -25
- data/spec/templates/examples/constant002.txt +0 -7
- data/spec/templates/examples/constant003.txt +0 -11
- data/spec/templates/examples/method001.html +0 -137
- data/spec/templates/examples/method001.txt +0 -35
- data/spec/templates/examples/method002.html +0 -91
- data/spec/templates/examples/method002.txt +0 -20
- data/spec/templates/examples/method003.html +0 -165
- data/spec/templates/examples/method003.txt +0 -45
- data/spec/templates/examples/method004.html +0 -48
- data/spec/templates/examples/method004.txt +0 -10
- data/spec/templates/examples/method005.html +0 -105
- data/spec/templates/examples/method005.txt +0 -33
- data/spec/templates/examples/method006.html +0 -108
- data/spec/templates/examples/method006.txt +0 -20
- data/spec/templates/examples/module001.dot +0 -33
- data/spec/templates/examples/module001.html +0 -833
- data/spec/templates/examples/module001.txt +0 -33
- data/spec/templates/examples/module002.html +0 -341
- data/spec/templates/examples/module003.html +0 -202
- data/spec/templates/examples/module004.html +0 -394
- data/spec/templates/examples/module005.html +0 -82
- data/spec/templates/examples/tag001.txt +0 -82
- data/spec/templates/helpers/base_helper_spec.rb +0 -171
- data/spec/templates/helpers/html_helper_spec.rb +0 -687
- data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +0 -65
- data/spec/templates/helpers/markup/rdoc_markup_spec.rb +0 -84
- data/spec/templates/helpers/markup_helper_spec.rb +0 -136
- data/spec/templates/helpers/method_helper_spec.rb +0 -107
- data/spec/templates/helpers/module_helper_spec.rb +0 -35
- data/spec/templates/helpers/shared_signature_examples.rb +0 -126
- data/spec/templates/helpers/text_helper_spec.rb +0 -65
- data/spec/templates/markup_processor_integrations/asciidoctor_spec.rb +0 -60
- data/spec/templates/markup_processor_integrations/integration_spec_helper.rb +0 -46
- data/spec/templates/markup_processor_integrations/rdoc_markdown_spec.rb +0 -59
- data/spec/templates/markup_processor_integrations/rdoc_spec.rb +0 -39
- data/spec/templates/markup_processor_integrations/redcarpet_spec.rb +0 -59
- data/spec/templates/markup_processor_integrations/redcloth_spec.rb +0 -48
- data/spec/templates/method_spec.rb +0 -118
- data/spec/templates/module_spec.rb +0 -203
- data/spec/templates/onefile_spec.rb +0 -66
- data/spec/templates/section_spec.rb +0 -144
- data/spec/templates/spec_helper.rb +0 -76
- data/spec/templates/tag_spec.rb +0 -52
- data/spec/templates/template_spec.rb +0 -410
- data/spec/verifier_spec.rb +0 -106
@@ -1,46 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.shared_context 'shared helpers for markup processor integration specs' do
|
4
|
-
let(:rendered_document) { html_renderer.htmlify document }
|
5
|
-
|
6
|
-
let(:template_options) do
|
7
|
-
Templates::TemplateOptions.new.tap do |o|
|
8
|
-
o.reset_defaults
|
9
|
-
o.default_return = nil
|
10
|
-
o.markup = markup
|
11
|
-
o.markup_provider = markup_provider
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
let(:html_renderer) do
|
16
|
-
obj = OpenStruct.new
|
17
|
-
obj.options = template_options
|
18
|
-
obj.object = Registry.root
|
19
|
-
obj.extend(Templates::Helpers::HtmlHelper)
|
20
|
-
obj
|
21
|
-
end
|
22
|
-
|
23
|
-
before(:each) do
|
24
|
-
if html_renderer.markup_class(markup).nil?
|
25
|
-
skip "Missing markup renderer #{markup}"
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
# Works only with one-liners.
|
30
|
-
def highlighted_ruby_regexp(*identifiers)
|
31
|
-
prefix = Regexp.escape '<pre class="code ruby"><code class="ruby">'
|
32
|
-
any_span_tag = '<span\b'
|
33
|
-
escaped_identifiers = identifiers.map {|a| Regexp.escape(a) }
|
34
|
-
|
35
|
-
regexp_parts = [prefix, any_span_tag, escaped_identifiers]
|
36
|
-
regexp_str = regexp_parts.flatten.join(".*")
|
37
|
-
Regexp.compile(regexp_str)
|
38
|
-
end
|
39
|
-
|
40
|
-
def header_regexp(level, text)
|
41
|
-
prefix = "<h#{level}[^>]*?>"
|
42
|
-
escaped_text = Regexp.escape text
|
43
|
-
regexp_str = [prefix, escaped_text].join(".*")
|
44
|
-
Regexp.compile(regexp_str)
|
45
|
-
end
|
46
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe 'Markdown via RDoc integration' do
|
6
|
-
include_context 'shared helpers for markup processor integration specs'
|
7
|
-
let(:markup) { :markdown }
|
8
|
-
let(:markup_provider) { :rdoc }
|
9
|
-
|
10
|
-
let(:document) do
|
11
|
-
<<-MARKDOWN
|
12
|
-
## Example code listings
|
13
|
-
|
14
|
-
Indented block of Ruby code:
|
15
|
-
|
16
|
-
x = 1
|
17
|
-
|
18
|
-
Fenced block of Ruby code:
|
19
|
-
|
20
|
-
```
|
21
|
-
x = 2
|
22
|
-
```
|
23
|
-
|
24
|
-
Fenced and annotated block of Ruby code:
|
25
|
-
|
26
|
-
```ruby
|
27
|
-
x = 3
|
28
|
-
```
|
29
|
-
|
30
|
-
Fenced and annotated block of non-Ruby code:
|
31
|
-
|
32
|
-
```plain
|
33
|
-
x = 4
|
34
|
-
```
|
35
|
-
|
36
|
-
MARKDOWN
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'renders level 2 header' do
|
40
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'renders indented block of code, and applies Ruby syntax highlight' do
|
44
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'renders fenced block of code, and applies Ruby syntax highlight' do
|
48
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'renders fenced and annotated block of Ruby code, and applies syntax highlight' do
|
52
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '3'))
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'renders fenced and annotated block of non-Ruby code, and does not apply syntax highlight' do
|
56
|
-
pending 'This is actually highlighted, but it is not a big deal'
|
57
|
-
expect(rendered_document).to match('x = 4')
|
58
|
-
end
|
59
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe 'RDoc integration' do
|
6
|
-
include_context 'shared helpers for markup processor integration specs'
|
7
|
-
let(:markup) { :rdoc }
|
8
|
-
# Must be nil as this is how this provider is defined.
|
9
|
-
# See: https://github.com/lsegal/yard/commit/6634ae25878cd4fcb79.
|
10
|
-
let(:markup_provider) { nil }
|
11
|
-
|
12
|
-
let(:document) do
|
13
|
-
<<-RDOC
|
14
|
-
== Example code listings
|
15
|
-
|
16
|
-
Verbatim block of Ruby code:
|
17
|
-
|
18
|
-
x = 1
|
19
|
-
|
20
|
-
Verbatim non-Ruby block:
|
21
|
-
|
22
|
-
This has nothing to do with Ruby.
|
23
|
-
|
24
|
-
RDOC
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'renders level 2 header' do
|
28
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'renders indented block of code, and applies Ruby syntax highlight' do
|
32
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'renders indented block of text which is not a piece of Ruby code, ' \
|
36
|
-
'and does not apply syntax highlight' do
|
37
|
-
expect(rendered_document).to match('This has nothing to do with Ruby.')
|
38
|
-
end
|
39
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe 'Redcarpet integration' do
|
6
|
-
include_context 'shared helpers for markup processor integration specs'
|
7
|
-
let(:markup) { :markdown }
|
8
|
-
let(:markup_provider) { :redcarpet }
|
9
|
-
|
10
|
-
let(:document) do
|
11
|
-
<<-MARKDOWN
|
12
|
-
## Example code listings
|
13
|
-
|
14
|
-
Indented block of Ruby code:
|
15
|
-
|
16
|
-
x = 1
|
17
|
-
|
18
|
-
Fenced block of Ruby code:
|
19
|
-
|
20
|
-
```
|
21
|
-
x = 2
|
22
|
-
```
|
23
|
-
|
24
|
-
Fenced and annotated block of Ruby code:
|
25
|
-
|
26
|
-
```ruby
|
27
|
-
x = 3
|
28
|
-
```
|
29
|
-
|
30
|
-
Fenced and annotated block of non-Ruby code:
|
31
|
-
|
32
|
-
```plain
|
33
|
-
x = 4
|
34
|
-
```
|
35
|
-
|
36
|
-
MARKDOWN
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'renders level 2 header' do
|
40
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
41
|
-
end
|
42
|
-
|
43
|
-
it 'renders indented block of code, and applies Ruby syntax highlight' do
|
44
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'renders fenced block of code, and applies Ruby syntax highlight' do
|
48
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'renders fenced and annotated block of Ruby code, and applies syntax highlight' do
|
52
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '3'))
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'renders fenced and annotated block of non-Ruby code, and does not apply syntax highlight' do
|
56
|
-
pending 'This is actually highlighted, but it is not a big deal'
|
57
|
-
expect(rendered_document).to match('x = 4')
|
58
|
-
end
|
59
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe 'RedCloth integration' do
|
6
|
-
include_context 'shared helpers for markup processor integration specs'
|
7
|
-
let(:markup) { :textile }
|
8
|
-
let(:markup_provider) { :redcloth }
|
9
|
-
|
10
|
-
let(:document) do
|
11
|
-
<<-TEXTILE
|
12
|
-
h2. Example code listings
|
13
|
-
|
14
|
-
Example paragraph.
|
15
|
-
|
16
|
-
p. Example paragraph using 'p' tag.
|
17
|
-
|
18
|
-
p. Block of Ruby code using 'bc' tag:
|
19
|
-
|
20
|
-
bc. x = 1
|
21
|
-
|
22
|
-
p. Block of Ruby code using 'pre' tag:
|
23
|
-
|
24
|
-
pre. x = 2
|
25
|
-
TEXTILE
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'renders level 2 header' do
|
29
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'renders paragraphs' do
|
33
|
-
expect(rendered_document).
|
34
|
-
to include('<p>Example paragraph.</p>')
|
35
|
-
# Textile may replace typewriter apostrophes here used as quotes with
|
36
|
-
# something typographically better
|
37
|
-
expect(rendered_document).
|
38
|
-
to match(%r{<p>Example paragraph using .*p.* tag.</p>})
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'renders bc. block, and applies Ruby syntax highlight' do
|
42
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'renders pre. block, and applies Ruby syntax highlight' do
|
46
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
47
|
-
end
|
48
|
-
end
|
@@ -1,118 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
|
4
|
-
# $COPY = :method001
|
5
|
-
# $COPYT = :html
|
6
|
-
|
7
|
-
RSpec.describe YARD::Templates::Engine.template(:default, :method) do
|
8
|
-
before { Registry.clear }
|
9
|
-
|
10
|
-
shared_examples_for "all formats" do
|
11
|
-
it "renders html format correctly" do
|
12
|
-
html_equals(Registry.at('#m').format(html_options), @template)
|
13
|
-
end
|
14
|
-
|
15
|
-
it "renders text format correctly" do
|
16
|
-
text_equals(Registry.at('#m').format(text_options), @template)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "regular (deprecated) method" do
|
21
|
-
before do
|
22
|
-
@template = :method001
|
23
|
-
YARD.parse_string <<-'eof'
|
24
|
-
private
|
25
|
-
# Comments
|
26
|
-
# @param [Hash] x the x argument
|
27
|
-
# @option x [String] :key1 (default) first key
|
28
|
-
# @option x [Symbol] :key2 second key
|
29
|
-
# @return [String] the result
|
30
|
-
# @raise [Exception] hi!
|
31
|
-
# @deprecated for great justice
|
32
|
-
def m(x) end
|
33
|
-
alias x m
|
34
|
-
eof
|
35
|
-
end
|
36
|
-
|
37
|
-
it_should_behave_like "all formats"
|
38
|
-
end
|
39
|
-
|
40
|
-
describe "method with 1 overload" do
|
41
|
-
before do
|
42
|
-
@template = :method002
|
43
|
-
YARD.parse_string <<-'eof'
|
44
|
-
private
|
45
|
-
# Comments
|
46
|
-
# @overload m(x, y)
|
47
|
-
# @param [String] x parameter x
|
48
|
-
# @param [Boolean] y parameter y
|
49
|
-
def m(x) end
|
50
|
-
eof
|
51
|
-
end
|
52
|
-
|
53
|
-
it_should_behave_like "all formats"
|
54
|
-
end
|
55
|
-
|
56
|
-
describe "method with 2 overloads" do
|
57
|
-
before do
|
58
|
-
@template = :method003
|
59
|
-
YARD.parse_string <<-'eof'
|
60
|
-
private
|
61
|
-
# Method comments
|
62
|
-
# @overload m(x, y)
|
63
|
-
# Overload docstring
|
64
|
-
# @param [String] x parameter x
|
65
|
-
# @param [Boolean] y parameter y
|
66
|
-
# @overload m(x, y, z)
|
67
|
-
# @param [String] x parameter x
|
68
|
-
# @param [Boolean] y parameter y
|
69
|
-
# @param [Boolean] z parameter z
|
70
|
-
def m(*args) end
|
71
|
-
eof
|
72
|
-
end
|
73
|
-
|
74
|
-
it_should_behave_like "all formats"
|
75
|
-
end
|
76
|
-
|
77
|
-
describe "method void return" do
|
78
|
-
before do
|
79
|
-
@template = :method004
|
80
|
-
YARD.parse_string <<-'eof'
|
81
|
-
# @return [void]
|
82
|
-
def m(*args) end
|
83
|
-
eof
|
84
|
-
end
|
85
|
-
|
86
|
-
it_should_behave_like "all formats"
|
87
|
-
end
|
88
|
-
|
89
|
-
describe "method void return in an overload" do
|
90
|
-
before do
|
91
|
-
@template = :method005
|
92
|
-
YARD.parse_string <<-'eof'
|
93
|
-
# @overload m(a)
|
94
|
-
# @return [void]
|
95
|
-
# @overload m(b)
|
96
|
-
# @param [String] b hi
|
97
|
-
def m(*args) end
|
98
|
-
eof
|
99
|
-
end
|
100
|
-
|
101
|
-
it_should_behave_like "all formats"
|
102
|
-
end
|
103
|
-
|
104
|
-
describe "method with keyword arguments" do
|
105
|
-
before do
|
106
|
-
@template = :method006
|
107
|
-
YARD.parse_string <<-'eof'
|
108
|
-
# @param [String] x the x argument
|
109
|
-
# @param [Boolean] y the y argument
|
110
|
-
# @param [kword1] keyword 1
|
111
|
-
# @param [kword2] keyword 2
|
112
|
-
def m(x, y, *args, kword1: 123, kword2:, **) end
|
113
|
-
eof
|
114
|
-
end
|
115
|
-
|
116
|
-
it_should_behave_like "all formats"
|
117
|
-
end if RUBY_VERSION >= "2.1"
|
118
|
-
end
|
@@ -1,203 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
|
4
|
-
RSpec.describe YARD::Templates::Engine.template(:default, :module) do
|
5
|
-
before do
|
6
|
-
Registry.clear
|
7
|
-
YARD.parse_string <<-'eof'
|
8
|
-
module B
|
9
|
-
def c; end
|
10
|
-
def d; end
|
11
|
-
private
|
12
|
-
def e; end
|
13
|
-
end
|
14
|
-
|
15
|
-
module BaseMod
|
16
|
-
attr_reader :base_attr1
|
17
|
-
attr_writer :base_attr2
|
18
|
-
attr_accessor :base_attr3
|
19
|
-
end
|
20
|
-
|
21
|
-
# Comments
|
22
|
-
module A
|
23
|
-
include BaseMod
|
24
|
-
attr_accessor :attr1
|
25
|
-
attr_reader :attr2
|
26
|
-
|
27
|
-
# @overload attr3
|
28
|
-
# @return [String] a string
|
29
|
-
# @overload attr3=(value)
|
30
|
-
# @param [String] value sets the string
|
31
|
-
# @return [void]
|
32
|
-
attr_accessor :attr3
|
33
|
-
|
34
|
-
attr_writer :attr4
|
35
|
-
|
36
|
-
def self.a; end
|
37
|
-
def a; end
|
38
|
-
alias b a
|
39
|
-
|
40
|
-
# @overload test_overload(a)
|
41
|
-
# hello2
|
42
|
-
# @param [String] a hi
|
43
|
-
def test_overload(*args) end
|
44
|
-
|
45
|
-
# @overload test_multi_overload(a)
|
46
|
-
# @overload test_multi_overload(a, b)
|
47
|
-
def test_multi_overload(*args) end
|
48
|
-
|
49
|
-
# @return [void]
|
50
|
-
def void_meth; end
|
51
|
-
|
52
|
-
include B
|
53
|
-
|
54
|
-
class Y; end
|
55
|
-
class Q; end
|
56
|
-
class X; end
|
57
|
-
module Z; end
|
58
|
-
# A long docstring for the constant. With extra text
|
59
|
-
# and newlines.
|
60
|
-
CONSTANT = 'value'
|
61
|
-
@@cvar = 'value' # @deprecated
|
62
|
-
end
|
63
|
-
|
64
|
-
module TMP; include A end
|
65
|
-
class TMP2; extend A end
|
66
|
-
eof
|
67
|
-
end
|
68
|
-
|
69
|
-
it "renders html format correctly" do
|
70
|
-
html_equals(Registry.at('A').format(html_options(:hide_void_return => true,
|
71
|
-
:verifier => Verifier.new('object.type != :method || object.visibility == :public'))),
|
72
|
-
:module001)
|
73
|
-
end
|
74
|
-
|
75
|
-
it "renders text format correctly" do
|
76
|
-
YARD.parse_string <<-'eof'
|
77
|
-
module A
|
78
|
-
include D, E, F, A::B::C
|
79
|
-
end
|
80
|
-
eof
|
81
|
-
|
82
|
-
text_equals(Registry.at('A').format(text_options), :module001)
|
83
|
-
end
|
84
|
-
|
85
|
-
it "renders dot format correctly" do
|
86
|
-
expect(Registry.at('A').format(:format => :dot, :dependencies => true, :full => true)).to eq example_contents(:module001, 'dot')
|
87
|
-
end
|
88
|
-
|
89
|
-
it "renders groups correctly in html" do
|
90
|
-
Registry.clear
|
91
|
-
YARD.parse_string <<-'eof'
|
92
|
-
module A
|
93
|
-
# @group Foo
|
94
|
-
attr_accessor :foo_attr
|
95
|
-
def foo; end
|
96
|
-
def self.bar; end
|
97
|
-
|
98
|
-
# @group Bar
|
99
|
-
def baz; end
|
100
|
-
|
101
|
-
# @endgroup
|
102
|
-
|
103
|
-
def self.baz; end
|
104
|
-
end
|
105
|
-
eof
|
106
|
-
|
107
|
-
html_equals(Registry.at('A').format(html_options), :module002)
|
108
|
-
end
|
109
|
-
|
110
|
-
it "ignores overwritten/private attributes/constants from inherited list" do
|
111
|
-
Registry.clear
|
112
|
-
YARD.parse_string <<-'eof'
|
113
|
-
module B
|
114
|
-
attr_reader :foo
|
115
|
-
attr_accessor :bar
|
116
|
-
# @private
|
117
|
-
attr_writer :baz
|
118
|
-
FOO = 1
|
119
|
-
end
|
120
|
-
module A
|
121
|
-
include B
|
122
|
-
def foo; end
|
123
|
-
attr_reader :bar
|
124
|
-
FOO = 2
|
125
|
-
end
|
126
|
-
eof
|
127
|
-
|
128
|
-
html_equals(Registry.at('A').
|
129
|
-
format(html_options(:verifier => Verifier.new('!@private'))), :module003)
|
130
|
-
end
|
131
|
-
|
132
|
-
it "embeds mixins with :embed_mixins = ['Foo', 'Bar', 'Baz::A*']" do
|
133
|
-
Registry.clear
|
134
|
-
YARD.parse_string <<-'eof'
|
135
|
-
class A
|
136
|
-
# This method is in A
|
137
|
-
def foo; end
|
138
|
-
|
139
|
-
include Foo
|
140
|
-
extend Bar
|
141
|
-
include BarFooBar
|
142
|
-
include Baz::XYZ
|
143
|
-
include Baz::ABC
|
144
|
-
end
|
145
|
-
|
146
|
-
module BarFooBar
|
147
|
-
def bar_foo_bar; end
|
148
|
-
end
|
149
|
-
|
150
|
-
module Foo
|
151
|
-
def self.not_included; end
|
152
|
-
|
153
|
-
# Docs for xyz
|
154
|
-
def xyz; end
|
155
|
-
# Docs for bar_attr
|
156
|
-
attr_accessor :bar_attr
|
157
|
-
end
|
158
|
-
|
159
|
-
module Bar
|
160
|
-
def self.not_included; end
|
161
|
-
|
162
|
-
# @group Booya
|
163
|
-
|
164
|
-
# Docs for baz in Booya group
|
165
|
-
def baz; end
|
166
|
-
end
|
167
|
-
|
168
|
-
module Baz
|
169
|
-
module XYZ
|
170
|
-
# listed as inherited
|
171
|
-
def baz_xyz; end
|
172
|
-
end
|
173
|
-
|
174
|
-
module ABC
|
175
|
-
def baz_abc; end
|
176
|
-
end
|
177
|
-
end
|
178
|
-
eof
|
179
|
-
|
180
|
-
html_equals(Registry.at('A').format(html_options(:embed_mixins => ['Foo', 'Bar', 'Baz::A*'])), :module004)
|
181
|
-
end
|
182
|
-
|
183
|
-
it "renders constant groups correctly in html" do
|
184
|
-
Registry.clear
|
185
|
-
YARD.parse_string <<-'eof'
|
186
|
-
module A
|
187
|
-
# @group Foo
|
188
|
-
FOO = 1
|
189
|
-
|
190
|
-
# @deprecated
|
191
|
-
BAR = 2
|
192
|
-
|
193
|
-
# @group Bar
|
194
|
-
BAZ = 3
|
195
|
-
|
196
|
-
# @endgroup
|
197
|
-
|
198
|
-
WORLD = 4
|
199
|
-
end
|
200
|
-
eof
|
201
|
-
html_equals(Registry.at('A').format(html_options), :module005)
|
202
|
-
end
|
203
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
3
|
-
|
4
|
-
class StringSerializer < YARD::Serializers::Base
|
5
|
-
attr_accessor :files, :string
|
6
|
-
def initialize(files, string)
|
7
|
-
@files = files
|
8
|
-
@string = string
|
9
|
-
end
|
10
|
-
|
11
|
-
def serialize(object, data)
|
12
|
-
files << object
|
13
|
-
string << data
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
RSpec.describe YARD::Templates::Engine.template(:default, :onefile) do
|
18
|
-
before do
|
19
|
-
Registry.clear
|
20
|
-
if defined?(::Encoding)
|
21
|
-
@eenc = Encoding.default_external
|
22
|
-
Encoding.default_external = 'ascii-8bit'
|
23
|
-
@ienc = Encoding.default_internal
|
24
|
-
Encoding.default_internal = 'ascii-8bit'
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
after do
|
29
|
-
if defined?(::Encoding)
|
30
|
-
Encoding.default_internal = @ienc
|
31
|
-
Encoding.default_external = @eenc
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def render
|
36
|
-
@files = []
|
37
|
-
@output = String.new("")
|
38
|
-
YARD.parse_string <<-eof
|
39
|
-
class A
|
40
|
-
# Foo method
|
41
|
-
# @return [String]
|
42
|
-
def foo; end
|
43
|
-
|
44
|
-
# Bar method
|
45
|
-
# @return [Numeric]
|
46
|
-
def bar; end
|
47
|
-
end
|
48
|
-
eof
|
49
|
-
readme = CodeObjects::ExtraFileObject.new('README',
|
50
|
-
"# This is a code comment\n\n# Top of file\n\n\nclass C; end")
|
51
|
-
Templates::Engine.generate Registry.all(:class),
|
52
|
-
:serializer => StringSerializer.new(@files, @output),
|
53
|
-
:onefile => true, :format => :html, :readme => readme, :files => [readme,
|
54
|
-
CodeObjects::ExtraFileObject.new('LICENSE', 'This is a license!')]
|
55
|
-
end
|
56
|
-
|
57
|
-
it "renders html" do
|
58
|
-
render
|
59
|
-
expect(@files).to eq ['index.html']
|
60
|
-
expect(@output).to include("This is a code comment")
|
61
|
-
expect(@output).to include("This is a license!")
|
62
|
-
expect(@output).to include("Class: A")
|
63
|
-
expect(@output).to include("Foo method")
|
64
|
-
expect(@output).to include("Bar method")
|
65
|
-
end
|
66
|
-
end
|