yard 0.9.24 → 0.9.25
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/.rubocop.yml +37 -24
- data/CHANGELOG.md +18 -3
- data/README.md +96 -101
- data/Rakefile +2 -0
- data/lib/yard/cli/diff.rb +4 -1
- data/lib/yard/cli/server.rb +22 -13
- data/lib/yard/code_objects/proxy.rb +2 -1
- data/lib/yard/globals.rb +1 -1
- data/lib/yard/handlers/c/base.rb +164 -129
- data/lib/yard/parser/ruby/ruby_parser.rb +6 -4
- data/lib/yard/registry_store.rb +1 -1
- data/lib/yard/templates/helpers/html_helper.rb +10 -3
- data/lib/yard/templates/helpers/markup/rdoc_markup.rb +5 -4
- data/lib/yard/version.rb +1 -1
- data/tasks/update_error_map.rake +53 -0
- data/yard.gemspec +1 -1
- metadata +3 -207
- 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_mapper_spec.rb +0 -32
- 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 -520
- 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_resolver_spec.rb +0 -15
- 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.dat +0 -0
- 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/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 -90
- 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 -666
- 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 -50
- data/spec/templates/markup_processor_integrations/rdoc_markdown_spec.rb +0 -48
- data/spec/templates/markup_processor_integrations/rdoc_spec.rb +0 -39
- data/spec/templates/markup_processor_integrations/redcarpet_spec.rb +0 -64
- data/spec/templates/markup_processor_integrations/redcloth_spec.rb +0 -64
- 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,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.dirname(__FILE__) + "/shared_signature_examples"
|
3
|
-
|
4
|
-
RSpec.describe YARD::Templates::Helpers::TextHelper do
|
5
|
-
include YARD::Templates::Helpers::BaseHelper
|
6
|
-
include YARD::Templates::Helpers::TextHelper
|
7
|
-
include YARD::Templates::Helpers::MethodHelper
|
8
|
-
|
9
|
-
describe "#signature" do
|
10
|
-
before do
|
11
|
-
@results = {
|
12
|
-
:regular => "root.foo -> Object",
|
13
|
-
:default_return => "root.foo -> Hello",
|
14
|
-
:no_default_return => "root.foo",
|
15
|
-
:private_class => "A.foo -> Object (private)",
|
16
|
-
:single => "root.foo -> String",
|
17
|
-
:two_types => "root.foo -> (String, Symbol)",
|
18
|
-
:two_types_multitag => "root.foo -> (String, Symbol)",
|
19
|
-
:type_nil => "root.foo -> Type?",
|
20
|
-
:type_array => "root.foo -> Type+",
|
21
|
-
:multitype => "root.foo -> (Type, ...)",
|
22
|
-
:void => "root.foo -> void",
|
23
|
-
:hide_void => "root.foo",
|
24
|
-
:block => "root.foo {|a, b, c| ... } -> Object",
|
25
|
-
:empty_overload => 'root.foobar -> String'
|
26
|
-
}
|
27
|
-
end
|
28
|
-
|
29
|
-
def signature(obj) super(obj).strip end
|
30
|
-
|
31
|
-
it_should_behave_like "signature"
|
32
|
-
end
|
33
|
-
|
34
|
-
describe "#align_right" do
|
35
|
-
it "aligns text right" do
|
36
|
-
text = "Method: #some_method (SomeClass)"
|
37
|
-
expect(align_right(text)).to eq ' ' * 40 + text
|
38
|
-
end
|
39
|
-
|
40
|
-
it "truncates text that is longer than allowed width" do
|
41
|
-
text = "(Defined in: /home/user/.rip/.packages/some_gem-2460672e333ac07b9190ade88ec9a91c/long/path.rb)"
|
42
|
-
expect(align_right(text)).to eq ' ' + text[0, 68] + '...'
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "#h" do
|
47
|
-
let(:object) do
|
48
|
-
YARD::CodeObjects::MethodObject.new(:root, :foo, :instance).tap do |o|
|
49
|
-
o.docstring = "test"
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
it "resolves links" do
|
54
|
-
expect(h("{include:#foo} 1 2 3").strip).to eq "test 1 2 3"
|
55
|
-
end
|
56
|
-
|
57
|
-
it "uses title when present" do
|
58
|
-
expect(h("{A b}").strip).to eq "b"
|
59
|
-
end
|
60
|
-
|
61
|
-
it "uses object name when no title is present" do
|
62
|
-
expect(h("{A}").strip).to eq "A"
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
RSpec.describe 'Asciidoctor integration' do
|
6
|
-
include_context 'shared helpers for markup processor integration specs'
|
7
|
-
let(:markup) { :asciidoc }
|
8
|
-
let(:markup_provider) { :asciidoctor }
|
9
|
-
|
10
|
-
let(:document) do
|
11
|
-
<<-ASCIIDOC
|
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
|
-
[source,ruby]
|
27
|
-
-----
|
28
|
-
x = 3
|
29
|
-
-----
|
30
|
-
|
31
|
-
Fenced and annotated block of non-Ruby code:
|
32
|
-
|
33
|
-
[source,bash]
|
34
|
-
-----
|
35
|
-
x = 4
|
36
|
-
-----
|
37
|
-
|
38
|
-
ASCIIDOC
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'renders level 2 header' do
|
42
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'renders indented block of code, and applies Ruby syntax highlight' do
|
46
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'renders fenced block of code, and applies Ruby syntax highlight' do
|
50
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'renders fenced and annotated block of Ruby code, and applies syntax highlight' do
|
54
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '3'))
|
55
|
-
end
|
56
|
-
|
57
|
-
it 'renders fenced and annotated block of non-Ruby code, and does not apply syntax highlight' do
|
58
|
-
expect(rendered_document).to match('x = 4')
|
59
|
-
end
|
60
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.shared_context 'shared helpers for markup processor integration specs' do
|
4
|
-
after do
|
5
|
-
YARD::Templates::Helpers::MarkupHelper.clear_markup_cache
|
6
|
-
end
|
7
|
-
|
8
|
-
let(:rendered_document) { html_renderer.htmlify document }
|
9
|
-
|
10
|
-
let(:template_options) do
|
11
|
-
Templates::TemplateOptions.new.tap do |o|
|
12
|
-
o.reset_defaults
|
13
|
-
o.default_return = nil
|
14
|
-
o.markup = markup
|
15
|
-
o.markup_provider = markup_provider
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
let(:html_renderer) do
|
20
|
-
obj = OpenStruct.new
|
21
|
-
obj.options = template_options
|
22
|
-
obj.object = Registry.root
|
23
|
-
obj.extend(Templates::Helpers::HtmlHelper)
|
24
|
-
obj
|
25
|
-
end
|
26
|
-
|
27
|
-
before(:each) do
|
28
|
-
if html_renderer.markup_class(markup).nil?
|
29
|
-
skip "Missing markup renderer #{markup}"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# Works only with one-liners.
|
34
|
-
def highlighted_ruby_regexp(*identifiers)
|
35
|
-
prefix = Regexp.escape '<pre class="code ruby"><code class="ruby">'
|
36
|
-
any_span_tag = '<span\b'
|
37
|
-
escaped_identifiers = identifiers.map {|a| Regexp.escape(a) }
|
38
|
-
|
39
|
-
regexp_parts = [prefix, any_span_tag, escaped_identifiers]
|
40
|
-
regexp_str = regexp_parts.flatten.join(".*")
|
41
|
-
Regexp.compile(regexp_str)
|
42
|
-
end
|
43
|
-
|
44
|
-
def header_regexp(level, text)
|
45
|
-
prefix = "<h#{level}[^>]*?>"
|
46
|
-
escaped_text = Regexp.escape text
|
47
|
-
regexp_str = [prefix, escaped_text].join(".*")
|
48
|
-
Regexp.compile(regexp_str)
|
49
|
-
end
|
50
|
-
end
|
@@ -1,48 +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
|
-
MARKDOWN
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'renders level 2 header' do
|
34
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'renders indented block of code, and applies Ruby syntax highlight' do
|
38
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'renders fenced block of code, and applies Ruby syntax highlight' do
|
42
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'renders fenced and annotated block of Ruby code, and applies syntax highlight' do
|
46
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '3'))
|
47
|
-
end
|
48
|
-
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,64 +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
|
-
expect(rendered_document).to match('x = 4')
|
57
|
-
end
|
58
|
-
|
59
|
-
it "autolinks URLs" do
|
60
|
-
expect(html_renderer.htmlify('http://example.com', :markdown).chomp.gsub('/', '/')).to eq(
|
61
|
-
'<p><a href="http://example.com">http://example.com</a></p>'
|
62
|
-
)
|
63
|
-
end
|
64
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.dirname(__FILE__) + '/integration_spec_helper'
|
4
|
-
|
5
|
-
# Hack to fix RedCloth compat issues with MinGW compilation hosts
|
6
|
-
begin
|
7
|
-
require 'redcloth'
|
8
|
-
rescue LoadError
|
9
|
-
require 'rbconfig'
|
10
|
-
RbConfig::CONFIG['arch'] = 'not_windows_dont_worry'
|
11
|
-
end
|
12
|
-
|
13
|
-
RSpec.describe 'RedCloth integration' do
|
14
|
-
include_context 'shared helpers for markup processor integration specs'
|
15
|
-
let(:markup) { :textile }
|
16
|
-
let(:markup_provider) { :redcloth }
|
17
|
-
|
18
|
-
let(:document) do
|
19
|
-
<<-TEXTILE
|
20
|
-
h2. Example code listings
|
21
|
-
|
22
|
-
Example paragraph.
|
23
|
-
|
24
|
-
p. Example paragraph using 'p' tag.
|
25
|
-
|
26
|
-
p. Block of Ruby code using 'bc' tag:
|
27
|
-
|
28
|
-
bc. x = 1
|
29
|
-
|
30
|
-
p. Block of Ruby code using 'pre' tag:
|
31
|
-
|
32
|
-
pre. x = 2
|
33
|
-
TEXTILE
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'renders level 2 header' do
|
37
|
-
expect(rendered_document).to match(header_regexp(2, 'Example code listings'))
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'renders paragraphs' do
|
41
|
-
expect(rendered_document).
|
42
|
-
to include('<p>Example paragraph.</p>')
|
43
|
-
# Textile may replace typewriter apostrophes here used as quotes with
|
44
|
-
# something typographically better
|
45
|
-
expect(rendered_document).
|
46
|
-
to match(%r{<p>Example paragraph using .*p.* tag.</p>})
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'renders bc. block, and applies Ruby syntax highlight' do
|
50
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '1'))
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'renders pre. block, and applies Ruby syntax highlight' do
|
54
|
-
expect(rendered_document).to match(highlighted_ruby_regexp('x', '=', '2'))
|
55
|
-
end
|
56
|
-
|
57
|
-
it "does not use hard breaks for newlines" do
|
58
|
-
expect(html_renderer.htmlify("A\nB", :textile)).not_to include("<br")
|
59
|
-
end
|
60
|
-
|
61
|
-
it "uses hard breaks for newlines with textile_strict" do
|
62
|
-
expect(html_renderer.htmlify("A\nB", :textile_strict)).to include("<br")
|
63
|
-
end
|
64
|
-
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
|