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,226 +0,0 @@
1
- # frozen_string_literal: true
2
- require File.dirname(__FILE__) + '/spec_helper'
3
- require 'ostruct'
4
-
5
- RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}DSLHandler" do
6
- before(:all) { parse_file :dsl_handler_001, __FILE__ }
7
-
8
- it "creates a readable attribute when @!attribute r is found" do
9
- obj = Registry.at('Foo#attr1')
10
- expect(obj).not_to be nil
11
- expect(obj).to be_reader
12
- expect(obj.tag(:return).types).to eq ['Numeric']
13
- expect(Registry.at('Foo#attr1=')).to be nil
14
- end
15
-
16
- it "creates a writable attribute when @!attribute w is found" do
17
- obj = Registry.at('Foo#attr2=')
18
- expect(obj).not_to be nil
19
- expect(obj).to be_writer
20
- expect(Registry.at('Foo#attr2')).to be nil
21
- end
22
-
23
- it "defaults to readwrite @!attribute" do
24
- obj = Registry.at('Foo#attr3')
25
- expect(obj).not_to be nil
26
- expect(obj).to be_reader
27
- obj = Registry.at('Foo#attr3=')
28
- expect(obj).not_to be nil
29
- expect(obj).to be_writer
30
- end
31
-
32
- it "allows @!attribute to define alternate method name" do
33
- expect(Registry.at('Foo#attr4')).to be nil
34
- expect(Registry.at('Foo#custom')).not_to be nil
35
- end
36
-
37
- it "defaults to creating an instance method for any DSL method with special tags" do
38
- obj = Registry.at('Foo#implicit0')
39
- expect(obj).not_to be nil
40
- expect(obj.docstring).to eq "IMPLICIT METHOD!"
41
- expect(obj.tag(:return).types).to eq ['String']
42
- end
43
-
44
- it "recognizes implicit docstring when it has scope tag" do
45
- obj = Registry.at("Foo.implicit1")
46
- expect(obj).not_to be nil
47
- expect(obj.scope).to eq :class
48
- end
49
-
50
- it "recognizes implicit docstring when it has visibility tag" do
51
- obj = Registry.at("Foo#implicit2")
52
- expect(obj).not_to be nil
53
- expect(obj.visibility).to eq :protected
54
- end
55
-
56
- it "does not recognize implicit docstring with any other normal tag" do
57
- obj = Registry.at('Foo#implicit_invalid3')
58
- expect(obj).to be nil
59
- end
60
-
61
- it "sets the method name when using @!method" do
62
- obj = Registry.at('Foo.xyz')
63
- expect(obj).not_to be nil
64
- expect(obj.signature).to eq 'def xyz(a, b, c)'
65
- expect(obj.parameters).to eq [['a', nil], ['b', nil], ['c', nil]]
66
- expect(obj.source).to eq 'foo_bar'
67
- expect(obj.docstring).to eq 'The foo method'
68
- end
69
-
70
- it "recognizes methods with no attached source" do
71
- obj = Registry.at('Foo#no_src')
72
- expect(obj).not_to be nil
73
- expect(obj.signature).to eq 'def no_src'
74
- expect(obj.source).to eq ''
75
- end
76
-
77
- it "allows setting of @!scope" do
78
- expect(Registry.at('Foo.xyz').scope).to eq :class
79
- end
80
-
81
- it "creates module function if @!scope is module" do
82
- mod_c = Registry.at('Foo.modfunc1')
83
- mod_i = Registry.at('Foo#modfunc1')
84
- expect(mod_c.scope).to eq :class
85
- expect(mod_i.visibility).to eq :private
86
- end
87
-
88
- it "allows setting of @!visibility" do
89
- expect(Registry.at('Foo.xyz').visibility).to eq :protected
90
- end
91
-
92
- it "ignores DSL methods without tags" do
93
- expect(Registry.at('Foo#implicit_invalid')).to be nil
94
- end
95
-
96
- it "accepts a DSL method without tags if it has hash_flag (##)" do
97
- expect(Registry.at('Foo#implicit_valid')).not_to be nil
98
- expect(Registry.at('Foo#implicit_invalid2')).to be nil
99
- end
100
-
101
- it "allows creation of macros" do
102
- macro = CodeObjects::MacroObject.find('property')
103
- expect(macro).not_to be nil
104
- expect(macro).not_to be_attached
105
- expect(macro.method_object).to be nil
106
- end
107
-
108
- it "handles macros with no parameters to expand" do
109
- expect(Registry.at('Foo#none')).not_to be nil
110
- expect(Registry.at('Baz#none').signature).to eq 'def none(foo, bar)'
111
- end
112
-
113
- it "expands $N on method definitions" do
114
- expect(Registry.at('Foo#regular_meth').docstring).to eq 'a b c'
115
- end
116
-
117
- it "applies new macro docstrings on new objects" do
118
- obj = Registry.at('Foo#name')
119
- expect(obj).not_to be nil
120
- expect(obj.source).to eq 'property :name, String, :a, :b, :c'
121
- expect(obj.signature).to eq 'def name(a, b, c)'
122
- expect(obj.docstring).to eq 'A property that is awesome.'
123
- expect(obj.tag(:param).name).to eq 'a'
124
- expect(obj.tag(:param).text).to eq 'first parameter'
125
- expect(obj.tag(:return).types).to eq ['String']
126
- expect(obj.tag(:return).text).to eq 'the property name'
127
- end
128
-
129
- it "allows reuse of named macros" do
130
- obj = Registry.at('Foo#age')
131
- expect(obj).not_to be nil
132
- expect(obj.source).to eq 'property :age, Fixnum, :value'
133
- expect(obj.signature).to eq 'def age(value)'
134
- expect(obj.docstring).to eq 'A property that is awesome.'
135
- expect(obj.tag(:param).name).to eq 'value'
136
- expect(obj.tag(:param).text).to eq 'first parameter'
137
- expect(obj.tag(:return).types).to eq ['Fixnum']
138
- expect(obj.tag(:return).text).to eq 'the property age'
139
- end
140
-
141
- it "knows about method information on DSL with macro expansion" do
142
- expect(Registry.at('Foo#right_name')).not_to be nil
143
- expect(Registry.at('Foo#right_name').source).to eq 'implicit_with_different_method_name :wrong, :right'
144
- expect(Registry.at('Foo#wrong_name')).to be nil
145
- end
146
-
147
- it "uses attached macros" do
148
- macro = CodeObjects::MacroObject.find('parser')
149
- expect(macro.macro_data).to eq "@!method $1(opts = {})\n@return NOTHING!"
150
- expect(macro).not_to be nil
151
- expect(macro).to be_attached
152
- expect(macro.method_object).to eq P('Foo.parser')
153
- obj = Registry.at('Foo#c_parser')
154
- expect(obj).not_to be nil
155
- expect(obj.docstring).to eq ""
156
- expect(obj.signature).to eq "def c_parser(opts = {})"
157
- expect(obj.docstring.tag(:return).text).to eq "NOTHING!"
158
- end
159
-
160
- it "appends docstring on DSL method to attached macro" do
161
- obj = Registry.at('Foo#d_parser')
162
- expect(obj).not_to be nil
163
- expect(obj.docstring).to eq "Another docstring"
164
- expect(obj.signature).to eq "def d_parser(opts = {})"
165
- expect(obj.docstring.tag(:return).text).to eq "NOTHING!"
166
- end
167
-
168
- it "only uses attached macros on methods defined in inherited hierarchy" do
169
- expect(Registry.at('Bar#x_parser')).to be nil
170
- expect(Registry.at('Baz#y_parser')).not_to be nil
171
- end
172
-
173
- it "looks through mixins for attached macros" do
174
- meth = Registry.at('Baz#mixin_method')
175
- expect(meth).not_to be nil
176
- expect(meth.docstring).to eq 'DSL method mixin_method'
177
- end
178
-
179
- it "handles top-level DSL methods" do
180
- obj = Registry.at('#my_other_method')
181
- expect(obj).not_to be nil
182
- expect(obj.docstring).to eq "Docstring for method"
183
- end
184
-
185
- it "handles Constant.foo syntax" do
186
- obj = Registry.at('#beep')
187
- expect(obj).not_to be nil
188
- expect(obj.signature).to eq 'def beep(a, b, c)'
189
- end
190
-
191
- it "expands attached macros in first DSL method" do
192
- expect(Registry.at('DSLMethods#foo').docstring).to eq "Returns String for foo"
193
- expect(Registry.at('DSLMethods#bar').docstring).to eq "Returns Integer for bar"
194
- end
195
-
196
- it "does not detect implicit macros with invalid method names" do
197
- undoc_error <<-eof
198
- ##
199
- # IMPLICIT METHOD THAT SHOULD
200
- # NOT BE DETECTED
201
- dsl_method '/foo/bar'
202
- eof
203
- end
204
-
205
- it "warns on unparseable DSL statements" do
206
- undoc_error "private(*foo(bar))"
207
- end if HAVE_RIPPER
208
-
209
- # @note Currently unsupported behavior. Overriding a macro on an alias will
210
- # not work until macro lookups can be done by caller_method directly.
211
- # @todo optimize MacroObject lookup to work by caller name, not macro name.
212
- it "cannot attach a macro on alias of attached macro" do
213
- expect(Registry.at('AliasTest#main_foo1')).not_to be nil
214
- expect(Registry.at('AliasTest#alt_foo1')).to be nil
215
- end if HAVE_RIPPER
216
-
217
- it "searches attached macro's aliases for caller method match" do
218
- expect(Registry.at('AliasTest#main_foo2')).not_to be nil
219
- expect(Registry.at('AliasTest#alt_foo2')).to be nil
220
- end if HAVE_RIPPER
221
-
222
- it "does not create method object if directive data detected in expanded macro" do
223
- expect(Registry.at('DirectiveMethods#Bar')).to be nil
224
- expect(Registry.at('DirectiveMethods').mixins).to include P(:Bar)
225
- end
226
- end
@@ -1,46 +0,0 @@
1
- module A
2
- def a; end
3
- alias_method :b, :a
4
- alias_method :"cstrmeth", :"a"
5
-
6
- # Handle keyword syntax too
7
- alias :c :a
8
- alias :"cstrkey" :a
9
- alias d? a
10
- alias [] a
11
- alias []= a
12
- alias -@ a
13
- alias % a
14
- alias * a
15
- alias for a
16
- alias ConstantName a
17
-
18
- # Handle quoted symbols
19
- alias :'foo' :'a'
20
- end
21
-
22
- class C
23
- def x; end
24
- end
25
-
26
- class B < C
27
- alias_method(:q, :x)
28
- alias_method :r?, :x
29
- alias_method :s, :to_s
30
- alias_method :t, :inspect if 500 == 3 * CONSTANT
31
- alias_method :<<, :a
32
- alias_method :for, :a
33
- alias do x
34
- alias x2 do
35
- end
36
-
37
- class D
38
- # Foo bar
39
- def a; "FOO" end
40
-
41
- # @return [String]
42
- alias b a
43
-
44
- # @return [Numeric]
45
- def a; 0 end
46
- end
@@ -1,32 +0,0 @@
1
- module A
2
- attr_writer :x
3
- end
4
-
5
- class B
6
- class << self
7
- attr_accessor :z
8
- end
9
-
10
- attr :a, true
11
- attr :a2, false
12
- attr :a3
13
- # Docstring
14
- attr_reader :b, :c, :d
15
- attr_writer :e
16
- attr_accessor 'f'
17
-
18
- attr_accessor :z
19
- end
20
-
21
- class C
22
- def foo; end
23
- attr_writer :foo
24
-
25
- def bar=(value); end
26
- attr_reader :bar
27
- end
28
-
29
- class D
30
- protected
31
- attr_reader :parser
32
- end
@@ -1,69 +0,0 @@
1
- class A
2
- if some_condition
3
- def a; end
4
- elsif 1 == 1
5
- def b; end
6
- else
7
- def c; end
8
- end
9
-
10
- def d; end if 50 * 2 == 101
11
-
12
- unless false
13
- def e; end
14
- else
15
- def enot; end
16
- end
17
-
18
- def g; end unless 5 * 2 == 101
19
-
20
- def h
21
- if 1
22
- def hnot; end
23
- end
24
- end
25
-
26
- if defined? A
27
- def j; end
28
- else
29
- def jnot; end
30
- end
31
-
32
- if defined? RUBY_VERSION
33
- def k; end
34
- else
35
- def knot; end
36
- end
37
-
38
- if 0
39
- def nnot; end
40
- else
41
- def n; end
42
- end
43
-
44
- if 256
45
- def o; end
46
- else
47
- def onot; end
48
- end
49
-
50
- if true
51
- def p; end
52
- else
53
- def pnot; end
54
- end
55
-
56
- if false
57
- def qnot; end
58
- else
59
- def q; end
60
- end
61
-
62
- private
63
-
64
- if a == 1
65
- def m; end
66
- else
67
- def mnot; end
68
- end
69
- end
@@ -1,120 +0,0 @@
1
- # Docstring
2
- class A
3
- module B; end
4
- private
5
- class B::C < String;
6
- def method1; end
7
- def method2; end
8
- end
9
- class X<B::C
10
- end
11
- class<<self
12
- def classmethod1; end
13
- end
14
-
15
- class << A::B::C; def Hello; end end
16
- end
17
-
18
- module B
19
- class A < A
20
- end
21
- end
22
-
23
- class RT < XX::RT; end
24
-
25
- class Test1 < R "something"
26
- end
27
-
28
- class Test2 < R(/something/)
29
- end
30
-
31
- class Test3 < Struct.new(:foo, :bar)
32
- end
33
-
34
- class Test4 < OStruct.new
35
- end
36
-
37
- class Test5 < DelegateClass(Array)
38
- end
39
-
40
- class Test6 < NotDelegateClass(Array)
41
- end
42
-
43
- class ::MyRootClass
44
- end
45
-
46
- module Holder
47
- module SomeMod
48
- class Importer
49
- def parse; end
50
- end
51
- end
52
- end
53
-
54
- module Holder
55
- class Importer < Holder::SomeMod::Importer
56
- def a; end
57
- end
58
- end
59
-
60
- class String; end
61
- CONST = String
62
- class << CONST
63
- def classmethod; end
64
- end
65
-
66
- module Q
67
- class Logger < ::Logger; end
68
- class Foo < ::Logger; end
69
- end
70
-
71
- class << Symbol
72
- alias toString to_s
73
- end
74
-
75
- # Docstring
76
- class Zebra
77
- end
78
-
79
- # Docstring 2
80
-
81
- class Zebra
82
- end
83
-
84
- class Zebra
85
- end
86
-
87
- # A simple struct
88
- class RegularStruct < Struct; end
89
- class RegularStruct2 < ::Struct; end
90
-
91
- class Point < Struct.new(:x, :y, :z)
92
- end
93
-
94
- class AnotherPoint < Struct.new('XPoint', :a, :b, :c, :description)
95
- end
96
-
97
- # @attr [IO] input the input stream
98
- # @attr mode the mode to read
99
- # @attr [Proc, #call] someproc the proc to run
100
- class DoccedStruct < Struct.new(:input, :mode, :someproc)
101
- end
102
-
103
- # @attr [String] first the first entry
104
- # @attr_reader [Fixnum] second this only has a reader
105
- # @attr_writer [Array] third this only has a writer
106
- # @attr_reader [#read] fourth returns a proc that reads
107
- # @attr_writer [IO] fourth sets the proc that writes stuff
108
- class SemiDoccedStruct < Struct.new(:first, :second, :third, :fourth)
109
- end
110
-
111
- # @attr [String] first the first entry
112
- # @attr_reader [Fixnum] second this only has a reader
113
- # @attr_writer [Array] third this only has a writer
114
- # @attr_reader [#read] fourth returns a proc that reads
115
- # @attr_writer [IO] fourth sets the proc that writes stuff
116
- class NotAStruct; end
117
-
118
- class Outer1
119
- class Inner1 < self; end
120
- end