yard 0.9.5 → 0.9.6

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 (575) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -0
  3. data/CHANGELOG.md +20 -0
  4. data/LEGAL +0 -0
  5. data/LICENSE +0 -0
  6. data/README.md +70 -35
  7. data/Rakefile +10 -39
  8. data/benchmarks/builtins_vs_eval.rb +9 -8
  9. data/benchmarks/concat_vs_join.rb +1 -0
  10. data/benchmarks/erb_vs_erubis.rb +3 -2
  11. data/benchmarks/format_args.rb +1 -0
  12. data/benchmarks/generation.rb +2 -1
  13. data/benchmarks/marshal_vs_dbm.rb +2 -1
  14. data/benchmarks/parsing.rb +1 -1
  15. data/benchmarks/pathname_vs_string.rb +1 -0
  16. data/benchmarks/rdoc_vs_yardoc.rb +2 -1
  17. data/benchmarks/registry_store_types.rb +1 -0
  18. data/benchmarks/ri_vs_yri.rb +1 -0
  19. data/benchmarks/ripper_parser.rb +2 -1
  20. data/benchmarks/splat_vs_flatten.rb +4 -3
  21. data/benchmarks/template_erb.rb +2 -1
  22. data/benchmarks/template_format.rb +1 -0
  23. data/benchmarks/template_profile.rb +4 -3
  24. data/benchmarks/yri_cache.rb +2 -1
  25. data/bin/yard +2 -1
  26. data/bin/yardoc +2 -1
  27. data/bin/yri +2 -1
  28. data/docs/CodeObjects.md +0 -0
  29. data/docs/GettingStarted.md +0 -0
  30. data/docs/Handlers.md +0 -0
  31. data/docs/Overview.md +0 -0
  32. data/docs/Parser.md +0 -0
  33. data/docs/Tags.md +0 -0
  34. data/docs/TagsArch.md +0 -0
  35. data/docs/Templates.md +0 -0
  36. data/docs/WhatsNew.md +0 -0
  37. data/docs/images/code-objects-class-diagram.png +0 -0
  38. data/docs/images/tags-class-diagram.png +0 -0
  39. data/docs/templates/default/fulldoc/html/full_list_tag.erb +0 -0
  40. data/docs/templates/default/fulldoc/html/setup.rb +1 -1
  41. data/docs/templates/default/layout/html/setup.rb +1 -0
  42. data/docs/templates/default/layout/html/tag_list.erb +0 -0
  43. data/docs/templates/default/yard_tags/html/list.erb +0 -0
  44. data/docs/templates/default/yard_tags/html/setup.rb +18 -19
  45. data/docs/templates/plugin.rb +18 -13
  46. data/lib/rubygems_plugin.rb +1 -0
  47. data/lib/yard.rb +5 -6
  48. data/lib/yard/autoload.rb +4 -0
  49. data/lib/yard/cli/command.rb +3 -2
  50. data/lib/yard/cli/command_parser.rb +4 -3
  51. data/lib/yard/cli/config.rb +5 -4
  52. data/lib/yard/cli/diff.rb +39 -39
  53. data/lib/yard/cli/display.rb +2 -1
  54. data/lib/yard/cli/gems.rb +6 -5
  55. data/lib/yard/cli/graph.rb +4 -5
  56. data/lib/yard/cli/help.rb +4 -2
  57. data/lib/yard/cli/i18n.rb +2 -1
  58. data/lib/yard/cli/list.rb +2 -1
  59. data/lib/yard/cli/markup_types.rb +4 -5
  60. data/lib/yard/cli/server.rb +27 -24
  61. data/lib/yard/cli/stats.rb +20 -16
  62. data/lib/yard/cli/yardoc.rb +22 -19
  63. data/lib/yard/cli/yardopts_command.rb +3 -2
  64. data/lib/yard/cli/yri.rb +26 -25
  65. data/lib/yard/code_objects/base.rb +41 -37
  66. data/lib/yard/code_objects/class_object.rb +3 -2
  67. data/lib/yard/code_objects/class_variable_object.rb +2 -1
  68. data/lib/yard/code_objects/constant_object.rb +2 -1
  69. data/lib/yard/code_objects/extended_method_object.rb +2 -1
  70. data/lib/yard/code_objects/extra_file_object.rb +1 -0
  71. data/lib/yard/code_objects/macro_object.rb +10 -10
  72. data/lib/yard/code_objects/method_object.rb +15 -13
  73. data/lib/yard/code_objects/module_object.rb +1 -0
  74. data/lib/yard/code_objects/namespace_mapper.rb +1 -0
  75. data/lib/yard/code_objects/namespace_object.rb +2 -5
  76. data/lib/yard/code_objects/proxy.rb +35 -53
  77. data/lib/yard/code_objects/root_object.rb +3 -1
  78. data/lib/yard/config.rb +8 -9
  79. data/lib/yard/core_ext/array.rb +1 -0
  80. data/lib/yard/core_ext/file.rb +4 -3
  81. data/lib/yard/core_ext/hash.rb +3 -2
  82. data/lib/yard/core_ext/insertion.rb +7 -4
  83. data/lib/yard/core_ext/module.rb +2 -1
  84. data/lib/yard/core_ext/string.rb +5 -4
  85. data/lib/yard/core_ext/symbol_hash.rb +8 -6
  86. data/lib/yard/docstring.rb +26 -15
  87. data/lib/yard/docstring_parser.rb +61 -61
  88. data/lib/yard/gem_index.rb +17 -0
  89. data/lib/yard/globals.rb +6 -2
  90. data/lib/yard/handlers/base.rb +22 -23
  91. data/lib/yard/handlers/c/alias_handler.rb +3 -2
  92. data/lib/yard/handlers/c/attribute_handler.rb +2 -2
  93. data/lib/yard/handlers/c/base.rb +13 -13
  94. data/lib/yard/handlers/c/class_handler.rb +1 -0
  95. data/lib/yard/handlers/c/constant_handler.rb +3 -2
  96. data/lib/yard/handlers/c/handler_methods.rb +24 -25
  97. data/lib/yard/handlers/c/init_handler.rb +4 -2
  98. data/lib/yard/handlers/c/method_handler.rb +7 -6
  99. data/lib/yard/handlers/c/mixin_handler.rb +3 -1
  100. data/lib/yard/handlers/c/module_handler.rb +1 -0
  101. data/lib/yard/handlers/c/override_comment_handler.rb +2 -1
  102. data/lib/yard/handlers/c/path_handler.rb +1 -0
  103. data/lib/yard/handlers/c/struct_handler.rb +1 -0
  104. data/lib/yard/handlers/c/symbol_handler.rb +2 -1
  105. data/lib/yard/handlers/processor.rb +14 -15
  106. data/lib/yard/handlers/ruby/alias_handler.rb +4 -2
  107. data/lib/yard/handlers/ruby/attribute_handler.rb +11 -6
  108. data/lib/yard/handlers/ruby/base.rb +5 -4
  109. data/lib/yard/handlers/ruby/class_condition_handler.rb +4 -3
  110. data/lib/yard/handlers/ruby/class_handler.rb +7 -9
  111. data/lib/yard/handlers/ruby/class_variable_handler.rb +2 -1
  112. data/lib/yard/handlers/ruby/comment_handler.rb +1 -0
  113. data/lib/yard/handlers/ruby/constant_handler.rb +9 -5
  114. data/lib/yard/handlers/ruby/decorator_handler_methods.rb +15 -28
  115. data/lib/yard/handlers/ruby/dsl_handler.rb +1 -0
  116. data/lib/yard/handlers/ruby/dsl_handler_methods.rb +7 -6
  117. data/lib/yard/handlers/ruby/exception_handler.rb +1 -0
  118. data/lib/yard/handlers/ruby/extend_handler.rb +1 -0
  119. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +6 -4
  120. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +12 -7
  121. data/lib/yard/handlers/ruby/legacy/base.rb +21 -26
  122. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +7 -7
  123. data/lib/yard/handlers/ruby/legacy/class_handler.rb +7 -5
  124. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +2 -1
  125. data/lib/yard/handlers/ruby/legacy/comment_handler.rb +1 -0
  126. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +2 -1
  127. data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +1 -0
  128. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +2 -1
  129. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +2 -1
  130. data/lib/yard/handlers/ruby/legacy/method_handler.rb +11 -6
  131. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +5 -5
  132. data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +2 -1
  133. data/lib/yard/handlers/ruby/legacy/module_handler.rb +2 -1
  134. data/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +2 -1
  135. data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +2 -1
  136. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +3 -2
  137. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +1 -0
  138. data/lib/yard/handlers/ruby/method_condition_handler.rb +2 -1
  139. data/lib/yard/handlers/ruby/method_handler.rb +9 -11
  140. data/lib/yard/handlers/ruby/mixin_handler.rb +2 -1
  141. data/lib/yard/handlers/ruby/module_function_handler.rb +2 -1
  142. data/lib/yard/handlers/ruby/module_handler.rb +2 -1
  143. data/lib/yard/handlers/ruby/private_class_method_handler.rb +1 -0
  144. data/lib/yard/handlers/ruby/private_constant_handler.rb +2 -2
  145. data/lib/yard/handlers/ruby/public_class_method_handler.rb +1 -0
  146. data/lib/yard/handlers/ruby/struct_handler_methods.rb +5 -4
  147. data/lib/yard/handlers/ruby/visibility_handler.rb +1 -0
  148. data/lib/yard/handlers/ruby/yield_handler.rb +1 -0
  149. data/lib/yard/i18n/locale.rb +1 -0
  150. data/lib/yard/i18n/message.rb +5 -4
  151. data/lib/yard/i18n/messages.rb +2 -1
  152. data/lib/yard/i18n/po_parser.rb +5 -4
  153. data/lib/yard/i18n/pot_generator.rb +8 -8
  154. data/lib/yard/i18n/text.rb +9 -9
  155. data/lib/yard/logging.rb +9 -6
  156. data/lib/yard/options.rb +8 -7
  157. data/lib/yard/parser/base.rb +3 -2
  158. data/lib/yard/parser/c/c_parser.rb +22 -21
  159. data/lib/yard/parser/c/comment_parser.rb +9 -6
  160. data/lib/yard/parser/c/statement.rb +1 -0
  161. data/lib/yard/parser/ruby/ast_node.rb +20 -18
  162. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +99 -122
  163. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +3 -2
  164. data/lib/yard/parser/ruby/legacy/statement.rb +4 -3
  165. data/lib/yard/parser/ruby/legacy/statement_list.rb +52 -42
  166. data/lib/yard/parser/ruby/legacy/token_list.rb +16 -13
  167. data/lib/yard/parser/ruby/ruby_parser.rb +87 -63
  168. data/lib/yard/parser/ruby/token_resolver.rb +156 -0
  169. data/lib/yard/parser/source_parser.rb +28 -20
  170. data/lib/yard/rake/yardoc_task.rb +3 -3
  171. data/lib/yard/registry.rb +14 -16
  172. data/lib/yard/registry_resolver.rb +36 -20
  173. data/lib/yard/registry_store.rb +19 -15
  174. data/lib/yard/rubygems/backports.rb +2 -0
  175. data/lib/yard/rubygems/backports/LICENSE.txt +0 -0
  176. data/lib/yard/rubygems/backports/MIT.txt +0 -0
  177. data/lib/yard/rubygems/backports/gem.rb +1 -0
  178. data/lib/yard/rubygems/backports/source_index.rb +25 -30
  179. data/lib/yard/rubygems/doc_manager.rb +10 -8
  180. data/lib/yard/rubygems/hook.rb +11 -18
  181. data/lib/yard/rubygems/specification.rb +1 -0
  182. data/lib/yard/serializers/base.rb +5 -2
  183. data/lib/yard/serializers/file_system_serializer.rb +7 -6
  184. data/lib/yard/serializers/process_serializer.rb +2 -2
  185. data/lib/yard/serializers/stdout_serializer.rb +8 -6
  186. data/lib/yard/serializers/yardoc_serializer.rb +31 -26
  187. data/lib/yard/server.rb +2 -1
  188. data/lib/yard/server/adapter.rb +1 -1
  189. data/lib/yard/server/commands/base.rb +15 -2
  190. data/lib/yard/server/commands/display_file_command.rb +2 -2
  191. data/lib/yard/server/commands/display_object_command.rb +6 -3
  192. data/lib/yard/server/commands/frames_command.rb +1 -0
  193. data/lib/yard/server/commands/library_command.rb +50 -14
  194. data/lib/yard/server/commands/library_index_command.rb +5 -4
  195. data/lib/yard/server/commands/list_command.rb +1 -0
  196. data/lib/yard/server/commands/root_request_command.rb +1 -0
  197. data/lib/yard/server/commands/search_command.rb +17 -16
  198. data/lib/yard/server/commands/static_file_command.rb +2 -1
  199. data/lib/yard/server/commands/static_file_helpers.rb +23 -14
  200. data/lib/yard/server/doc_server_helper.rb +15 -1
  201. data/lib/yard/server/doc_server_serializer.rb +3 -5
  202. data/lib/yard/server/library_version.rb +44 -22
  203. data/lib/yard/server/rack_adapter.rb +2 -1
  204. data/lib/yard/server/router.rb +15 -14
  205. data/lib/yard/server/static_caching.rb +1 -0
  206. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +0 -0
  207. data/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  208. data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +0 -0
  209. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +0 -0
  210. data/lib/yard/server/templates/default/layout/html/script_setup.erb +0 -0
  211. data/lib/yard/server/templates/default/layout/html/setup.rb +2 -1
  212. data/lib/yard/server/templates/default/method_details/html/permalink.erb +0 -0
  213. data/lib/yard/server/templates/default/method_details/html/setup.rb +1 -0
  214. data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +2 -2
  215. data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +0 -0
  216. data/lib/yard/server/templates/doc_server/library_list/html/listing.erb +1 -1
  217. data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +2 -1
  218. data/lib/yard/server/templates/doc_server/library_list/html/title.erb +0 -0
  219. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +4 -4
  220. data/lib/yard/server/templates/doc_server/processing/html/setup.rb +2 -1
  221. data/lib/yard/server/templates/doc_server/search/html/search.erb +0 -0
  222. data/lib/yard/server/templates/doc_server/search/html/setup.rb +2 -1
  223. data/lib/yard/server/webrick_adapter.rb +4 -2
  224. data/lib/yard/tags/default_factory.rb +19 -13
  225. data/lib/yard/tags/default_tag.rb +2 -1
  226. data/lib/yard/tags/directives.rb +17 -19
  227. data/lib/yard/tags/library.rb +9 -6
  228. data/lib/yard/tags/option_tag.rb +1 -0
  229. data/lib/yard/tags/overload_tag.rb +6 -4
  230. data/lib/yard/tags/ref_tag.rb +1 -0
  231. data/lib/yard/tags/ref_tag_list.rb +2 -1
  232. data/lib/yard/tags/tag.rb +16 -2
  233. data/lib/yard/tags/tag_format_error.rb +3 -2
  234. data/lib/yard/tags/types_explainer.rb +160 -0
  235. data/lib/yard/templates/engine.rb +3 -2
  236. data/lib/yard/templates/erb_cache.rb +3 -2
  237. data/lib/yard/templates/helpers/base_helper.rb +9 -6
  238. data/lib/yard/templates/helpers/filter_helper.rb +1 -0
  239. data/lib/yard/templates/helpers/html_helper.rb +65 -37
  240. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +25 -7
  241. data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +2 -1
  242. data/lib/yard/templates/helpers/markup/rdoc_markup.rb +10 -7
  243. data/lib/yard/templates/helpers/markup_helper.rb +12 -13
  244. data/lib/yard/templates/helpers/method_helper.rb +8 -7
  245. data/lib/yard/templates/helpers/module_helper.rb +1 -0
  246. data/lib/yard/templates/helpers/text_helper.rb +16 -11
  247. data/lib/yard/templates/helpers/uml_helper.rb +2 -1
  248. data/lib/yard/templates/section.rb +3 -4
  249. data/lib/yard/templates/template.rb +18 -11
  250. data/lib/yard/templates/template_options.rb +1 -0
  251. data/lib/yard/verifier.rb +2 -0
  252. data/lib/yard/version.rb +2 -1
  253. data/spec/cli/command_parser_spec.rb +7 -7
  254. data/spec/cli/command_spec.rb +2 -2
  255. data/spec/cli/config_spec.rb +3 -4
  256. data/spec/cli/diff_spec.rb +7 -9
  257. data/spec/cli/display_spec.rb +2 -2
  258. data/spec/cli/gems_spec.rb +11 -11
  259. data/spec/cli/graph_spec.rb +4 -3
  260. data/spec/cli/help_spec.rb +3 -3
  261. data/spec/cli/i18n_spec.rb +3 -3
  262. data/spec/cli/list_spec.rb +2 -2
  263. data/spec/cli/markup_types_spec.rb +2 -2
  264. data/spec/cli/server_spec.rb +21 -18
  265. data/spec/cli/stats_spec.rb +23 -22
  266. data/spec/cli/yardoc_spec.rb +49 -47
  267. data/spec/cli/yri_spec.rb +6 -6
  268. data/spec/code_objects/base_spec.rb +6 -4
  269. data/spec/code_objects/class_object_spec.rb +10 -9
  270. data/spec/code_objects/code_object_list_spec.rb +3 -2
  271. data/spec/code_objects/constants_spec.rb +17 -6
  272. data/spec/code_objects/extra_file_object_spec.rb +6 -5
  273. data/spec/code_objects/macro_object_spec.rb +5 -3
  274. data/spec/code_objects/method_object_spec.rb +6 -5
  275. data/spec/code_objects/module_object_spec.rb +3 -2
  276. data/spec/code_objects/namespace_object_spec.rb +10 -9
  277. data/spec/code_objects/proxy_spec.rb +9 -8
  278. data/spec/code_objects/spec_helper.rb +2 -2
  279. data/spec/config_spec.rb +9 -14
  280. data/spec/core_ext/array_spec.rb +2 -3
  281. data/spec/core_ext/file_spec.rb +3 -3
  282. data/spec/core_ext/hash_spec.rb +5 -5
  283. data/spec/core_ext/insertion_spec.rb +2 -2
  284. data/spec/core_ext/module_spec.rb +3 -3
  285. data/spec/core_ext/string_spec.rb +5 -5
  286. data/spec/core_ext/symbol_hash_spec.rb +8 -8
  287. data/spec/docstring_parser_spec.rb +6 -7
  288. data/spec/docstring_spec.rb +30 -3
  289. data/spec/examples.txt +1848 -0
  290. data/spec/handlers/alias_handler_spec.rb +2 -1
  291. data/spec/handlers/attribute_handler_spec.rb +7 -5
  292. data/spec/handlers/base_spec.rb +9 -8
  293. data/spec/handlers/c/alias_handler_spec.rb +2 -1
  294. data/spec/handlers/c/attribute_handler_spec.rb +2 -1
  295. data/spec/handlers/c/class_handler_spec.rb +2 -1
  296. data/spec/handlers/c/constant_handler_spec.rb +5 -4
  297. data/spec/handlers/c/init_handler_spec.rb +2 -1
  298. data/spec/handlers/c/method_handler_spec.rb +2 -1
  299. data/spec/handlers/c/mixin_handler_spec.rb +2 -1
  300. data/spec/handlers/c/module_handler_spec.rb +2 -1
  301. data/spec/handlers/c/override_comment_handler_spec.rb +2 -1
  302. data/spec/handlers/c/path_handler_spec.rb +2 -1
  303. data/spec/handlers/c/spec_helper.rb +1 -1
  304. data/spec/handlers/c/struct_handler_spec.rb +3 -2
  305. data/spec/handlers/class_condition_handler_spec.rb +3 -2
  306. data/spec/handlers/class_handler_spec.rb +3 -2
  307. data/spec/handlers/class_method_handler_shared_examples.rb +9 -8
  308. data/spec/handlers/class_variable_handler_spec.rb +3 -2
  309. data/spec/handlers/constant_handler_spec.rb +28 -3
  310. data/spec/handlers/decorator_handler_methods_spec.rb +47 -59
  311. data/spec/handlers/dsl_handler_spec.rb +3 -2
  312. data/spec/handlers/examples/alias_handler_001.rb.txt +0 -0
  313. data/spec/handlers/examples/attribute_handler_001.rb.txt +0 -0
  314. data/spec/handlers/examples/class_condition_handler_001.rb.txt +0 -0
  315. data/spec/handlers/examples/class_handler_001.rb.txt +0 -0
  316. data/spec/handlers/examples/class_variable_handler_001.rb.txt +0 -0
  317. data/spec/handlers/examples/constant_handler_001.rb.txt +0 -0
  318. data/spec/handlers/examples/dsl_handler_001.rb.txt +0 -0
  319. data/spec/handlers/examples/exception_handler_001.rb.txt +0 -0
  320. data/spec/handlers/examples/extend_handler_001.rb.txt +0 -0
  321. data/spec/handlers/examples/method_condition_handler_001.rb.txt +0 -0
  322. data/spec/handlers/examples/method_handler_001.rb.txt +2 -0
  323. data/spec/handlers/examples/mixin_handler_001.rb.txt +0 -0
  324. data/spec/handlers/examples/module_handler_001.rb.txt +0 -0
  325. data/spec/handlers/examples/private_constant_handler_001.rb.txt +0 -0
  326. data/spec/handlers/examples/process_handler_001.rb.txt +0 -0
  327. data/spec/handlers/examples/visibility_handler_001.rb.txt +0 -0
  328. data/spec/handlers/examples/yield_handler_001.rb.txt +0 -0
  329. data/spec/handlers/exception_handler_spec.rb +3 -2
  330. data/spec/handlers/extend_handler_spec.rb +2 -1
  331. data/spec/handlers/legacy_base_spec.rb +5 -5
  332. data/spec/handlers/method_condition_handler_spec.rb +3 -2
  333. data/spec/handlers/method_handler_spec.rb +7 -1
  334. data/spec/handlers/mixin_handler_spec.rb +3 -2
  335. data/spec/handlers/module_function_handler_spec.rb +2 -1
  336. data/spec/handlers/module_handler_spec.rb +3 -2
  337. data/spec/handlers/private_class_method_handler_spec.rb +2 -1
  338. data/spec/handlers/private_constant_handler_spec.rb +2 -1
  339. data/spec/handlers/processor_spec.rb +2 -1
  340. data/spec/handlers/public_class_method_handler_spec.rb +2 -1
  341. data/spec/handlers/ruby/base_spec.rb +6 -5
  342. data/spec/handlers/ruby/legacy/base_spec.rb +4 -4
  343. data/spec/handlers/spec_helper.rb +3 -3
  344. data/spec/handlers/visibility_handler_spec.rb +3 -2
  345. data/spec/handlers/yield_handler_spec.rb +3 -2
  346. data/spec/i18n/locale_spec.rb +3 -3
  347. data/spec/i18n/message_spec.rb +2 -2
  348. data/spec/i18n/messages_spec.rb +3 -3
  349. data/spec/i18n/pot_generator_spec.rb +34 -34
  350. data/spec/i18n/text_spec.rb +16 -12
  351. data/spec/logging_spec.rb +2 -2
  352. data/spec/options_spec.rb +9 -9
  353. data/spec/parser/base_spec.rb +2 -2
  354. data/spec/parser/c_parser_spec.rb +5 -4
  355. data/spec/parser/examples/array.c.txt +0 -0
  356. data/spec/parser/examples/example1.rb.txt +0 -0
  357. data/spec/parser/examples/extrafile.c.txt +0 -0
  358. data/spec/parser/examples/multifile.c.txt +0 -0
  359. data/spec/parser/examples/override.c.txt +0 -0
  360. data/spec/parser/examples/parse_in_order_001.rb.txt +0 -0
  361. data/spec/parser/examples/parse_in_order_002.rb.txt +0 -0
  362. data/spec/parser/examples/tag_handler_001.rb.txt +0 -0
  363. data/spec/parser/ruby/ast_node_spec.rb +7 -7
  364. data/spec/parser/ruby/legacy/statement_list_spec.rb +7 -7
  365. data/spec/parser/ruby/legacy/token_list_spec.rb +4 -4
  366. data/spec/parser/ruby/ruby_parser_spec.rb +42 -20
  367. data/spec/parser/ruby/token_resolver_spec.rb +165 -0
  368. data/spec/parser/source_parser_spec.rb +18 -18
  369. data/spec/parser/tag_parsing_spec.rb +2 -2
  370. data/spec/rake/yardoc_task_spec.rb +4 -4
  371. data/spec/registry_spec.rb +62 -56
  372. data/spec/registry_store_spec.rb +7 -7
  373. data/spec/rubygems/doc_manager_spec.rb +2 -2
  374. data/spec/serializers/data/serialized_yardoc/checksums +0 -0
  375. data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  376. data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  377. data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  378. data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  379. data/spec/serializers/data/serialized_yardoc/proxy_types +0 -0
  380. data/spec/serializers/file_system_serializer_spec.rb +8 -7
  381. data/spec/serializers/spec_helper.rb +2 -2
  382. data/spec/serializers/yardoc_serializer_spec.rb +5 -4
  383. data/spec/server/adapter_spec.rb +3 -2
  384. data/spec/server/commands/base_spec.rb +15 -11
  385. data/spec/server/commands/library_command_spec.rb +2 -2
  386. data/spec/server/doc_server_helper_spec.rb +4 -3
  387. data/spec/server/doc_server_serializer_spec.rb +3 -2
  388. data/spec/server/rack_adapter_spec.rb +3 -2
  389. data/spec/server/router_spec.rb +3 -2
  390. data/spec/server/spec_helper.rb +2 -2
  391. data/spec/server/static_caching_spec.rb +4 -3
  392. data/spec/server/webrick_servlet_spec.rb +5 -4
  393. data/spec/server_spec.rb +3 -3
  394. data/spec/spec_helper.rb +94 -21
  395. data/spec/tags/default_factory_spec.rb +10 -4
  396. data/spec/tags/default_tag_spec.rb +3 -3
  397. data/spec/tags/directives_spec.rb +12 -12
  398. data/spec/tags/library_spec.rb +16 -2
  399. data/spec/tags/overload_tag_spec.rb +4 -4
  400. data/spec/tags/ref_tag_list_spec.rb +3 -3
  401. data/spec/tags/types_explainer_spec.rb +200 -0
  402. data/spec/templates/class_spec.rb +2 -1
  403. data/spec/templates/constant_spec.rb +3 -2
  404. data/spec/templates/engine_spec.rb +4 -3
  405. data/spec/templates/examples/class001.html +0 -0
  406. data/spec/templates/examples/class001.txt +0 -0
  407. data/spec/templates/examples/class002.html +0 -0
  408. data/spec/templates/examples/constant001.txt +0 -0
  409. data/spec/templates/examples/constant002.txt +0 -0
  410. data/spec/templates/examples/constant003.txt +0 -0
  411. data/spec/templates/examples/method001.html +0 -0
  412. data/spec/templates/examples/method001.txt +0 -0
  413. data/spec/templates/examples/method002.html +0 -0
  414. data/spec/templates/examples/method002.txt +0 -0
  415. data/spec/templates/examples/method003.html +0 -0
  416. data/spec/templates/examples/method003.txt +0 -0
  417. data/spec/templates/examples/method004.html +0 -0
  418. data/spec/templates/examples/method004.txt +0 -0
  419. data/spec/templates/examples/method005.html +0 -0
  420. data/spec/templates/examples/method005.txt +0 -0
  421. data/spec/templates/examples/method006.html +108 -0
  422. data/spec/templates/examples/method006.txt +20 -0
  423. data/spec/templates/examples/module001.dot +0 -0
  424. data/spec/templates/examples/module001.html +0 -0
  425. data/spec/templates/examples/module001.txt +0 -0
  426. data/spec/templates/examples/module002.html +0 -0
  427. data/spec/templates/examples/module003.html +0 -0
  428. data/spec/templates/examples/module004.html +0 -0
  429. data/spec/templates/examples/tag001.txt +0 -0
  430. data/spec/templates/helpers/base_helper_spec.rb +5 -5
  431. data/spec/templates/helpers/html_helper_spec.rb +64 -60
  432. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +17 -6
  433. data/spec/templates/helpers/markup/rdoc_markup_spec.rb +11 -13
  434. data/spec/templates/helpers/markup_helper_spec.rb +2 -2
  435. data/spec/templates/helpers/method_helper_spec.rb +3 -3
  436. data/spec/templates/helpers/module_helper_spec.rb +2 -2
  437. data/spec/templates/helpers/shared_signature_examples.rb +2 -1
  438. data/spec/templates/helpers/text_helper_spec.rb +7 -6
  439. data/spec/templates/method_spec.rb +18 -2
  440. data/spec/templates/module_spec.rb +4 -3
  441. data/spec/templates/onefile_spec.rb +8 -6
  442. data/spec/templates/section_spec.rb +3 -2
  443. data/spec/templates/spec_helper.rb +5 -2
  444. data/spec/templates/tag_spec.rb +3 -2
  445. data/spec/templates/template_spec.rb +15 -14
  446. data/spec/verifier_spec.rb +3 -3
  447. data/templates/default/class/dot/setup.rb +2 -1
  448. data/templates/default/class/dot/superklass.erb +0 -0
  449. data/templates/default/class/html/constructor_details.erb +0 -0
  450. data/templates/default/class/html/setup.rb +2 -1
  451. data/templates/default/class/html/subclasses.erb +0 -0
  452. data/templates/default/class/setup.rb +6 -6
  453. data/templates/default/class/text/setup.rb +2 -1
  454. data/templates/default/class/text/subclasses.erb +0 -0
  455. data/templates/default/constant/text/header.erb +0 -0
  456. data/templates/default/constant/text/setup.rb +1 -0
  457. data/templates/default/docstring/html/abstract.erb +0 -0
  458. data/templates/default/docstring/html/deprecated.erb +0 -0
  459. data/templates/default/docstring/html/index.erb +0 -0
  460. data/templates/default/docstring/html/note.erb +0 -0
  461. data/templates/default/docstring/html/private.erb +0 -0
  462. data/templates/default/docstring/html/returns_void.erb +0 -0
  463. data/templates/default/docstring/html/text.erb +0 -0
  464. data/templates/default/docstring/html/todo.erb +0 -0
  465. data/templates/default/docstring/setup.rb +4 -3
  466. data/templates/default/docstring/text/abstract.erb +0 -0
  467. data/templates/default/docstring/text/deprecated.erb +0 -0
  468. data/templates/default/docstring/text/index.erb +0 -0
  469. data/templates/default/docstring/text/note.erb +0 -0
  470. data/templates/default/docstring/text/private.erb +0 -0
  471. data/templates/default/docstring/text/returns_void.erb +0 -0
  472. data/templates/default/docstring/text/text.erb +0 -0
  473. data/templates/default/docstring/text/todo.erb +0 -0
  474. data/templates/default/fulldoc/html/css/common.css +0 -0
  475. data/templates/default/fulldoc/html/css/full_list.css +0 -0
  476. data/templates/default/fulldoc/html/css/style.css +31 -20
  477. data/templates/default/fulldoc/html/frames.erb +0 -0
  478. data/templates/default/fulldoc/html/full_list.erb +2 -2
  479. data/templates/default/fulldoc/html/full_list_class.erb +0 -0
  480. data/templates/default/fulldoc/html/full_list_file.erb +0 -0
  481. data/templates/default/fulldoc/html/full_list_method.erb +0 -0
  482. data/templates/default/fulldoc/html/js/app.js +3 -3
  483. data/templates/default/fulldoc/html/js/full_list.js +0 -0
  484. data/templates/default/fulldoc/html/js/jquery.js +0 -0
  485. data/templates/default/fulldoc/html/setup.rb +22 -23
  486. data/templates/default/layout/dot/header.erb +0 -0
  487. data/templates/default/layout/dot/setup.rb +1 -0
  488. data/templates/default/layout/html/breadcrumb.erb +0 -0
  489. data/templates/default/layout/html/files.erb +0 -0
  490. data/templates/default/layout/html/footer.erb +0 -0
  491. data/templates/default/layout/html/headers.erb +2 -2
  492. data/templates/default/layout/html/index.erb +0 -0
  493. data/templates/default/layout/html/layout.erb +1 -3
  494. data/templates/default/layout/html/listing.erb +0 -0
  495. data/templates/default/layout/html/objects.erb +0 -0
  496. data/templates/default/layout/html/script_setup.erb +0 -0
  497. data/templates/default/layout/html/search.erb +0 -0
  498. data/templates/default/layout/html/setup.rb +21 -19
  499. data/templates/default/method/html/header.erb +0 -0
  500. data/templates/default/method/setup.rb +2 -1
  501. data/templates/default/method/text/header.erb +0 -0
  502. data/templates/default/method_details/html/header.erb +0 -0
  503. data/templates/default/method_details/html/method_signature.erb +0 -0
  504. data/templates/default/method_details/html/source.erb +0 -0
  505. data/templates/default/method_details/setup.rb +1 -0
  506. data/templates/default/method_details/text/header.erb +0 -0
  507. data/templates/default/method_details/text/method_signature.erb +0 -0
  508. data/templates/default/method_details/text/setup.rb +3 -2
  509. data/templates/default/module/dot/child.erb +0 -0
  510. data/templates/default/module/dot/dependencies.erb +0 -0
  511. data/templates/default/module/dot/header.erb +0 -0
  512. data/templates/default/module/dot/info.erb +0 -0
  513. data/templates/default/module/dot/setup.rb +2 -1
  514. data/templates/default/module/html/attribute_details.erb +0 -0
  515. data/templates/default/module/html/attribute_summary.erb +0 -0
  516. data/templates/default/module/html/box_info.erb +0 -0
  517. data/templates/default/module/html/children.erb +0 -0
  518. data/templates/default/module/html/constant_summary.erb +0 -0
  519. data/templates/default/module/html/defines.erb +0 -0
  520. data/templates/default/module/html/header.erb +0 -0
  521. data/templates/default/module/html/inherited_attributes.erb +0 -0
  522. data/templates/default/module/html/inherited_constants.erb +0 -0
  523. data/templates/default/module/html/inherited_methods.erb +0 -0
  524. data/templates/default/module/html/item_summary.erb +0 -0
  525. data/templates/default/module/html/method_details_list.erb +0 -0
  526. data/templates/default/module/html/method_summary.erb +0 -0
  527. data/templates/default/module/html/methodmissing.erb +0 -0
  528. data/templates/default/module/html/pre_docstring.erb +0 -0
  529. data/templates/default/module/setup.rb +24 -26
  530. data/templates/default/module/text/children.erb +0 -0
  531. data/templates/default/module/text/class_meths_list.erb +0 -0
  532. data/templates/default/module/text/extends.erb +0 -0
  533. data/templates/default/module/text/header.erb +0 -0
  534. data/templates/default/module/text/includes.erb +0 -0
  535. data/templates/default/module/text/instance_meths_list.erb +0 -0
  536. data/templates/default/module/text/setup.rb +2 -1
  537. data/templates/default/onefile/html/files.erb +0 -0
  538. data/templates/default/onefile/html/headers.erb +0 -0
  539. data/templates/default/onefile/html/layout.erb +3 -3
  540. data/templates/default/onefile/html/readme.erb +0 -0
  541. data/templates/default/onefile/html/setup.rb +9 -8
  542. data/templates/default/root/dot/child.erb +0 -0
  543. data/templates/default/root/dot/setup.rb +3 -2
  544. data/templates/default/root/html/setup.rb +2 -1
  545. data/templates/default/tags/html/example.erb +0 -0
  546. data/templates/default/tags/html/index.erb +0 -0
  547. data/templates/default/tags/html/option.erb +1 -1
  548. data/templates/default/tags/html/overload.erb +0 -0
  549. data/templates/default/tags/html/see.erb +0 -0
  550. data/templates/default/tags/html/tag.erb +1 -1
  551. data/templates/default/tags/setup.rb +7 -5
  552. data/templates/default/tags/text/example.erb +0 -0
  553. data/templates/default/tags/text/index.erb +0 -0
  554. data/templates/default/tags/text/option.erb +1 -1
  555. data/templates/default/tags/text/overload.erb +0 -0
  556. data/templates/default/tags/text/see.erb +0 -0
  557. data/templates/default/tags/text/tag.erb +2 -2
  558. data/templates/guide/class/html/setup.rb +1 -0
  559. data/templates/guide/docstring/html/setup.rb +1 -0
  560. data/templates/guide/fulldoc/html/css/style.css +0 -0
  561. data/templates/guide/fulldoc/html/js/app.js +0 -0
  562. data/templates/guide/fulldoc/html/setup.rb +7 -6
  563. data/templates/guide/layout/html/layout.erb +0 -0
  564. data/templates/guide/layout/html/setup.rb +2 -5
  565. data/templates/guide/method/html/header.erb +0 -0
  566. data/templates/guide/method/html/setup.rb +5 -4
  567. data/templates/guide/module/html/header.erb +0 -0
  568. data/templates/guide/module/html/method_list.erb +0 -0
  569. data/templates/guide/module/html/setup.rb +2 -1
  570. data/templates/guide/onefile/html/files.erb +0 -0
  571. data/templates/guide/onefile/html/setup.rb +1 -0
  572. data/templates/guide/onefile/html/toc.erb +0 -0
  573. data/templates/guide/tags/html/setup.rb +1 -0
  574. data/yard.gemspec +2 -1
  575. metadata +10 -2
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::I18n::Text do
3
+ RSpec.describe YARD::I18n::Text do
4
4
  describe "#extract_messages" do
5
- def extract_messages(input, options={})
5
+ def extract_messages(input, options = {})
6
6
  text = YARD::I18n::Text.new(StringIO.new(input), options)
7
7
  messages = []
8
8
  text.extract_messages do |*message|
@@ -20,7 +20,8 @@ describe YARD::I18n::Text do
20
20
  eot
21
21
  expect(extract_messages(text, :have_header => true)).to eq(
22
22
  [[:attribute, "title", "Getting Started Guide", 1],
23
- [:paragraph, "# Getting Started with YARD", 3]])
23
+ [:paragraph, "# Getting Started with YARD", 3]]
24
+ )
24
25
  end
25
26
 
26
27
  it "ignores markup line" do
@@ -32,7 +33,8 @@ eot
32
33
  eot
33
34
  expect(extract_messages(text, :have_header => true)).to eq(
34
35
  [[:attribute, "title", "Getting Started Guide", 2],
35
- [:paragraph, "# Getting Started with YARD", 4]])
36
+ [:paragraph, "# Getting Started with YARD", 4]]
37
+ )
36
38
  end
37
39
 
38
40
  it "terminates header block by markup line not at the first line" do
@@ -45,7 +47,8 @@ eot
45
47
  expect(extract_messages(text, :have_header => true)).to eq(
46
48
  [[:attribute, "title", "Getting Started Guide", 1],
47
49
  [:paragraph, "#!markdown", 2],
48
- [:paragraph, "# Getting Started with YARD", 4]])
50
+ [:paragraph, "# Getting Started with YARD", 4]]
51
+ )
49
52
  end
50
53
  end
51
54
 
@@ -66,7 +69,8 @@ eop
66
69
  eot
67
70
  expect(extract_messages(text)).to eq(
68
71
  [[:paragraph, paragraph1, 1],
69
- [:paragraph, paragraph2, 4]])
72
+ [:paragraph, paragraph2, 4]]
73
+ )
70
74
  end
71
75
  end
72
76
  end
@@ -82,7 +86,7 @@ eot
82
86
  locale
83
87
  end
84
88
 
85
- def translate(input, options={})
89
+ def translate(input, options = {})
86
90
  text = YARD::I18n::Text.new(StringIO.new(input), options)
87
91
  text.translate(locale)
88
92
  end
@@ -161,16 +165,16 @@ eot
161
165
  text = <<-eot
162
166
  Paragraph 1.
163
167
 
164
-
165
-
168
+
169
+
166
170
 
167
171
  Paragraph 2.
168
172
  eot
169
173
  expect(translate(text)).to eq <<-eot
170
174
  Paragraphe 1.
171
175
 
172
-
173
-
176
+
177
+
174
178
 
175
179
  Paragraphe 2.
176
180
  eot
data/spec/logging_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
- require File.join(File.dirname(__FILE__), "spec_helper")
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Logger do
3
+ RSpec.describe YARD::Logger do
4
4
  describe "#show_backtraces" do
5
5
  it "is true if debug level is on" do
6
6
  log.show_backtraces = true
data/spec/options_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Options do
3
+ RSpec.describe YARD::Options do
4
4
  class FooOptions < YARD::Options
5
5
  attr_accessor :foo
6
6
  def initialize; self.foo = "abc" end
@@ -111,7 +111,7 @@ describe YARD::Options do
111
111
  it "does not ignore keys with no setter (OpenStruct behaviour)" do
112
112
  o = FooOptions.new
113
113
  o.update(:bar => "xyz")
114
- expect(o.to_hash).to eq({:foo => "abc", :bar => "xyz"})
114
+ expect(o.to_hash).to eq(:foo => "abc", :bar => "xyz")
115
115
  end
116
116
  end
117
117
 
@@ -119,13 +119,13 @@ describe YARD::Options do
119
119
  it "updates a new object" do
120
120
  o = FooOptions.new
121
121
  expect(o.merge(:foo => "xyz").object_id).not_to eq o.object_id
122
- expect(o.merge(:foo => "xyz").to_hash).to eq({:foo => "xyz"})
122
+ expect(o.merge(:foo => "xyz").to_hash).to eq(:foo => "xyz")
123
123
  end
124
124
 
125
125
  it "adds in values from original object" do
126
126
  o = FooOptions.new
127
127
  o.update(:bar => "foo")
128
- expect(o.merge(:baz => 1).to_hash).to eq({:foo => "abc", :bar => "foo", :baz => 1})
128
+ expect(o.merge(:baz => 1).to_hash).to eq(:foo => "abc", :bar => "foo", :baz => 1)
129
129
  end
130
130
  end
131
131
 
@@ -149,7 +149,7 @@ describe YARD::Options do
149
149
  def foo; "HELLO#{@foo}" end
150
150
  end
151
151
  o = ToHashOptions2.new
152
- expect(o.to_hash).to eq({:foo => "HELLO1"})
152
+ expect(o.to_hash).to eq(:foo => "HELLO1")
153
153
  end
154
154
 
155
155
  it "ignores ivars with no accessor" do
@@ -158,14 +158,14 @@ describe YARD::Options do
158
158
  def initialize; @foo = 1; @bar = "NOIGNORE" end
159
159
  end
160
160
  o = ToHashOptions3.new
161
- expect(o.to_hash).to eq({:foo => 1, :bar => "NOIGNORE"})
161
+ expect(o.to_hash).to eq(:foo => 1, :bar => "NOIGNORE")
162
162
  end
163
163
  end
164
164
 
165
165
  describe "#tap" do
166
166
  it "supports #tap(&block) (even in 1.8.6)" do
167
- o = FooOptions.new.tap {|o| o.foo = :BAR }
168
- expect(o.to_hash).to eq({:foo => :BAR})
167
+ o = FooOptions.new.tap {|obj| obj.foo = :BAR }
168
+ expect(o.to_hash).to eq(:foo => :BAR)
169
169
  end
170
170
  end
171
171
  end
@@ -1,6 +1,6 @@
1
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Parser::Base do
3
+ RSpec.describe YARD::Parser::Base do
4
4
  describe "#initialize" do
5
5
  class MyParser < Parser::Base; def initialize(a, b) end end
6
6
 
@@ -1,6 +1,6 @@
1
- require File.join(File.dirname(__FILE__), '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Parser::C::CParser do
3
+ RSpec.describe YARD::Parser::C::CParser do
4
4
  describe "#parse" do
5
5
  def parse(contents)
6
6
  Registry.clear
@@ -68,7 +68,8 @@ describe YARD::Parser::C::CParser do
68
68
  }
69
69
  eof
70
70
  expect(Registry.at('Foo#foo').source.gsub(/\s\s+/, ' ')).to eq(
71
- "VALUE foo(VALUE x) { int value = x;\n}")
71
+ "VALUE foo(VALUE x) { int value = x;\n}"
72
+ )
72
73
  end
73
74
  end
74
75
 
@@ -121,8 +122,8 @@ describe YARD::Parser::C::CParser do
121
122
  end
122
123
  thr.join(5)
123
124
  if thr.alive?
124
- fail "Did not parse in time"
125
125
  thr.kill
126
+ raise "Did not parse in time"
126
127
  end
127
128
  end
128
129
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,10 +1,10 @@
1
- require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
  require 'pp'
3
3
  require 'stringio'
4
4
 
5
5
  include YARD::Parser::Ruby
6
6
 
7
- describe YARD::Parser::Ruby::AstNode do
7
+ RSpec.describe YARD::Parser::Ruby::AstNode do
8
8
  describe "#jump" do
9
9
  it "jumps to the first specific inner node if found" do
10
10
  ast = s(:paren, s(:paren, s(:params, s(s(:ident, "hi"), s(:ident, "bye")))))
@@ -23,11 +23,11 @@ describe YARD::Parser::Ruby::AstNode do
23
23
  out = StringIO.new
24
24
  PP.pp(obj, out)
25
25
  vcall = RUBY_VERSION >= '1.9.3' ? 'vcall' : 'var_ref'
26
- expect(out.string).to eq "s(s(:#{vcall},\n" +
27
- " s(:ident, \"bye\", line: 2..2, source: 4..6),\n" +
28
- " docstring: \"x\",\n" +
29
- " line: 2..2,\n" +
30
- " source: 4..6))\n"
26
+ expect(out.string).to eq "s(s(:#{vcall},\n" \
27
+ " s(:ident, \"bye\", line: 2..2, source: 4..6),\n" \
28
+ " docstring: \"x\",\n" \
29
+ " line: 2..2,\n" \
30
+ " source: 4..6))\n"
31
31
  end
32
32
  end
33
33
  end if HAVE_RIPPER
@@ -1,6 +1,6 @@
1
- require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Parser::Ruby::Legacy::StatementList do
3
+ RSpec.describe YARD::Parser::Ruby::Legacy::StatementList do
4
4
  def stmts(code) YARD::Parser::Ruby::Legacy::StatementList.new(code) end
5
5
  def stmt(code) stmts(code).first end
6
6
 
@@ -187,7 +187,7 @@ eof
187
187
  def method; end
188
188
  eof
189
189
  expect(s.comments).to eq ["comment", "comment", "comment"]
190
- expect(s.comments_range).to eq (1..3)
190
+ expect(s.comments_range).to eq(1..3)
191
191
 
192
192
  s = stmt <<-eof
193
193
 
@@ -196,7 +196,7 @@ eof
196
196
  def method; end
197
197
  eof
198
198
  expect(s.comments).to eq ["comment", "comment"]
199
- expect(s.comments_range).to eq (2..3)
199
+ expect(s.comments_range).to eq(2..3)
200
200
 
201
201
  s = stmt <<-eof
202
202
  # comment
@@ -205,20 +205,20 @@ eof
205
205
  def method; end
206
206
  eof
207
207
  expect(s.comments).to eq ["comment", "comment"]
208
- expect(s.comments_range).to eq (1..2)
208
+ expect(s.comments_range).to eq(1..2)
209
209
 
210
210
  s = stmt <<-eof
211
211
  # comment
212
212
  def method; end
213
213
  eof
214
214
  expect(s.comments).to eq ["comment"]
215
- expect(s.comments_range).to eq (1..1)
215
+ expect(s.comments_range).to eq(1..1)
216
216
 
217
217
  s = stmt <<-eof
218
218
  def method; end # comment
219
219
  eof
220
220
  expect(s.comments).to eq ["comment"]
221
- expect(s.comments_range).to eq (1..1)
221
+ expect(s.comments_range).to eq(1..1)
222
222
  end
223
223
 
224
224
  it "only looks up to two lines back for comments" do
@@ -1,10 +1,10 @@
1
- require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
 
3
3
  include YARD::Parser::Ruby::Legacy
4
4
  include YARD::Parser::Ruby::Legacy::RubyToken
5
5
 
6
- describe YARD::Parser::Ruby::Legacy::TokenList do
7
- describe "#initialize / #push" do
6
+ RSpec.describe YARD::Parser::Ruby::Legacy::TokenList do
7
+ describe "#initialize / #push" do
8
8
  it "accepts a tokenlist (via constructor or push)" do
9
9
  expect { TokenList.new(TokenList.new) }.not_to raise_error
10
10
  expect(TokenList.new.push(TokenList.new("x = 2")).size).to eq 6
@@ -74,4 +74,4 @@ describe YARD::Parser::Ruby::Legacy::TokenList do
74
74
  expect(@t.to_s(true, false)).to eq "def x; end"
75
75
  end
76
76
  end
77
- end
77
+ end
@@ -1,6 +1,6 @@
1
- require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Parser::Ruby::RubyParser do
3
+ RSpec.describe YARD::Parser::Ruby::RubyParser do
4
4
  def stmt(stmt)
5
5
  YARD::Parser::Ruby::RubyParser.new(stmt, nil).parse.root.first
6
6
  end
@@ -22,7 +22,7 @@ describe YARD::Parser::Ruby::RubyParser do
22
22
  def method; end
23
23
  eof
24
24
  expect(s.comments).to eq "comment\ncomment\ncomment"
25
- expect(s.comments_range).to eq (1..3)
25
+ expect(s.comments_range).to eq(1..3)
26
26
 
27
27
  s = stmt <<-eof
28
28
 
@@ -31,7 +31,7 @@ describe YARD::Parser::Ruby::RubyParser do
31
31
  def method; end
32
32
  eof
33
33
  expect(s.comments).to eq "comment\ncomment"
34
- expect(s.comments_range).to eq (2..3)
34
+ expect(s.comments_range).to eq(2..3)
35
35
 
36
36
  s = stmt <<-eof
37
37
  # comment
@@ -40,20 +40,20 @@ describe YARD::Parser::Ruby::RubyParser do
40
40
  def method; end
41
41
  eof
42
42
  expect(s.comments).to eq "comment\ncomment"
43
- expect(s.comments_range).to eq (1..2)
43
+ expect(s.comments_range).to eq(1..2)
44
44
 
45
45
  s = stmt <<-eof
46
46
  # comment
47
47
  def method; end
48
48
  eof
49
49
  expect(s.comments).to eq "comment"
50
- expect(s.comments_range).to eq (1..1)
50
+ expect(s.comments_range).to eq(1..1)
51
51
 
52
52
  s = stmt <<-eof
53
53
  def method; end # comment
54
54
  eof
55
55
  expect(s.comments).to eq "comment"
56
- expect(s.comments_range).to eq (1..1)
56
+ expect(s.comments_range).to eq(1..1)
57
57
  end
58
58
 
59
59
  it "only looks up to two lines back for comments" do
@@ -175,7 +175,7 @@ eof
175
175
  it "handles defs with keywords as method name" do
176
176
  ast = stmt("# docstring\nclass A;\ndef class; end\nend")
177
177
  expect(ast.jump(:class).docstring).to eq "docstring"
178
- expect(ast.jump(:class).line_range).to eq (2..4)
178
+ expect(ast.jump(:class).line_range).to eq(2..4)
179
179
  end
180
180
 
181
181
  it "handles defs with unnamed argument with default values" do
@@ -239,7 +239,7 @@ eof
239
239
  s = stmt(src)
240
240
  t = tokenize(src)
241
241
  expect(s.source).to eq src
242
- expect(t.map { |x| x[1] }.join).to eq src
242
+ expect(t.map {|x| x[1] }.join).to eq src
243
243
  end
244
244
 
245
245
  it "shows proper source for regular heredoc" do
@@ -247,7 +247,7 @@ eof
247
247
  s = stmt(src)
248
248
  t = tokenize(src)
249
249
  expect(s.source).to eq src
250
- expect(t.map { |x| x[1] }.join).to eq src
250
+ expect(t.map {|x| x[1] }.join).to eq src
251
251
  end
252
252
 
253
253
  it "shows proper source for heredoc with comment" do
@@ -270,14 +270,32 @@ eof
270
270
  expect(stmt(src).jump(:string_literal).source).to eq '"this is a string"'
271
271
  end
272
272
 
273
- it "shows proper source for %w() array" do
274
- src = "%w(\na b c\n d e f\n)"
275
- expect(stmt(src).jump(:qwords_literal).source).to eq src
273
+ %w(w W i I).each do |tok|
274
+ it "shows proper source for %#{tok}() array" do
275
+ src = "%#{tok}(\na b c\n d e f\n)"
276
+ expect(stmt(src).source).to eq src
277
+ end
278
+
279
+ it "shows proper source for %#{tok}{} array" do
280
+ src = "%#{tok}{\na b c\n d e f\n}"
281
+ expect(stmt(src).source).to eq src
282
+ end
276
283
  end
277
284
 
278
- it "shows proper source for %w{} array" do
279
- src = "%w{\na b c\n d e f\n}"
280
- expect(stmt(src).jump(:array).source).to eq src
285
+ {'i' => :qsymbols_literal, 'I' => :symbols_literal,
286
+ 'w' => :qwords_literal, 'W' => :words_literal}.each do |id, sym|
287
+ it "parses %#{id}(...) literals" do
288
+ [
289
+ "TEST = %#{id}(A B C)",
290
+ "TEST = %#{id}( A B C )",
291
+ "TEST = %#{id}( \nA \nB \nC \n)",
292
+ "TEST = %#{id}(\n\nAD\n\nB\n\nC\n\n)",
293
+ "TEST = %#{id}(\n A\n B\n C\n )"
294
+ ].each do |str|
295
+ node = stmt(str).jump(sym)
296
+ expect(node.source).to eq(str[/(\%#{id}\(.+\))/m, 1])
297
+ end
298
+ end
281
299
  end
282
300
 
283
301
  it "parses %w() array in constant declaration" do
@@ -335,7 +353,7 @@ eof
335
353
  # Ending comment
336
354
  end
337
355
  eof
338
- expect(s.jump(:class).line_range).to eq (1..7)
356
+ expect(s.jump(:class).line_range).to eq(1..7)
339
357
  end
340
358
 
341
359
  it "has the correct line range for blocks" do
@@ -372,7 +390,7 @@ eof
372
390
 
373
391
  it "does not group comments if they don't begin the line" do
374
392
  Registry.clear
375
- ast = YARD.parse_string(<<-eof).enumerator
393
+ YARD.parse_string(<<-eof).enumerator
376
394
  class Foo
377
395
  CONST1 = 1 # Comment here
378
396
  CONST2 = 2 # Another comment here
@@ -385,7 +403,7 @@ eof
385
403
  %w(if unless).each do |type|
386
404
  it "does not get confused by modifier '#{type}' statements" do
387
405
  Registry.clear
388
- ast = YARD.parse_string(<<-eof).enumerator
406
+ YARD.parse_string(<<-eof).enumerator
389
407
  module Foo
390
408
  #{type} test?
391
409
  # Docstring
@@ -432,7 +450,7 @@ eof
432
450
 
433
451
  it "does not add comment blocks to #{type}_mod nodes" do
434
452
  Registry.clear
435
- ast = YARD.parse_string(<<-eof).enumerator
453
+ YARD.parse_string(<<-eof).enumerator
436
454
  class Foo
437
455
  # Docstring
438
456
  def bar; end if true
@@ -450,5 +468,9 @@ eof
450
468
  expect(Registry.at(:Foo).docstring).to eq "this is a comment"
451
469
  expect(Registry.at(:Bar).docstring).to eq "this is a comment"
452
470
  end
471
+
472
+ it "handles compile errors" do
473
+ expect { stmt(":~$ Do not clobber") }.to raise_error(Parser::ParserSyntaxError)
474
+ end
453
475
  end
454
476
  end if HAVE_RIPPER