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,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects do
4
+ RSpec.describe YARD::CodeObjects do
4
5
  describe :CONSTANTMATCH do
5
6
  it "matches a constant" do
6
7
  expect("Constant"[CodeObjects::CONSTANTMATCH]).to eq "Constant"
@@ -50,19 +51,29 @@ describe YARD::CodeObjects do
50
51
 
51
52
  describe :BUILTIN_EXCEPTIONS do
52
53
  it "includes all base exceptions" do
54
+ bad_names = []
53
55
  YARD::CodeObjects::BUILTIN_EXCEPTIONS.each do |name|
54
- expect(eval(name)).to be <= Exception
56
+ begin
57
+ bad_names << name unless eval(name) <= Exception
58
+ rescue NameError
59
+ nil # noop
60
+ end
55
61
  end
62
+ expect(bad_names).to be_empty
56
63
  end
57
64
  end
58
65
 
59
66
  describe :BUILTIN_CLASSES do
60
67
  it "includes all base classes" do
68
+ bad_names = []
61
69
  YARD::CodeObjects::BUILTIN_CLASSES.each do |name|
62
- next if name == "MatchingData" && !defined?(::MatchingData)
63
- next if name == "Continuation"
64
- expect(eval(name)).to be_instance_of(Class)
70
+ begin
71
+ bad_names << name unless eval(name).is_a?(Class)
72
+ rescue NameError
73
+ nil # noop
74
+ end
65
75
  end
76
+ expect(bad_names).to be_empty
66
77
  end
67
78
 
68
79
  it "includes all exceptions" do
@@ -77,7 +88,7 @@ describe YARD::CodeObjects do
77
88
  a = YARD::CodeObjects::BUILTIN_ALL
78
89
  b = YARD::CodeObjects::BUILTIN_CLASSES
79
90
  c = YARD::CodeObjects::BUILTIN_MODULES
80
- expect(a).to eq b+c
91
+ expect(a).to eq b + c
81
92
  end
82
93
  end
83
94
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::ExtraFileObject do
4
+ RSpec.describe YARD::CodeObjects::ExtraFileObject do
4
5
  describe "#initialize" do
5
6
  it "attempts to read contents from filesystem if contents=nil" do
6
7
  expect(File).to receive(:read).with('file.txt').and_return('')
@@ -80,7 +81,7 @@ describe YARD::CodeObjects::ExtraFileObject do
80
81
 
81
82
  it "forces encoding to @encoding attribute if present" do
82
83
  expect(log).not_to receive(:warn)
83
- data = "# @encoding sjis\nFOO"
84
+ data = String.new("# @encoding sjis\nFOO")
84
85
  data.force_encoding('binary')
85
86
  file = ExtraFileObject.new('file.txt', data)
86
87
  expect(['Shift_JIS', 'Windows-31J']).to include(file.contents.encoding.to_s)
@@ -88,7 +89,7 @@ describe YARD::CodeObjects::ExtraFileObject do
88
89
 
89
90
  it "warns if @encoding is invalid" do
90
91
  expect(log).to receive(:warn).with("Invalid encoding `INVALID' in file.txt")
91
- data = "# @encoding INVALID\nFOO"
92
+ data = String.new("# @encoding INVALID\nFOO")
92
93
  encoding = data.encoding
93
94
  file = ExtraFileObject.new('file.txt', data)
94
95
  expect(file.contents.encoding).to eq encoding
@@ -96,12 +97,12 @@ describe YARD::CodeObjects::ExtraFileObject do
96
97
 
97
98
  it "ignores encoding in 1.8.x (or encoding-unaware platforms)" do
98
99
  expect(log).not_to receive(:warn)
99
- file = ExtraFileObject.new('file.txt', "# @encoding INVALID\nFOO")
100
+ ExtraFileObject.new('file.txt', "# @encoding INVALID\nFOO")
100
101
  end if YARD.ruby18?
101
102
 
102
103
  it "attempts to re-parse data as 8-bit ascii if parsing fails" do
103
104
  expect(log).not_to receive(:warn)
104
- str, out = *(["\xB0"] * 2)
105
+ str, out = *([String.new("\xB0")] * 2)
105
106
  if str.respond_to?(:force_encoding)
106
107
  str.force_encoding('utf-8')
107
108
  out.force_encoding('binary')
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::MacroObject do
4
+ RSpec.describe YARD::CodeObjects::MacroObject do
4
5
  before do
5
6
  Registry.clear
6
7
  end
@@ -75,7 +76,7 @@ describe YARD::CodeObjects::MacroObject do
75
76
  end
76
77
 
77
78
  it "appends docstring to existing macro" do
78
- macro = MacroObject.create('name', '$3$2$1')
79
+ MacroObject.create('name', '$3$2$1')
79
80
  result = MacroObject.apply("@!macro name\nfoobar", args)
80
81
  expect(result).to eq "cba\nfoobar"
81
82
  end
@@ -95,7 +96,8 @@ describe YARD::CodeObjects::MacroObject do
95
96
 
96
97
  it "keeps other tags" do
97
98
  expect(apply("@!macro\n foo$1$2$3\n@param name foo\nfoo")).to eq(
98
- "fooabc\nfoo\n@param name\n foo")
99
+ "fooabc\nfoo\n@param name\n foo"
100
+ )
99
101
  end
100
102
  end
101
103
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::MethodObject do
4
+ RSpec.describe YARD::CodeObjects::MethodObject do
4
5
  before do
5
6
  Registry.clear
6
7
  @yard = ModuleObject.new(:root, :YARD)
@@ -35,11 +36,11 @@ describe YARD::CodeObjects::MethodObject do
35
36
  end
36
37
 
37
38
  it "exists in the registry after successful creation" do
38
- obj = MethodObject.new(@yard, :something, :class)
39
+ MethodObject.new(@yard, :something, :class)
39
40
  expect(Registry.at("YARD.something")).not_to be nil
40
41
  expect(Registry.at("YARD#something")).to be nil
41
42
  expect(Registry.at("YARD::something")).to be nil
42
- obj = MethodObject.new(@yard, :somethingelse)
43
+ MethodObject.new(@yard, :somethingelse)
43
44
  expect(Registry.at("YARD#somethingelse")).not_to be nil
44
45
  end
45
46
 
@@ -82,7 +83,7 @@ describe YARD::CodeObjects::MethodObject do
82
83
 
83
84
  it "never shows a prefix for a class method" do
84
85
  obj = MethodObject.new(nil, :something, :class)
85
- expect(obj.name).to eq :"something"
86
+ expect(obj.name).to eq :something
86
87
  expect(obj.name(true)).to eq "something"
87
88
  end
88
89
  end
@@ -104,7 +105,7 @@ describe YARD::CodeObjects::MethodObject do
104
105
  end
105
106
 
106
107
  it "returns nil if namespace is proxy" do
107
- obj = MethodObject.new(P(:ProxyClass), :foo)
108
+ MethodObject.new(P(:ProxyClass), :foo)
108
109
  expect(MethodObject.new(@yard, :foo).attr_info).to eq nil
109
110
  end
110
111
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::ModuleObject do
4
+ RSpec.describe YARD::CodeObjects::ModuleObject do
4
5
  describe "#meths" do
5
6
  before do
6
7
  Registry.clear
@@ -138,4 +139,4 @@ describe YARD::CodeObjects::ModuleObject do
138
139
  expect(recvmod.inheritance_tree(true)).to eq [recvmod, mod]
139
140
  end
140
141
  end
141
- end
142
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::NamespaceObject do
4
+ RSpec.describe YARD::CodeObjects::NamespaceObject do
4
5
  before { Registry.clear }
5
6
 
6
7
  describe "#child" do
@@ -59,9 +60,9 @@ describe YARD::CodeObjects::NamespaceObject do
59
60
  c = NamespaceObject.new(nil, :YARD)
60
61
  c.class_mixins << b
61
62
 
62
- [bmeth, bmeth2].each { |o| expect(o.scope).to eq :instance }
63
+ [bmeth, bmeth2].each {|o| expect(o.scope).to eq :instance }
63
64
  meths = c.included_meths(:scope => :class)
64
- meths.each { |o| expect(o.scope).to eq :class }
65
+ meths.each {|o| expect(o.scope).to eq :class }
65
66
  end
66
67
 
67
68
  it "does not list methods overridden by another included module" do
@@ -88,9 +89,9 @@ describe YARD::CodeObjects::NamespaceObject do
88
89
  describe "#class_attributes" do
89
90
  it "lists class attributes" do
90
91
  a = NamespaceObject.new(nil, :Mod)
91
- a.attributes[:instance][:a] = { :read => MethodObject.new(a, :a), :write => nil }
92
- a.attributes[:instance][:b] = { :read => MethodObject.new(a, :b), :write => nil }
93
- a.attributes[:class][:a] = { :read => MethodObject.new(a, :a, :class), :write => nil }
92
+ a.attributes[:instance][:a] = {:read => MethodObject.new(a, :a), :write => nil}
93
+ a.attributes[:instance][:b] = {:read => MethodObject.new(a, :b), :write => nil}
94
+ a.attributes[:class][:a] = {:read => MethodObject.new(a, :a, :class), :write => nil}
94
95
  expect(a.class_attributes.keys).to include(:a)
95
96
  expect(a.class_attributes.keys).not_to include(:b)
96
97
  end
@@ -99,9 +100,9 @@ describe YARD::CodeObjects::NamespaceObject do
99
100
  describe "#instance_attributes" do
100
101
  it "lists instance attributes" do
101
102
  a = NamespaceObject.new(nil, :Mod)
102
- a.attributes[:instance][:a] = { :read => MethodObject.new(a, :a), :write => nil }
103
- a.attributes[:instance][:b] = { :read => MethodObject.new(a, :b), :write => nil }
104
- a.attributes[:class][:a] = { :read => MethodObject.new(a, :a, :class), :write => nil }
103
+ a.attributes[:instance][:a] = {:read => MethodObject.new(a, :a), :write => nil}
104
+ a.attributes[:instance][:b] = {:read => MethodObject.new(a, :b), :write => nil}
105
+ a.attributes[:class][:a] = {:read => MethodObject.new(a, :a, :class), :write => nil}
105
106
  expect(a.instance_attributes.keys).to include(:a)
106
107
  expect(a.instance_attributes.keys).to include(:b)
107
108
  end
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::CodeObjects::Proxy do
4
+ RSpec.describe YARD::CodeObjects::Proxy do
4
5
  before { Registry.clear }
5
6
 
6
7
  it "returns the object if it's in the Registry" do
7
- pathobj = ModuleObject.new(:root, :YARD)
8
+ ModuleObject.new(:root, :YARD)
8
9
  proxyobj = P(:root, :YARD)
9
10
  expect(proxyobj.type).to eq :module
10
11
  expect(Proxy === proxyobj).to be false
@@ -12,7 +13,7 @@ describe YARD::CodeObjects::Proxy do
12
13
 
13
14
  it "handles complex string namespaces" do
14
15
  ModuleObject.new(:root, :A)
15
- pathobj = ModuleObject.new(P(nil, :A), :B)
16
+ ModuleObject.new(P(nil, :A), :B)
16
17
  expect(P(:root, "A::B")).to be_instance_of(ModuleObject)
17
18
  end
18
19
 
@@ -33,8 +34,8 @@ describe YARD::CodeObjects::Proxy do
33
34
  end
34
35
 
35
36
  it "responds to respond_to?" do
36
- obj = ClassObject.new(:root, :Object)
37
- yardobj = ModuleObject.new(:root, :YARD)
37
+ ClassObject.new(:root, :Object)
38
+ ModuleObject.new(:root, :YARD)
38
39
  expect(P(:YARD).respond_to?(:children)).to be true
39
40
  expect(P(:NOTYARD).respond_to?(:children)).to be false
40
41
 
@@ -51,7 +52,7 @@ describe YARD::CodeObjects::Proxy do
51
52
  end
52
53
 
53
54
  it "pretends it's the object's type if it can resolve" do
54
- pathobj = ModuleObject.new(:root, :YARD)
55
+ ModuleObject.new(:root, :YARD)
55
56
  proxyobj = P(:root, :YARD)
56
57
  expect(proxyobj).to be_instance_of(ModuleObject)
57
58
  end
@@ -117,14 +118,14 @@ describe YARD::CodeObjects::Proxy do
117
118
  it "ensures that the correct object was resolved" do
118
119
  foo = ModuleObject.new(:root, :Foo)
119
120
  foobar = ModuleObject.new(foo, :Bar)
120
- foobaz = ClassObject.new(foo, :Baz)
121
+ ClassObject.new(foo, :Baz)
121
122
 
122
123
  # Remember, we're looking for Qux::Bar, not just 'Bar'
123
124
  proxy = Proxy.new(foobar, 'Foo::Qux::Bar')
124
125
  expect(proxy.type).to eq :proxy
125
126
 
126
127
  qux = ModuleObject.new(foo, :Qux)
127
- quxbar = ModuleObject.new(qux, :Bar)
128
+ ModuleObject.new(qux, :Bar)
128
129
 
129
130
  # Now it should resolve
130
131
  expect(proxy.type).to eq :module
@@ -1,3 +1,3 @@
1
- require File.join(File.dirname(__FILE__), "..", "spec_helper")
1
+ # frozen_string_literal: true
2
2
 
3
- include CodeObjects
3
+ include CodeObjects
data/spec/config_spec.rb CHANGED
@@ -1,8 +1,7 @@
1
- require File.join(File.dirname(__FILE__), "spec_helper")
2
-
1
+ # frozen_string_literal: true
3
2
  require 'yaml'
4
3
 
5
- describe YARD::Config do
4
+ RSpec.describe YARD::Config do
6
5
  describe ".load" do
7
6
  before do
8
7
  expect(File).to receive(:file?).twice.with(CLI::Yardoc::DEFAULT_YARDOPTS_FILE).and_return(false)
@@ -18,7 +17,7 @@ describe YARD::Config do
18
17
  it "overwrites options with data in ~/.yard/config" do
19
18
  expect(File).to receive(:file?).with(YARD::Config::CONFIG_FILE).and_return(true)
20
19
  expect(File).to receive(:file?).with(YARD::Config::IGNORED_PLUGINS).and_return(false)
21
- expect(YAML).to receive(:load_file).with(YARD::Config::CONFIG_FILE).and_return({'test' => true})
20
+ expect(YAML).to receive(:load_file).with(YARD::Config::CONFIG_FILE).and_return('test' => true)
22
21
  YARD::Config.load
23
22
  expect(YARD::Config.options[:test]).to be true
24
23
  end
@@ -81,7 +80,7 @@ describe YARD::Config do
81
80
 
82
81
  it "logs error if plugin is not found" do
83
82
  expect(YARD::Config).to receive(:require).with('yard-foo').and_raise(LoadError)
84
- expect(log).to receive(:warn).with(/Error loading plugin 'yard-foo'/).once
83
+ expect(log).to receive(:error).with(/Error loading plugin 'yard-foo'/).once
85
84
  expect(YARD::Config.load_plugin('yard-foo')).to be false
86
85
  end
87
86
 
@@ -142,15 +141,13 @@ describe YARD::Config do
142
141
  'yard_plugin' => double('yard_plugin'),
143
142
  'yard-plugin' => double('yard-plugin'),
144
143
  'my-yard-plugin' => double('yard-plugin'),
145
- 'rspec' => double('rspec'),
144
+ 'rspec' => double('rspec')
146
145
  }
147
146
  plugins.each do |k, v|
148
147
  expect(v).to receive(:name).at_least(1).times.and_return(k)
149
148
  end
150
149
 
151
- source_mock = double(:source_index)
152
- expect(source_mock).to receive(:find_name).with('').and_return(plugins.values)
153
- expect(Gem).to receive(:source_index).and_return(source_mock)
150
+ expect(YARD::GemIndex).to receive(:find_all_by_name).with('').and_return(plugins.values)
154
151
  expect(YARD::Config).to receive(:load_plugin).with('yard_plugin').and_return(false)
155
152
  expect(YARD::Config).to receive(:load_plugin).with('yard-plugin').and_return(true)
156
153
  expect(YARD::Config.load_plugins).to be true
@@ -165,12 +162,10 @@ describe YARD::Config do
165
162
  expect(v).to receive(:name).at_least(1).times.and_return(k)
166
163
  end
167
164
 
168
- source_mock = double(:source_index)
169
- expect(source_mock).to receive(:find_name).with('').and_return(plugins.values)
170
- expect(Gem).to receive(:source_index).and_return(source_mock)
165
+ expect(YARD::GemIndex).to receive(:find_all_by_name).with('').and_return(plugins.values)
171
166
  expect(YARD::Config).to receive(:load_plugin).with('yard-plugin').and_raise(Gem::LoadError)
172
- expect(log).to receive(:warn).with(/Error loading plugin 'yard-plugin'/)
167
+ expect(log).to receive(:error).with(/Error loading plugin 'yard-plugin'/)
173
168
  expect(YARD::Config.load_plugins).to be false
174
169
  end
175
170
  end
176
- end
171
+ end
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe Array do
3
+ RSpec.describe Array do
4
4
  describe "#place" do
5
5
  it "creates an Insertion object" do
6
6
  expect([].place('x')).to be_kind_of(Insertion)
@@ -11,4 +11,3 @@ describe Array do
11
11
  end
12
12
  end
13
13
  end
14
-
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe File do
3
+ RSpec.describe File do
4
4
  describe ".relative_path" do
5
5
  it "returns the relative path between two files" do
6
6
  expect(File.relative_path('a/b/c/d.html', 'a/b/d/q.html')).to eq '../d/q.html'
@@ -65,4 +65,4 @@ describe File do
65
65
  File.open!('/path/to/file', 'w')
66
66
  end
67
67
  end
68
- end
68
+ end
@@ -1,14 +1,14 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe Hash do
3
+ RSpec.describe Hash do
4
4
  describe ".[]" do
5
5
  it "accepts an Array argument (Ruby 1.8.6 and older)" do
6
6
  list = [['foo', 'bar'], ['foo2', 'bar2']]
7
- expect(Hash[list]).to eq({'foo' => 'bar', 'foo2' => 'bar2'})
7
+ expect(Hash[list]).to eq('foo' => 'bar', 'foo2' => 'bar2')
8
8
  end
9
9
 
10
10
  it "accepts an array as a key" do
11
- expect(Hash[['a', 'b'], 1]).to eq({['a', 'b'] => 1})
11
+ expect(Hash[['a', 'b'], 1]).to eq(['a', 'b'] => 1)
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe Insertion do
3
+ RSpec.describe Insertion do
4
4
  describe "#before" do
5
5
  it "places an object before another" do
6
6
  expect([1, 2].place(3).before(2)).to eq [1, 3, 2]
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe Module do
3
+ RSpec.describe Module do
4
4
  describe "#class_name" do
5
5
  it "returns just the name of the class/module" do
6
6
  expect(YARD::CodeObjects::Base.class_name).to eq "Base"
@@ -12,4 +12,4 @@ describe Module do
12
12
  expect(YARD::CodeObjects::Base.namespace_name).to eq "YARD::CodeObjects"
13
13
  end
14
14
  end
15
- end
15
+ end
@@ -1,9 +1,9 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- #described_in_docs String, '#camelcase'
4
- #described_in_docs String, '#underscore'
3
+ # described_in_docs String, '#camelcase'
4
+ # described_in_docs String, '#underscore'
5
5
 
6
- describe String do
6
+ RSpec.describe String do
7
7
  describe "#shell_split" do
8
8
  it "splits simple non-quoted text" do
9
9
  expect("a b c".shell_split).to eq %w(a b c)
@@ -39,4 +39,4 @@ describe String do
39
39
  expect(text.shell_split).to eq ["hello", "\"world", "1 2\" 3", "a", "b \"\\'", "c"]
40
40
  end
41
41
  end
42
- end
42
+ end