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,6 @@
1
- require File.join(File.dirname(__FILE__), "spec_helper")
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::RegistryStore do
3
+ RSpec.describe YARD::RegistryStore do
4
4
  before do
5
5
  FileUtils.rm_rf("foo")
6
6
  @store = RegistryStore.new
@@ -16,7 +16,7 @@ describe YARD::RegistryStore do
16
16
  expect(File).to receive(:file?).with('foo/checksums').and_return(false)
17
17
  expect(File).to receive(:file?).with('foo/proxy_types').and_return(false)
18
18
  expect(File).to receive(:file?).with('foo/object_types').and_return(false)
19
- expect(@serializer).to receive(:deserialize).with('root').and_return({:root => @foo, :A => @bar})
19
+ expect(@serializer).to receive(:deserialize).with('root').and_return(:root => @foo, :A => @bar)
20
20
  expect(@store.load('foo')).to be true
21
21
  expect(@store.root).to eq @foo
22
22
  expect(@store.get('A')).to eq @bar
@@ -75,7 +75,7 @@ describe YARD::RegistryStore do
75
75
  'file1 CHECKSUM1', ' file2 CHECKSUM2 '
76
76
  ])
77
77
  expect(@store.load('foo')).to be true
78
- expect(@store.checksums).to eq({'file1' => 'CHECKSUM1', 'file2' => 'CHECKSUM2'})
78
+ expect(@store.checksums).to eq('file1' => 'CHECKSUM1', 'file2' => 'CHECKSUM2')
79
79
  end
80
80
 
81
81
  it "loads proxy_types if they exist" do
@@ -84,9 +84,9 @@ describe YARD::RegistryStore do
84
84
  expect(File).to receive(:file?).with('foo/proxy_types').and_return(true)
85
85
  expect(File).to receive(:file?).with('foo/object_types').and_return(false)
86
86
  expect(File).to receive(:file?).with('foo/objects/root.dat').and_return(false)
87
- expect(File).to receive(:read_binary).with('foo/proxy_types').and_return(Marshal.dump({'a' => 'b'}))
87
+ expect(File).to receive(:read_binary).with('foo/proxy_types').and_return(Marshal.dump('a' => 'b'))
88
88
  expect(@store.load('foo')).to be true
89
- expect(@store.proxy_types).to eq({'a' => 'b'})
89
+ expect(@store.proxy_types).to eq('a' => 'b')
90
90
  end
91
91
 
92
92
  it "loads root object if it exists" do
@@ -215,7 +215,7 @@ describe YARD::RegistryStore do
215
215
  expect(File).to receive(:file?).with('foo/checksums').and_return(false)
216
216
  expect(File).to receive(:file?).with('foo/proxy_types').and_return(false)
217
217
  expect(File).to receive(:file?).with('foo/object_types').and_return(false)
218
- expect(@serializer).to receive(:deserialize).with('root').and_return({:'A#foo' => @foo, :A => @bar})
218
+ expect(@serializer).to receive(:deserialize).with('root').and_return(:'A#foo' => @foo, :A => @bar)
219
219
  @store.load('foo')
220
220
  expect(@store.paths_for_type(:method)).to eq ['#foo']
221
221
  expect(@store.paths_for_type(:class)).to eq ['Bar']
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
  require File.join(YARD::ROOT, 'rubygems_plugin')
3
3
  require 'fileutils'
4
4
 
5
- describe Gem::DocManager do
5
+ RSpec.describe Gem::DocManager do
6
6
  before do
7
7
  # Ensure filesystem integrity
8
8
  allow(FileUtils).to receive(:mkdir_p)
File without changes
File without changes
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  require File.join(File.dirname(__FILE__), "spec_helper")
2
3
 
3
4
  require 'stringio'
4
5
 
5
- describe YARD::Serializers::FileSystemSerializer do
6
+ RSpec.describe YARD::Serializers::FileSystemSerializer do
6
7
  before do
7
8
  allow(FileUtils).to receive(:mkdir_p)
8
9
  allow(File).to receive(:open)
@@ -43,7 +44,7 @@ describe YARD::Serializers::FileSystemSerializer do
43
44
  m = CodeObjects::MethodObject.new(nil, 'a')
44
45
  s = Serializers::FileSystemSerializer.new
45
46
 
46
- { :gsub! => 'gsub_21_i.html',
47
+ {:gsub! => 'gsub_21_i.html',
47
48
  :ask? => 'ask_3F_i.html',
48
49
  :=== => '_3D_3D_3D_i.html',
49
50
  :+ => '_2B_i.html',
@@ -56,8 +57,7 @@ describe YARD::Serializers::FileSystemSerializer do
56
57
  :* => '_2A_i.html',
57
58
  :| => '_7C_i.html',
58
59
  :/ => '_2F_i.html',
59
- :=~ => '_3D_7E_i.html'
60
- }.each do |meth, value|
60
+ :=~ => '_3D_7E_i.html'}.each do |meth, value|
61
61
  allow(m).to receive(:name).and_return(meth)
62
62
  expect(s.serialized_path(m)).to eq value
63
63
  end
@@ -95,7 +95,8 @@ describe YARD::Serializers::FileSystemSerializer do
95
95
  o2 = CodeObjects::ClassObject.new(:root, "Ab")
96
96
  s = Serializers::FileSystemSerializer.new
97
97
  expect([["AB_.html", "Ab.html"], ["AB.html", "Ab_.html"]]).to include(
98
- [s.serialized_path(o1), s.serialized_path(o2)])
98
+ [s.serialized_path(o1), s.serialized_path(o2)]
99
+ )
99
100
  end
100
101
 
101
102
  it "handles case sensitivity of nested paths for objects with matching names" do
@@ -117,9 +118,9 @@ describe YARD::Serializers::FileSystemSerializer do
117
118
  meth = CodeObjects::MethodObject.new(yard, :baz, :class)
118
119
  meth2 = CodeObjects::MethodObject.new(yard, :baz)
119
120
 
120
- { 'foo/FooBar/baz_c.txt' => meth,
121
+ {'foo/FooBar/baz_c.txt' => meth,
121
122
  'foo/FooBar/baz_i.txt' => meth2,
122
- 'foo/FooBar.txt' => yard }.each do |path, obj|
123
+ 'foo/FooBar.txt' => yard}.each do |path, obj|
123
124
  io = StringIO.new
124
125
  expect(File).to receive(:open).with(path, 'wb').and_yield(io)
125
126
  expect(io).to receive(:write).with("data")
@@ -1,2 +1,2 @@
1
- require File.join(File.dirname(__FILE__), "..", "spec_helper")
2
- include YARD
1
+ # frozen_string_literal: true
2
+ include YARD
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + "/spec_helper"
2
3
 
3
4
  instance_eval do
@@ -7,7 +8,7 @@ instance_eval do
7
8
  end
8
9
  end
9
10
 
10
- describe YARD::Serializers::YardocSerializer do
11
+ RSpec.describe YARD::Serializers::YardocSerializer do
11
12
  before do
12
13
  @serializer = YARD::Serializers::YardocSerializer.new('.yardoc')
13
14
 
@@ -28,8 +29,8 @@ describe YARD::Serializers::YardocSerializer do
28
29
 
29
30
  it "maintains hash key equality when loading a dumped object" do
30
31
  newfoo = @serializer.internal_dump(@foo)
31
- expect({@foo => 1}).to have_key(newfoo)
32
- expect({newfoo => 1}).to have_key(@foo)
32
+ expect(@foo => 1).to have_key(newfoo)
33
+ expect(newfoo => 1).to have_key(@foo)
33
34
  end
34
35
  end
35
36
 
@@ -74,4 +75,4 @@ describe YARD::Serializers::YardocSerializer do
74
75
  expect(@serializer.complete?).to eq true
75
76
  end
76
77
  end
77
- end
78
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::Server::Adapter do
4
+ RSpec.describe YARD::Server::Adapter do
4
5
  after(:all) { Server::Adapter.shutdown }
5
6
 
6
7
  describe "#add_library" do
@@ -35,4 +36,4 @@ describe YARD::Server::Adapter do
35
36
  expect(Templates::Engine.template_paths).not_to include(YARD::ROOT + '/yard/server/templates')
36
37
  end
37
38
  end
38
- end
39
+ end
@@ -1,14 +1,17 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
3
  class MyProcCommand < Base
4
- def initialize(&block) self.class.send(:define_method, :run, &block) end
4
+ def initialize(&block)
5
+ self.class.send(:undef_method, :run)
6
+ self.class.send(:define_method, :run, &block)
7
+ end
5
8
  end
6
9
 
7
10
  class MyCacheCommand < Base
8
11
  def run; cache 'foo' end
9
12
  end
10
13
 
11
- describe YARD::Server::Commands::Base do
14
+ RSpec.describe YARD::Server::Commands::Base do
12
15
  describe "#cache" do
13
16
  before do
14
17
  @command = MyCacheCommand.new(:adapter => mock_adapter, :caching => true)
@@ -39,48 +42,49 @@ describe YARD::Server::Commands::Base do
39
42
  it "returns a valid redirection" do
40
43
  cmd = MyProcCommand.new { redirect '/foo' }
41
44
  expect(cmd.call(mock_request('/foo'))).to eq(
42
- [302, {"Content-Type" => "text/html", "Location" => "/foo"}, [""]])
45
+ [302, {"Content-Type" => "text/html", "Location" => "/foo"}, [""]]
46
+ )
43
47
  end
44
48
  end
45
49
 
46
50
  describe "#call" do
47
51
  it "handles a NotFoundError and use message as body" do
48
52
  cmd = MyProcCommand.new { raise NotFoundError, "hello world" }
49
- s, h, b = *cmd.call(mock_request('/foo'))
53
+ s, _, b = *cmd.call(mock_request('/foo'))
50
54
  expect(s).to eq 404
51
55
  expect(b).to eq ["hello world"]
52
56
  end
53
57
 
54
58
  it "does not use message as body if not provided in NotFoundError" do
55
59
  cmd = MyProcCommand.new { raise NotFoundError }
56
- s, h, b = *cmd.call(mock_request('/foo'))
60
+ s, _, b = *cmd.call(mock_request('/foo'))
57
61
  expect(s).to eq 404
58
62
  expect(b).to eq ["Not found: /foo"]
59
63
  end
60
64
 
61
65
  it "handles 404 status code from #run" do
62
66
  cmd = MyProcCommand.new { self.status = 404 }
63
- s, h, b = *cmd.call(mock_request('/foo'))
67
+ s, _, b = *cmd.call(mock_request('/foo'))
64
68
  expect(s).to eq 404
65
69
  expect(b).to eq ["Not found: /foo"]
66
70
  end
67
71
 
68
72
  it "does not override body if status is 404 and body is defined" do
69
73
  cmd = MyProcCommand.new { self.body = "foo"; self.status = 404 }
70
- s, h, b = *cmd.call(mock_request('/bar'))
74
+ s, _, b = *cmd.call(mock_request('/bar'))
71
75
  expect(s).to eq 404
72
76
  expect(b).to eq ['foo']
73
77
  end
74
78
 
75
79
  it "handles body as Array" do
76
80
  cmd = MyProcCommand.new { self.body = ['a', 'b', 'c'] }
77
- s, h, b = *cmd.call(mock_request('/foo'))
81
+ _, _, b = *cmd.call(mock_request('/foo'))
78
82
  expect(b).to eq %w(a b c)
79
83
  end
80
84
 
81
85
  it "allows headers to be defined" do
82
- cmd = MyProcCommand.new { self.headers['Foo'] = 'BAR' }
83
- s, h, b = *cmd.call(mock_request('/foo'))
86
+ cmd = MyProcCommand.new { headers['Foo'] = 'BAR' }
87
+ _, h, = *cmd.call(mock_request('/foo'))
84
88
  expect(h['Foo']).to eq 'BAR'
85
89
  end
86
90
  end
@@ -1,7 +1,7 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
  require 'ostruct'
3
3
 
4
- describe YARD::Server::Commands::LibraryCommand do
4
+ RSpec.describe YARD::Server::Commands::LibraryCommand do
5
5
  before do
6
6
  allow(Templates::Engine).to receive(:render)
7
7
  allow(Templates::Engine).to receive(:generate)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + "/spec_helper"
2
3
 
3
4
  class MyDocServerSerializerRouter
@@ -26,7 +27,7 @@ class MockDocServerHelper
26
27
  def options; OpenStruct.new end
27
28
  end
28
29
 
29
- describe YARD::Server::DocServerHelper do
30
+ RSpec.describe YARD::Server::DocServerHelper do
30
31
  before do
31
32
  @helper = MockDocServerHelper.new
32
33
  end
@@ -44,7 +45,7 @@ describe YARD::Server::DocServerHelper do
44
45
  end
45
46
 
46
47
  it "uses script name prefix if set" do
47
- @helper.adapter.router.request.script_name = '/mount/point'
48
+ @helper.adapter.router.request.script_name = '/mount/point'
48
49
  @helper.library = LibraryVersion.new('foo', 'bar')
49
50
  @helper.adapter.router.request.version_supplied = true
50
51
  expect(@helper.url_for(P('A'))).to eq '/mount/point/PREFIX/foo/bar/A'
@@ -63,7 +64,7 @@ describe YARD::Server::DocServerHelper do
63
64
  end
64
65
 
65
66
  it "uses script name prefix if set" do
66
- @helper.adapter.router.request.script_name = '/mount/point'
67
+ @helper.adapter.router.request.script_name = '/mount/point'
67
68
  file = CodeObjects::ExtraFileObject.new('a/b/FooBar.md', '')
68
69
  expect(@helper.url_for_file(file)).to eq '/mount/point/PREFIX/foo/file/a/b/FooBar.md'
69
70
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::Server::DocServerSerializer do
4
+ RSpec.describe YARD::Server::DocServerSerializer do
4
5
  describe "#serialized_path" do
5
6
  before do
6
7
  Registry.clear
@@ -56,4 +57,4 @@ describe YARD::Server::DocServerSerializer do
56
57
  end
57
58
  end if defined?(::Encoding)
58
59
  end
59
- end
60
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + "/spec_helper"
2
3
 
3
- describe "YARD::Server::RackMiddleware" do
4
+ RSpec.describe "YARD::Server::RackMiddleware" do
4
5
  before do
5
6
  begin; require 'rack'; rescue LoadError; pending "rack required for these tests" end
6
7
  @superapp = double(:superapp)
@@ -17,4 +18,4 @@ describe "YARD::Server::RackMiddleware" do
17
18
  expect(@superapp).to receive(:call).and_return([200, {}, ['OK']])
18
19
  expect(@app.call(Rack::MockRequest.env_for('/INVALID'))).to eq [200, {}, ['OK']]
19
20
  end
20
- end
21
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
4
  class MyRouterSpecRouter < Router
@@ -8,7 +9,7 @@ class MyRouterSpecRouter < Router
8
9
  def check_static_cache; nil end
9
10
  end
10
11
 
11
- describe YARD::Server::Router do
12
+ RSpec.describe YARD::Server::Router do
12
13
  before do
13
14
  @adapter = mock_adapter
14
15
  @projects = @adapter.libraries['project']
@@ -55,7 +56,7 @@ describe YARD::Server::Router do
55
56
  expect(command).to receive(:new) do |*args|
56
57
  @command = command.allocate
57
58
  @command.send(:initialize, *args)
58
- class << @command; def call(req); self end end
59
+ class << @command; define_method(:call) {|*| self } end
59
60
  @command
60
61
  end
61
62
  router.call(req)
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/../spec_helper"
1
+ # frozen_string_literal: true
2
2
  require 'ostruct'
3
3
 
4
4
  include Server
@@ -17,6 +17,6 @@ class MockRequest < OpenStruct
17
17
  end
18
18
 
19
19
  def mock_request(path_info = '/', script_name = '', extra_env = {})
20
- opts = { :path_info => path_info, :script_name => script_name }
20
+ opts = {:path_info => path_info, :script_name => script_name}
21
21
  MockRequest.new(extra_env.merge(opts))
22
22
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::Server::StaticCaching do
4
+ RSpec.describe YARD::Server::StaticCaching do
4
5
  include StaticCaching
5
6
 
6
7
  describe "#check_static_cache" do
@@ -16,7 +17,7 @@ describe YARD::Server::StaticCaching do
16
17
  request.path_info = '/hello/world.html'
17
18
  expect(File).to receive(:file?).with('/public/hello/world.html').and_return(true)
18
19
  expect(File).to receive(:open).with('/public/hello/world.html', anything).and_return('body')
19
- s, h, b = *check_static_cache
20
+ s, _, b = *check_static_cache
20
21
  expect(s).to eq 200
21
22
  expect(b).to eq ["body"]
22
23
  end
@@ -25,7 +26,7 @@ describe YARD::Server::StaticCaching do
25
26
  request.path_info = '/hello/world'
26
27
  expect(File).to receive(:file?).with('/public/hello/world.html').and_return(true)
27
28
  expect(File).to receive(:open).with('/public/hello/world.html', anything).and_return('body')
28
- s, h, b = *check_static_cache
29
+ s, _, b = *check_static_cache
29
30
  expect(s).to eq 200
30
31
  expect(b).to eq ["body"]
31
32
  end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  require File.dirname(__FILE__) + '/spec_helper'
2
3
 
3
- describe YARD::Server::WebrickServlet do
4
+ RSpec.describe YARD::Server::WebrickServlet do
4
5
  describe "#do_GET" do
5
6
  it "performs a GET" do
6
7
  resp = OpenStruct.new
@@ -9,11 +10,11 @@ describe YARD::Server::WebrickServlet do
9
10
  end
10
11
  server = double(:server, :[] => nil)
11
12
  adapter = mock_adapter
12
- adapter.router = proc { [200, {'Header' => 'foo'}, ['body']]}
13
+ adapter.router = proc { [200, {'Header' => 'foo'}, ['body']] }
13
14
  WebrickServlet.new(server, adapter).do_GET(mock_request('/foo'), resp)
14
15
  expect(resp.status).to eq 200
15
- expect(resp.headers).to eq({'Header' => 'foo'})
16
+ expect(resp.headers).to eq('Header' => 'foo')
16
17
  expect(resp.body).to eq 'body'
17
18
  end
18
19
  end
19
- end
20
+ end
data/spec/server_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Server do
3
+ RSpec.describe YARD::Server do
4
4
  describe ".register_static_path" do
5
5
  it "registers a static path" do
6
6
  YARD::Server.register_static_path 'foo'
@@ -16,4 +16,4 @@ describe YARD::Server do
16
16
  expect(paths.last).to eq 'foo2'
17
17
  end
18
18
  end
19
- end
19
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "rubygems"
2
3
  begin
3
4
  require "rspec"
@@ -6,28 +7,15 @@ rescue LoadError
6
7
  end
7
8
 
8
9
  begin
9
- require 'bundler'
10
- Bundler.setup
10
+ require 'bundler/setup'
11
11
  rescue LoadError
12
+ nil # noop
12
13
  end
13
14
 
14
- begin
15
- require 'simplecov'
16
- SimpleCov.start
17
- # TODO: hide some rb files from cov report
18
- # hide = '_spec\.rb$,spec_helper\.rb$,ruby_lex\.rb$,autoload\.rb$'
19
- # if YARD::Parser::SourceParser.parser_type == :ruby
20
- # hide += ',legacy\/.+_handler'
21
- # else
22
- # hide += ',ruby_parser\.rb$,ast_node\.rb$,handlers\/ruby\/[^\/]+\.rb$'
23
- # end
24
- rescue LoadError
25
- end if ENV['COVERAGE']
26
-
27
15
  require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'yard'))
28
16
 
29
17
  unless defined?(HAVE_RIPPER)
30
- begin require 'ripper'; rescue LoadError; end
18
+ begin require 'ripper'; rescue LoadError; nil end
31
19
  HAVE_RIPPER = defined?(::Ripper) && !ENV['LEGACY'] ? true : false
32
20
  LEGACY_PARSER = !HAVE_RIPPER
33
21
 
@@ -36,6 +24,11 @@ unless defined?(HAVE_RIPPER)
36
24
  end if ENV['LEGACY']
37
25
  end
38
26
 
27
+ begin
28
+ require 'coveralls'
29
+ Coveralls.wear!
30
+ end if ENV['CI'] && HAVE_RIPPER
31
+
39
32
  NAMED_OPTIONAL_ARGUMENTS = RUBY_VERSION >= '2.1.0'
40
33
 
41
34
  def parse_file(file, thisfile = __FILE__, log_level = log.level, ext = '.rb.txt')
@@ -53,14 +46,14 @@ def described_in_docs(klass, meth, file = nil)
53
46
  YARD::Parser::SourceParser.new.parse(filename)
54
47
  else
55
48
  underscore = klass.class_name.gsub(/([a-z])([A-Z])/, '\1_\2').downcase.gsub('::', '/')
56
- $".find_all {|p| p.include? underscore }.each do |filename|
57
- next unless File.exist? filename
58
- YARD::Parser::SourceParser.new.parse(filename)
49
+ $LOADED_FEATURES.find_all {|p| p.include? underscore }.each do |found_fname|
50
+ next unless File.exist? found_fname
51
+ YARD::Parser::SourceParser.new.parse(found_fname)
59
52
  end
60
53
  end
61
54
 
62
55
  # Get the object
63
- objname = klass.name + (meth[0,1] == '#' ? meth : '::' + meth)
56
+ objname = klass.name + (meth[0, 1] == '#' ? meth : '::' + meth)
64
57
  obj = Registry.at(objname)
65
58
  raise "Cannot find object #{objname} described by spec." unless obj
66
59
  raise "#{obj.path} has no @it tags to spec." unless obj.has_tag? :it
@@ -84,7 +77,7 @@ end
84
77
  def docspec(objname = self.class.description, klass = self.class.described_type)
85
78
  # Parse the file (could be multiple files)
86
79
  underscore = klass.class_name.gsub(/([a-z])([A-Z])/, '\1_\2').downcase.gsub('::', '/')
87
- $".find_all {|p| p.include? underscore }.each do |filename|
80
+ $LOADED_FEATURES.find_all {|p| p.include? underscore }.each do |filename|
88
81
  filename = File.join(YARD::ROOT, filename)
89
82
  next unless File.exist? filename
90
83
  YARD::Parser::SourceParser.new.parse(filename)
@@ -134,6 +127,86 @@ RSpec.configure do |config|
134
127
  example.run
135
128
  log.level = saved_level
136
129
  end
130
+
131
+ # rspec-expectations config goes here. You can use an alternate
132
+ # assertion/expectation library such as wrong or the stdlib/minitest
133
+ # assertions if you prefer.
134
+ config.expect_with :rspec do |expectations|
135
+ # This option will default to `true` in RSpec 4. It makes the `description`
136
+ # and `failure_message` of custom matchers include text for helper methods
137
+ # defined using `chain`, e.g.:
138
+ # be_bigger_than(2).and_smaller_than(4).description
139
+ # # => "be bigger than 2 and smaller than 4"
140
+ # ...rather than:
141
+ # # => "be bigger than 2"
142
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
143
+ end
144
+
145
+ # rspec-mocks config goes here. You can use an alternate test double
146
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
147
+ config.mock_with :rspec do |mocks|
148
+ # Prevents you from mocking or stubbing a method that does not exist on
149
+ # a real object. This is generally recommended, and will default to
150
+ # `true` in RSpec 4.
151
+ # mocks.verify_partial_doubles = true # FIXME: Not yet working
152
+ end
153
+
154
+ # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
155
+ # have no way to turn it off -- the option exists only for backwards
156
+ # compatibility in RSpec 3). It causes shared context metadata to be
157
+ # inherited by the metadata hash of host groups and examples, rather than
158
+ # triggering implicit auto-inclusion in groups with matching metadata.
159
+ config.shared_context_metadata_behavior = :apply_to_host_groups
160
+
161
+ # This allows you to limit a spec run to individual examples or groups
162
+ # you care about by tagging them with `:focus` metadata. When nothing
163
+ # is tagged with `:focus`, all examples get run. RSpec also provides
164
+ # aliases for `it`, `describe`, and `context` that include `:focus`
165
+ # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
166
+ config.filter_run_when_matching :focus
167
+
168
+ # Allows RSpec to persist some state between runs in order to support
169
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
170
+ # you configure your source control system to ignore this file.
171
+ config.example_status_persistence_file_path = "spec/examples.txt"
172
+
173
+ # Limits the available syntax to the non-monkey patched syntax that is
174
+ # recommended. For more details, see:
175
+ # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
176
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
177
+ # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
178
+ config.disable_monkey_patching!
179
+
180
+ # This setting enables warnings. It's recommended, but in some cases may
181
+ # be too noisy due to issues in dependencies.
182
+ config.warnings = false
183
+
184
+ # Many RSpec users commonly either run the entire suite or an individual
185
+ # file, and it's useful to allow more verbose output when running an
186
+ # individual spec file.
187
+ if config.files_to_run.one?
188
+ # Use the documentation formatter for detailed output,
189
+ # unless a formatter has already been configured
190
+ # (e.g. via a command-line flag).
191
+ config.default_formatter = 'doc'
192
+ end
193
+
194
+ # Print the N slowest examples and example groups at the
195
+ # end of the spec run, to help surface which specs are running
196
+ # particularly slow.
197
+ config.profile_examples = 5
198
+
199
+ # Run specs in random order to surface order dependencies. If you find an
200
+ # order dependency and want to debug it, you can fix the order by providing
201
+ # the seed, which is printed after each run.
202
+ # --seed 1234
203
+ # config.order = :random # FIXME: Not yet working
204
+
205
+ # Seed global randomization in this process using the `--seed` CLI option.
206
+ # Setting this allows you to use `--seed` to deterministically reproduce
207
+ # test failures related to randomization by passing the same `--seed` value
208
+ # as the one that triggered the failure.
209
+ Kernel.srand config.seed
137
210
  end
138
211
 
139
212
  include YARD