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.

Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +37 -24
  3. data/CHANGELOG.md +18 -3
  4. data/README.md +96 -101
  5. data/Rakefile +2 -0
  6. data/lib/yard/cli/diff.rb +4 -1
  7. data/lib/yard/cli/server.rb +22 -13
  8. data/lib/yard/code_objects/proxy.rb +2 -1
  9. data/lib/yard/globals.rb +1 -1
  10. data/lib/yard/handlers/c/base.rb +164 -129
  11. data/lib/yard/parser/ruby/ruby_parser.rb +6 -4
  12. data/lib/yard/registry_store.rb +1 -1
  13. data/lib/yard/templates/helpers/html_helper.rb +10 -3
  14. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +5 -4
  15. data/lib/yard/version.rb +1 -1
  16. data/tasks/update_error_map.rake +53 -0
  17. data/yard.gemspec +1 -1
  18. metadata +3 -207
  19. data/spec/cli/command_parser_spec.rb +0 -43
  20. data/spec/cli/command_spec.rb +0 -36
  21. data/spec/cli/config_spec.rb +0 -148
  22. data/spec/cli/diff_spec.rb +0 -254
  23. data/spec/cli/display_spec.rb +0 -30
  24. data/spec/cli/gems_spec.rb +0 -81
  25. data/spec/cli/graph_spec.rb +0 -18
  26. data/spec/cli/help_spec.rb +0 -22
  27. data/spec/cli/i18n_spec.rb +0 -107
  28. data/spec/cli/list_spec.rb +0 -8
  29. data/spec/cli/markup_types_spec.rb +0 -22
  30. data/spec/cli/server_spec.rb +0 -324
  31. data/spec/cli/stats_spec.rb +0 -96
  32. data/spec/cli/yard_on_yard_spec.rb +0 -38
  33. data/spec/cli/yardoc_spec.rb +0 -896
  34. data/spec/cli/yri_spec.rb +0 -101
  35. data/spec/code_objects/base_spec.rb +0 -485
  36. data/spec/code_objects/class_object_spec.rb +0 -226
  37. data/spec/code_objects/code_object_list_spec.rb +0 -36
  38. data/spec/code_objects/constants_spec.rb +0 -116
  39. data/spec/code_objects/extra_file_object_spec.rb +0 -161
  40. data/spec/code_objects/macro_object_spec.rb +0 -150
  41. data/spec/code_objects/method_object_spec.rb +0 -184
  42. data/spec/code_objects/module_object_spec.rb +0 -142
  43. data/spec/code_objects/namespace_mapper_spec.rb +0 -32
  44. data/spec/code_objects/namespace_object_spec.rb +0 -171
  45. data/spec/code_objects/proxy_spec.rb +0 -147
  46. data/spec/code_objects/spec_helper.rb +0 -3
  47. data/spec/config_spec.rb +0 -171
  48. data/spec/core_ext/array_spec.rb +0 -13
  49. data/spec/core_ext/file_spec.rb +0 -72
  50. data/spec/core_ext/hash_spec.rb +0 -14
  51. data/spec/core_ext/insertion_spec.rb +0 -37
  52. data/spec/core_ext/module_spec.rb +0 -9
  53. data/spec/core_ext/string_spec.rb +0 -42
  54. data/spec/core_ext/symbol_hash_spec.rb +0 -89
  55. data/spec/docstring_parser_spec.rb +0 -280
  56. data/spec/docstring_spec.rb +0 -373
  57. data/spec/handlers/alias_handler_spec.rb +0 -82
  58. data/spec/handlers/attribute_handler_spec.rb +0 -96
  59. data/spec/handlers/base_spec.rb +0 -216
  60. data/spec/handlers/c/alias_handler_spec.rb +0 -34
  61. data/spec/handlers/c/attribute_handler_spec.rb +0 -41
  62. data/spec/handlers/c/class_handler_spec.rb +0 -78
  63. data/spec/handlers/c/constant_handler_spec.rb +0 -71
  64. data/spec/handlers/c/init_handler_spec.rb +0 -48
  65. data/spec/handlers/c/method_handler_spec.rb +0 -327
  66. data/spec/handlers/c/mixin_handler_spec.rb +0 -44
  67. data/spec/handlers/c/module_handler_spec.rb +0 -71
  68. data/spec/handlers/c/override_comment_handler_spec.rb +0 -47
  69. data/spec/handlers/c/path_handler_spec.rb +0 -36
  70. data/spec/handlers/c/spec_helper.rb +0 -23
  71. data/spec/handlers/c/struct_handler_spec.rb +0 -16
  72. data/spec/handlers/class_condition_handler_spec.rb +0 -87
  73. data/spec/handlers/class_handler_spec.rb +0 -247
  74. data/spec/handlers/class_method_handler_shared_examples.rb +0 -133
  75. data/spec/handlers/class_variable_handler_spec.rb +0 -12
  76. data/spec/handlers/constant_handler_spec.rb +0 -112
  77. data/spec/handlers/decorator_handler_methods_spec.rb +0 -393
  78. data/spec/handlers/dsl_handler_spec.rb +0 -226
  79. data/spec/handlers/examples/alias_handler_001.rb.txt +0 -46
  80. data/spec/handlers/examples/attribute_handler_001.rb.txt +0 -32
  81. data/spec/handlers/examples/class_condition_handler_001.rb.txt +0 -69
  82. data/spec/handlers/examples/class_handler_001.rb.txt +0 -120
  83. data/spec/handlers/examples/class_variable_handler_001.rb.txt +0 -10
  84. data/spec/handlers/examples/constant_handler_001.rb.txt +0 -35
  85. data/spec/handlers/examples/dsl_handler_001.rb.txt +0 -156
  86. data/spec/handlers/examples/exception_handler_001.rb.txt +0 -59
  87. data/spec/handlers/examples/extend_handler_001.rb.txt +0 -19
  88. data/spec/handlers/examples/method_condition_handler_001.rb.txt +0 -10
  89. data/spec/handlers/examples/method_handler_001.rb.txt +0 -128
  90. data/spec/handlers/examples/mixin_handler_001.rb.txt +0 -40
  91. data/spec/handlers/examples/module_handler_001.rb.txt +0 -29
  92. data/spec/handlers/examples/private_constant_handler_001.rb.txt +0 -8
  93. data/spec/handlers/examples/process_handler_001.rb.txt +0 -11
  94. data/spec/handlers/examples/visibility_handler_001.rb.txt +0 -36
  95. data/spec/handlers/examples/yield_handler_001.rb.txt +0 -54
  96. data/spec/handlers/exception_handler_spec.rb +0 -49
  97. data/spec/handlers/extend_handler_spec.rb +0 -28
  98. data/spec/handlers/legacy_base_spec.rb +0 -128
  99. data/spec/handlers/method_condition_handler_spec.rb +0 -15
  100. data/spec/handlers/method_handler_spec.rb +0 -214
  101. data/spec/handlers/mixin_handler_spec.rb +0 -60
  102. data/spec/handlers/module_function_handler_spec.rb +0 -106
  103. data/spec/handlers/module_handler_spec.rb +0 -35
  104. data/spec/handlers/private_class_method_handler_spec.rb +0 -11
  105. data/spec/handlers/private_constant_handler_spec.rb +0 -25
  106. data/spec/handlers/processor_spec.rb +0 -35
  107. data/spec/handlers/public_class_method_handler_spec.rb +0 -11
  108. data/spec/handlers/ruby/base_spec.rb +0 -95
  109. data/spec/handlers/ruby/legacy/base_spec.rb +0 -84
  110. data/spec/handlers/spec_helper.rb +0 -33
  111. data/spec/handlers/visibility_handler_spec.rb +0 -44
  112. data/spec/handlers/yield_handler_spec.rb +0 -52
  113. data/spec/i18n/locale_spec.rb +0 -81
  114. data/spec/i18n/message_spec.rb +0 -52
  115. data/spec/i18n/messages_spec.rb +0 -67
  116. data/spec/i18n/pot_generator_spec.rb +0 -295
  117. data/spec/i18n/text_spec.rb +0 -184
  118. data/spec/logging_spec.rb +0 -44
  119. data/spec/options_spec.rb +0 -171
  120. data/spec/parser/base_spec.rb +0 -24
  121. data/spec/parser/c_parser_spec.rb +0 -236
  122. data/spec/parser/examples/array.c.txt +0 -6267
  123. data/spec/parser/examples/example1.rb.txt +0 -8
  124. data/spec/parser/examples/extrafile.c.txt +0 -8
  125. data/spec/parser/examples/file.c.txt +0 -28
  126. data/spec/parser/examples/multifile.c.txt +0 -22
  127. data/spec/parser/examples/namespace.cpp.txt +0 -68
  128. data/spec/parser/examples/override.c.txt +0 -424
  129. data/spec/parser/examples/parse_in_order_001.rb.txt +0 -2
  130. data/spec/parser/examples/parse_in_order_002.rb.txt +0 -2
  131. data/spec/parser/examples/tag_handler_001.rb.txt +0 -8
  132. data/spec/parser/ruby/ast_node_spec.rb +0 -33
  133. data/spec/parser/ruby/legacy/statement_list_spec.rb +0 -299
  134. data/spec/parser/ruby/legacy/token_list_spec.rb +0 -79
  135. data/spec/parser/ruby/ruby_parser_spec.rb +0 -520
  136. data/spec/parser/ruby/token_resolver_spec.rb +0 -165
  137. data/spec/parser/source_parser_spec.rb +0 -727
  138. data/spec/parser/tag_parsing_spec.rb +0 -17
  139. data/spec/rake/yardoc_task_spec.rb +0 -118
  140. data/spec/registry_resolver_spec.rb +0 -15
  141. data/spec/registry_spec.rb +0 -463
  142. data/spec/registry_store_spec.rb +0 -327
  143. data/spec/rubygems/doc_manager_spec.rb +0 -112
  144. data/spec/serializers/data/serialized_yardoc/checksums +0 -1
  145. data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  146. data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  147. data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  148. data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  149. data/spec/serializers/data/serialized_yardoc/proxy_types +0 -2
  150. data/spec/serializers/file_system_serializer_spec.rb +0 -145
  151. data/spec/serializers/spec_helper.rb +0 -2
  152. data/spec/serializers/yardoc_serializer_spec.rb +0 -90
  153. data/spec/server/adapter_spec.rb +0 -39
  154. data/spec/server/commands/base_spec.rb +0 -91
  155. data/spec/server/commands/library_command_spec.rb +0 -39
  156. data/spec/server/doc_server_helper_spec.rb +0 -72
  157. data/spec/server/doc_server_serializer_spec.rb +0 -60
  158. data/spec/server/rack_adapter_spec.rb +0 -21
  159. data/spec/server/router_spec.rb +0 -123
  160. data/spec/server/spec_helper.rb +0 -22
  161. data/spec/server/static_caching_spec.rb +0 -47
  162. data/spec/server/webrick_servlet_spec.rb +0 -20
  163. data/spec/server_spec.rb +0 -19
  164. data/spec/spec_helper.rb +0 -212
  165. data/spec/tags/default_factory_spec.rb +0 -168
  166. data/spec/tags/default_tag_spec.rb +0 -11
  167. data/spec/tags/directives_spec.rb +0 -463
  168. data/spec/tags/library_spec.rb +0 -48
  169. data/spec/tags/overload_tag_spec.rb +0 -53
  170. data/spec/tags/ref_tag_list_spec.rb +0 -53
  171. data/spec/tags/types_explainer_spec.rb +0 -203
  172. data/spec/templates/class_spec.rb +0 -45
  173. data/spec/templates/constant_spec.rb +0 -41
  174. data/spec/templates/engine_spec.rb +0 -131
  175. data/spec/templates/examples/class001.html +0 -308
  176. data/spec/templates/examples/class001.txt +0 -36
  177. data/spec/templates/examples/class002.html +0 -39
  178. data/spec/templates/examples/constant001.txt +0 -25
  179. data/spec/templates/examples/constant002.txt +0 -7
  180. data/spec/templates/examples/constant003.txt +0 -11
  181. data/spec/templates/examples/method001.html +0 -137
  182. data/spec/templates/examples/method001.txt +0 -35
  183. data/spec/templates/examples/method002.html +0 -91
  184. data/spec/templates/examples/method002.txt +0 -20
  185. data/spec/templates/examples/method003.html +0 -165
  186. data/spec/templates/examples/method003.txt +0 -45
  187. data/spec/templates/examples/method004.html +0 -48
  188. data/spec/templates/examples/method004.txt +0 -10
  189. data/spec/templates/examples/method005.html +0 -105
  190. data/spec/templates/examples/method005.txt +0 -33
  191. data/spec/templates/examples/method006.html +0 -108
  192. data/spec/templates/examples/method006.txt +0 -20
  193. data/spec/templates/examples/module001.dot +0 -33
  194. data/spec/templates/examples/module001.html +0 -833
  195. data/spec/templates/examples/module001.txt +0 -33
  196. data/spec/templates/examples/module002.html +0 -341
  197. data/spec/templates/examples/module003.html +0 -202
  198. data/spec/templates/examples/module004.html +0 -394
  199. data/spec/templates/examples/module005.html +0 -82
  200. data/spec/templates/examples/tag001.txt +0 -82
  201. data/spec/templates/helpers/base_helper_spec.rb +0 -171
  202. data/spec/templates/helpers/html_helper_spec.rb +0 -666
  203. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +0 -65
  204. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +0 -84
  205. data/spec/templates/helpers/markup_helper_spec.rb +0 -136
  206. data/spec/templates/helpers/method_helper_spec.rb +0 -107
  207. data/spec/templates/helpers/module_helper_spec.rb +0 -35
  208. data/spec/templates/helpers/shared_signature_examples.rb +0 -126
  209. data/spec/templates/helpers/text_helper_spec.rb +0 -65
  210. data/spec/templates/markup_processor_integrations/asciidoctor_spec.rb +0 -60
  211. data/spec/templates/markup_processor_integrations/integration_spec_helper.rb +0 -50
  212. data/spec/templates/markup_processor_integrations/rdoc_markdown_spec.rb +0 -48
  213. data/spec/templates/markup_processor_integrations/rdoc_spec.rb +0 -39
  214. data/spec/templates/markup_processor_integrations/redcarpet_spec.rb +0 -64
  215. data/spec/templates/markup_processor_integrations/redcloth_spec.rb +0 -64
  216. data/spec/templates/method_spec.rb +0 -118
  217. data/spec/templates/module_spec.rb +0 -203
  218. data/spec/templates/onefile_spec.rb +0 -66
  219. data/spec/templates/section_spec.rb +0 -144
  220. data/spec/templates/spec_helper.rb +0 -76
  221. data/spec/templates/tag_spec.rb +0 -52
  222. data/spec/templates/template_spec.rb +0 -410
  223. 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('&#47;', '/')).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