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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,108 @@
1
+ <h1>Method: #m</h1>
2
+ <div class="box_info">
3
+ <dl>
4
+ <dt class="">Defined in:</dt>
5
+ <dd class="">
6
+ (stdin)
7
+ </dd>
8
+ </dl>
9
+ </div>
10
+
11
+ <div class="method_details_list">
12
+ <div id="method_details">
13
+ <div class="method_details first">
14
+ <h3 class="signature first" id="m-instance_method">
15
+
16
+ #<strong>m</strong>(x, y, *args, kword1: 123, kword2:)
17
+
18
+
19
+
20
+
21
+
22
+ </h3><div class="docstring">
23
+ <div class="discussion">
24
+
25
+
26
+ </div>
27
+ </div>
28
+ <div class="tags">
29
+ <p class="tag_title">Parameters:</p>
30
+ <ul class="param">
31
+
32
+ <li>
33
+
34
+ <span class='name'>x</span>
35
+
36
+
37
+ <span class='type'>(<tt>String</tt>)</span>
38
+
39
+
40
+
41
+ &mdash;
42
+ <div class='inline'>the x argument</div>
43
+
44
+ </li>
45
+
46
+ <li>
47
+
48
+ <span class='name'>y</span>
49
+
50
+
51
+ <span class='type'>(<tt>Boolean</tt>)</span>
52
+
53
+
54
+
55
+ &mdash;
56
+ <div class='inline'>the y argument</div>
57
+
58
+ </li>
59
+
60
+ <li>
61
+
62
+ <span class='name'>keyword</span>
63
+
64
+
65
+ <span class='type'>(<tt>kword1</tt>)</span>
66
+
67
+
68
+
69
+ &mdash;
70
+ <div class='inline'>1</div>
71
+
72
+ </li>
73
+
74
+ <li>
75
+
76
+ <span class='name'>keyword</span>
77
+
78
+
79
+ <span class='type'>(<tt>kword2</tt>)</span>
80
+
81
+
82
+
83
+ &mdash;
84
+ <div class='inline'>2</div>
85
+
86
+ </li>
87
+
88
+ </ul>
89
+
90
+
91
+ </div><table class="source_code">
92
+ <tr>
93
+ <td>
94
+ <pre class="lines">
95
+
96
+
97
+ 5</pre>
98
+ </td>
99
+ <td>
100
+ <pre class="code"><span class="info file"># File '(stdin)', line 5</span>
101
+
102
+ def m(x, y, *args, kword1: 123, kword2:, **) end</pre>
103
+ </td>
104
+ </tr>
105
+ </table>
106
+ </div>
107
+ </div>
108
+ </div>
@@ -0,0 +1,20 @@
1
+ ------------------------------------------------------------- Method: #m
2
+ (Defined in: (stdin))
3
+
4
+ root.m(x, y, *args, kword1: 123, kword2:)
5
+ ------------------------------------------------------------------------
6
+
7
+
8
+ Parameters:
9
+ -----------
10
+
11
+ (String) x - the x argument
12
+
13
+ (Boolean) y - the y argument
14
+
15
+ (kword1) keyword - 1
16
+
17
+ (kword2) keyword - 2
18
+
19
+
20
+
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- describe YARD::Templates::Helpers::BaseHelper do
3
+ RSpec.describe YARD::Templates::Helpers::BaseHelper do
4
4
  include YARD::Templates::Helpers::BaseHelper
5
5
 
6
6
  describe "#run_verifier" do
@@ -97,7 +97,7 @@ describe YARD::Templates::Helpers::BaseHelper do
97
97
 
98
98
  it "passes off to #link_url if argument is recognized as a URL" do
99
99
  url = "http://yardoc.org/"
100
- expect(self).to receive(:link_url).with(url, nil, {:target => '_parent'})
100
+ expect(self).to receive(:link_url).with(url, nil, :target => '_parent')
101
101
  linkify url
102
102
  end
103
103
 
@@ -142,13 +142,13 @@ describe YARD::Templates::Helpers::BaseHelper do
142
142
  describe "#format_object_type" do
143
143
  it "returns Exception if type is Exception" do
144
144
  obj = double(:object, :is_exception? => true)
145
- allow(obj).to receive(:is_a?) { |arg| arg == YARD::CodeObjects::ClassObject }
145
+ allow(obj).to receive(:is_a?) {|arg| arg == YARD::CodeObjects::ClassObject }
146
146
  expect(format_object_type(obj)).to eq "Exception"
147
147
  end
148
148
 
149
149
  it "returns Class if type is Class" do
150
150
  obj = double(:object, :is_exception? => false)
151
- allow(obj).to receive(:is_a?) { |arg| arg == YARD::CodeObjects::ClassObject }
151
+ allow(obj).to receive(:is_a?) {|arg| arg == YARD::CodeObjects::ClassObject }
152
152
  expect(format_object_type(obj)).to eq "Class"
153
153
  end
154
154
 
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ # frozen_string_literal: true
2
2
  require File.dirname(__FILE__) + "/shared_signature_examples"
3
3
  require 'ostruct'
4
4
 
5
- describe YARD::Templates::Helpers::HtmlHelper do
5
+ RSpec.describe YARD::Templates::Helpers::HtmlHelper do
6
6
  include YARD::Templates::Helpers::BaseHelper
7
7
  include YARD::Templates::Helpers::HtmlHelper
8
8
  include YARD::Templates::Helpers::MethodHelper
@@ -43,7 +43,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
43
43
  end
44
44
 
45
45
  it "takes file encoding if there is a file" do
46
- @file = OpenStruct.new(:contents => 'foo'.force_encoding('sjis'))
46
+ @file = OpenStruct.new(:contents => String.new('foo').force_encoding('sjis'))
47
47
  # not the correct charset name, but good enough
48
48
  expect(['Shift_JIS', 'Windows-31J']).to include(charset)
49
49
  end if YARD.ruby19?
@@ -81,7 +81,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
81
81
  expect(format_types(["String", "Symbol"], false)).to eq "<tt>String</tt>, <tt>Symbol</tt>"
82
82
  end
83
83
 
84
- { "String" => [["String"],
84
+ {"String" => [["String"],
85
85
  "<tt><a href=''>String</a></tt>"],
86
86
  "A::B::C" => [["A::B::C"],
87
87
  "<tt><a href=''>A::B::C</a></tt>"],
@@ -90,9 +90,8 @@ describe YARD::Templates::Helpers::HtmlHelper do
90
90
  "Array<String, Symbol>" => [["Array", "String", "Symbol"],
91
91
  "<tt><a href=''>Array</a>&lt;<a href=''>String</a>, <a href=''>Symbol</a>&gt;</tt>"],
92
92
  "Array<{String => Array<Symbol>}>" => [["Array", "String", "Array", "Symbol"],
93
- "<tt><a href=''>Array</a>&lt;{<a href=''>String</a> =&gt; " +
94
- "<a href=''>Array</a>&lt;<a href=''>Symbol</a>&gt;}&gt;</tt>"]
95
- }.each do |text, values|
93
+ "<tt><a href=''>Array</a>&lt;{<a href=''>String</a> =&gt; " \
94
+ "<a href=''>Array</a>&lt;<a href=''>Symbol</a>&gt;}&gt;</tt>"]}.each do |text, values|
96
95
  it "links all classes in #{text}" do
97
96
  if text.count('<') > 0
98
97
  expect(self).to receive(:h).with('<').at_least(text.count('<')).times.and_return("&lt;")
@@ -119,9 +118,11 @@ describe YARD::Templates::Helpers::HtmlHelper do
119
118
 
120
119
  it "handles various encodings" do
121
120
  allow(self).to receive(:object).and_return(Registry.root)
122
- text = "\xB0\xB1"
121
+ text = String.new("\xB0\xB1")
123
122
  if defined?(Encoding)
124
- Encoding.default_internal = 'utf-8'
123
+ utf8 = Encoding.find('utf-8')
124
+
125
+ Encoding.default_internal = utf8 unless Encoding.default_internal == utf8
125
126
  text = text.force_encoding('binary')
126
127
  end
127
128
  htmlify(text, :text)
@@ -141,7 +142,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
141
142
  end
142
143
 
143
144
  it "highlights ruby if markup is :ruby" do
144
- expect(htmlify("class Foo; end", :ruby)).to match /\A<pre class="code ruby"><span/
145
+ expect(htmlify("class Foo; end", :ruby)).to match(/\A<pre class="code ruby"><span/)
145
146
  end
146
147
 
147
148
  it "includes file and htmlifies it" do
@@ -165,7 +166,8 @@ describe YARD::Templates::Helpers::HtmlHelper do
165
166
  end
166
167
  end
167
168
  expect(htmlify('http://example.com', :markdown).chomp.gsub('&#47;', '/')).to eq(
168
- '<p><a href="http://example.com">http://example.com</a></p>')
169
+ '<p><a href="http://example.com">http://example.com</a></p>'
170
+ )
169
171
  end
170
172
 
171
173
  it "does not autolink URLs inside of {} (markdown specific)" do
@@ -173,15 +175,17 @@ describe YARD::Templates::Helpers::HtmlHelper do
173
175
  pending 'This test depends on markdown' unless markup_class(:markdown)
174
176
  end
175
177
  expect(htmlify('{http://example.com Title}', :markdown).chomp).to match(
176
- %r{<p><a href="http://example.com".*>Title</a></p>})
178
+ %r{<p><a href="http://example.com".*>Title</a></p>}
179
+ )
177
180
  expect(htmlify('{http://example.com}', :markdown).chomp).to match(
178
- %r{<p><a href="http://example.com".*>http://example.com</a></p>})
181
+ %r{<p><a href="http://example.com".*>http://example.com</a></p>}
182
+ )
179
183
  end
180
184
 
181
185
  it "creates tables (markdown specific)" do
182
186
  log.enter_level(Logger::FATAL) do
183
187
  unless markup_class(:markdown).to_s == "RedcarpetCompat"
184
- skip "This test depends on a markdown engine that supports tables"
188
+ pending "This test depends on a markdown engine that supports tables"
185
189
  end
186
190
  end
187
191
 
@@ -193,7 +197,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
193
197
  EOF
194
198
 
195
199
  html = htmlify(markdown, :markdown)
196
- expect(html).to match %r{<table>}
200
+ expect(html).to match(/<table>/)
197
201
  expect(html).to match %r{<th>City</th>}
198
202
  expect(html).to match %r{<td>NC</td>}
199
203
  end
@@ -235,11 +239,9 @@ describe YARD::Templates::Helpers::HtmlHelper do
235
239
  end
236
240
  eof
237
241
  obj = Registry.at('Foo::Baz#a').tag(:overload)
238
- foobar = Registry.at('Foo::Bar')
239
- foobaz = Registry.at('Foo::Baz')
240
242
  allow(self).to receive(:serializer).and_return(Serializers::FileSystemSerializer.new)
241
243
  allow(self).to receive(:object).and_return(obj)
242
- expect(link_object("Bar#a")).to match %r{href="Bar.html#a-instance_method"}
244
+ expect(link_object("Bar#a")).to match(/href="Bar.html#a-instance_method"/)
243
245
  end
244
246
 
245
247
  it "uses relative path in title" do
@@ -255,7 +257,6 @@ describe YARD::Templates::Helpers::HtmlHelper do
255
257
  CodeObjects::ClassObject.new(P('YARD'), :Bar)
256
258
  allow(Registry.at('YARD::Bar')).to receive(:title).and_return('TITLE!')
257
259
  allow(self).to receive(:object).and_return(Registry.at('YARD::Bar'))
258
- serializer = Serializers::FileSystemSerializer.new
259
260
  allow(self).to receive(:serializer).and_return(Serializers::FileSystemSerializer.new)
260
261
  expect(link_object("Bar")).to match %r{>TITLE!</a>}
261
262
  end
@@ -270,7 +271,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
270
271
 
271
272
  it "uses Klass.foo when linking to class method in current namespace" do
272
273
  root = CodeObjects::ModuleObject.new(:root, :Klass)
273
- obj = CodeObjects::MethodObject.new(root, :foo, :class)
274
+ CodeObjects::MethodObject.new(root, :foo, :class)
274
275
  allow(self).to receive(:object).and_return(root)
275
276
  allow(self).to receive(:serializer).and_return(Serializers::FileSystemSerializer.new)
276
277
  expect(link_object("foo")).to match %r{>Klass.foo</a>}
@@ -286,7 +287,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
286
287
  obj = Registry.at('Array#&')
287
288
  allow(self).to receive(:serializer).and_return(Serializers::FileSystemSerializer.new)
288
289
  allow(self).to receive(:object).and_return(obj)
289
- expect(link_object("Array#&")).to match %r{title="Array#&amp; \(method\)"}
290
+ expect(link_object("Array#&")).to match(/title="Array#&amp; \(method\)"/)
290
291
  end
291
292
  end
292
293
 
@@ -351,8 +352,9 @@ describe YARD::Templates::Helpers::HtmlHelper do
351
352
  describe "#resolve_links" do
352
353
  def parse_link(link)
353
354
  results = {}
354
- link =~ /<a (.+?)>(.+?)<\/a>/m
355
- params, results[:inner_text] = $1, $2
355
+ link =~ %r{<a (.+?)>(.+?)</a>}m
356
+ params = $1
357
+ results[:inner_text] = $2
356
358
  params.scan(/\s*(\S+?)=['"](.+?)['"]\s*/).each do |key, value|
357
359
  results[key.to_sym] = value.gsub(/^["'](.+)["']$/, '\1')
358
360
  end
@@ -375,46 +377,46 @@ describe YARD::Templates::Helpers::HtmlHelper do
375
377
  allow(self).to receive(:serializer).and_return Serializers::FileSystemSerializer.new
376
378
  allow(self).to receive(:object).and_return Registry.root
377
379
 
378
- expect(parse_link(resolve_links("{file:TEST.txt#abc}"))).to eq({
380
+ expect(parse_link(resolve_links("{file:TEST.txt#abc}"))).to eq(
379
381
  :inner_text => "TEST",
380
382
  :title => "TEST",
381
383
  :href => "file.TEST.html#abc"
382
- })
383
- expect(parse_link(resolve_links("{file:TEST.txt title}"))).to eq({
384
+ )
385
+ expect(parse_link(resolve_links("{file:TEST.txt title}"))).to eq(
384
386
  :inner_text => "title",
385
387
  :title => "title",
386
388
  :href => "file.TEST.html"
387
- })
389
+ )
388
390
  end
389
391
 
390
392
  it "creates regular links with http:// or https:// prefixes" do
391
- expect(parse_link(resolve_links("{http://example.com}"))).to eq({
393
+ expect(parse_link(resolve_links("{http://example.com}"))).to eq(
392
394
  :inner_text => "http://example.com",
393
395
  :target => "_parent",
394
396
  :href => "http://example.com",
395
397
  :title => "http://example.com"
396
- })
397
- expect(parse_link(resolve_links("{http://example.com title}"))).to eq({
398
+ )
399
+ expect(parse_link(resolve_links("{http://example.com title}"))).to eq(
398
400
  :inner_text => "title",
399
401
  :target => "_parent",
400
402
  :href => "http://example.com",
401
403
  :title => "title"
402
- })
404
+ )
403
405
  end
404
406
 
405
407
  it "creates mailto links with mailto: prefixes" do
406
- expect(parse_link(resolve_links('{mailto:joanna@example.com}'))).to eq({
408
+ expect(parse_link(resolve_links('{mailto:joanna@example.com}'))).to eq(
407
409
  :inner_text => 'mailto:joanna@example.com',
408
410
  :target => '_parent',
409
411
  :href => 'mailto:joanna@example.com',
410
412
  :title => 'mailto:joanna@example.com'
411
- })
412
- expect(parse_link(resolve_links('{mailto:steve@example.com Steve}'))).to eq({
413
+ )
414
+ expect(parse_link(resolve_links('{mailto:steve@example.com Steve}'))).to eq(
413
415
  :inner_text => 'Steve',
414
416
  :target => '_parent',
415
417
  :href => 'mailto:steve@example.com',
416
418
  :title => 'Steve'
417
- })
419
+ )
418
420
  end
419
421
 
420
422
  it "ignores {links} that begin with |...|" do
@@ -444,12 +446,12 @@ describe YARD::Templates::Helpers::HtmlHelper do
444
446
  end
445
447
 
446
448
  it "resolves link with newline in title-part" do
447
- expect(parse_link(resolve_links("{http://example.com foo\nbar}"))).to eq({
449
+ expect(parse_link(resolve_links("{http://example.com foo\nbar}"))).to eq(
448
450
  :inner_text => "foo bar",
449
451
  :target => "_parent",
450
452
  :href => "http://example.com",
451
453
  :title => "foo bar"
452
- })
454
+ )
453
455
  end
454
456
 
455
457
  it "resolves links to methods whose names have been escaped" do
@@ -464,8 +466,9 @@ describe YARD::Templates::Helpers::HtmlHelper do
464
466
  class MyObject; end
465
467
  eof
466
468
  logger = double(:log)
467
- expect(logger).to receive(:warn).ordered.with("In file `(stdin)':2: Cannot resolve link to InvalidObject from text:")
468
- expect(logger).to receive(:warn).ordered.with("...{InvalidObject}")
469
+ expect(logger).to receive(:warn).ordered.with(
470
+ "In file `(stdin)':2: Cannot resolve link to InvalidObject from text:\n\t...{InvalidObject}"
471
+ )
469
472
  allow(self).to receive(:log).and_return(logger)
470
473
  allow(self).to receive(:object).and_return(Registry.at('MyObject'))
471
474
  resolve_links(object.docstring)
@@ -480,14 +483,10 @@ describe YARD::Templates::Helpers::HtmlHelper do
480
483
  class MyObject; end
481
484
  eof
482
485
  logger = double(:log)
483
- expect(logger).to receive(:warn).ordered.with("In file `(stdin)':1: Cannot resolve link to InvalidObject1 from text:")
484
- expect(logger).to receive(:warn).ordered.with("{InvalidObject1}...")
485
- expect(logger).to receive(:warn).ordered.with("In file `(stdin)':2: Cannot resolve link to InvalidObject2 from text:")
486
- expect(logger).to receive(:warn).ordered.with("...{InvalidObject2}")
487
- expect(logger).to receive(:warn).ordered.with("In file `(stdin)':3: Cannot resolve link to InvalidObject3 from text:")
488
- expect(logger).to receive(:warn).ordered.with("...{InvalidObject3}...")
489
- expect(logger).to receive(:warn).ordered.with("In file `(stdin)':4: Cannot resolve link to InvalidObject4 from text:")
490
- expect(logger).to receive(:warn).ordered.with("{InvalidObject4}")
486
+ expect(logger).to receive(:warn).ordered.with("In file `(stdin)':1: Cannot resolve link to InvalidObject1 from text:\n\t{InvalidObject1}...")
487
+ expect(logger).to receive(:warn).ordered.with("In file `(stdin)':2: Cannot resolve link to InvalidObject2 from text:\n\t...{InvalidObject2}")
488
+ expect(logger).to receive(:warn).ordered.with("In file `(stdin)':3: Cannot resolve link to InvalidObject3 from text:\n\t...{InvalidObject3}...")
489
+ expect(logger).to receive(:warn).ordered.with("In file `(stdin)':4: Cannot resolve link to InvalidObject4 from text:\n\t{InvalidObject4}")
491
490
  allow(self).to receive(:log).and_return(logger)
492
491
  allow(self).to receive(:object).and_return(Registry.at('MyObject'))
493
492
  resolve_links(object.docstring)
@@ -496,8 +495,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
496
495
  it "warns about missing reference for file template (no object)" do
497
496
  @file = CodeObjects::ExtraFileObject.new('myfile.txt', '')
498
497
  logger = double(:log)
499
- expect(logger).to receive(:warn).ordered.with("In file `myfile.txt':3: Cannot resolve link to InvalidObject from text:")
500
- expect(logger).to receive(:warn).ordered.with("...{InvalidObject Some Title}")
498
+ expect(logger).to receive(:warn).ordered.with("In file `myfile.txt':3: Cannot resolve link to InvalidObject from text:\n\t...{InvalidObject Some Title}")
501
499
  allow(self).to receive(:log).and_return(logger)
502
500
  allow(self).to receive(:object).and_return(Registry.root)
503
501
  resolve_links(<<-eof)
@@ -530,7 +528,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
530
528
  }
531
529
  end
532
530
 
533
- def format_types(types, brackets = false) types.join(", ") end
531
+ def format_types(types, _brackets = false) types.join(", ") end
534
532
  def signature(obj, link = false) super(obj, link).strip end
535
533
 
536
534
  it_should_behave_like "signature"
@@ -547,7 +545,8 @@ describe YARD::Templates::Helpers::HtmlHelper do
547
545
  allow(self).to receive(:serializer).and_return(serializer)
548
546
  allow(self).to receive(:object).and_return(Registry.at('Foo'))
549
547
  expect(signature(Registry.at('Foo#foo').tag(:overload), true)).to eq(
550
- "<a href=\"#foo-instance_method\" title=\"#bar (instance method)\">#<strong>bar</strong>(a, b, c) </a>")
548
+ "<a href=\"#foo-instance_method\" title=\"#bar (instance method)\">#<strong>bar</strong>(a, b, c) </a>"
549
+ )
551
550
  end
552
551
  end
553
552
 
@@ -572,18 +571,20 @@ describe YARD::Templates::Helpers::HtmlHelper do
572
571
 
573
572
  it "calls #html_syntax_highlight_NAME if there's an object with a #source_type" do
574
573
  subject.object = OpenStruct.new(:source_type => :NAME)
575
- expect(subject).to receive(:html_markup_html) { |text| text }
574
+ expect(subject).to receive(:html_markup_html) {|text| text }
576
575
  expect(subject).to receive(:html_syntax_highlight_NAME).and_return("foobar")
577
576
  expect(subject.htmlify('<pre><code>def x; end</code></pre>', :html)).to eq(
578
- '<pre class="code NAME"><code class="NAME">foobar</code></pre>')
577
+ '<pre class="code NAME"><code class="NAME">foobar</code></pre>'
578
+ )
579
579
  end
580
580
 
581
581
  it "adds !!!LANG to className in outputted pre tag" do
582
582
  subject.object = OpenStruct.new(:source_type => :LANG)
583
- expect(subject).to receive(:html_markup_html) { |text| text }
583
+ expect(subject).to receive(:html_markup_html) {|text| text }
584
584
  expect(subject).to receive(:html_syntax_highlight_LANG).and_return("foobar")
585
585
  expect(subject.htmlify("<pre><code>!!!LANG\ndef x; end</code></pre>", :html)).to eq(
586
- '<pre class="code LANG"><code class="LANG">foobar</code></pre>')
586
+ '<pre class="code LANG"><code class="LANG">foobar</code></pre>'
587
+ )
587
588
  end
588
589
 
589
590
  it "calls html_syntax_highlight_NAME if source starts with !!!NAME" do
@@ -592,7 +593,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
592
593
  !!!NAME
593
594
  def x; end
594
595
  eof
595
- )).to eq "foobar"
596
+ )).to eq "foobar"
596
597
  end
597
598
 
598
599
  it "does not highlight if highlight option is false" do
@@ -602,7 +603,7 @@ describe YARD::Templates::Helpers::HtmlHelper do
602
603
  end
603
604
 
604
605
  it "does not highlight if there is no highlight method specified by !!!NAME" do
605
- def subject.respond_to?(method, include_all=false)
606
+ def subject.respond_to?(method, include_all = false)
606
607
  return false if method == 'html_syntax_highlight_NAME'
607
608
  super
608
609
  end
@@ -623,17 +624,20 @@ describe YARD::Templates::Helpers::HtmlHelper do
623
624
 
624
625
  it "doesn't escape code snippets twice" do
625
626
  expect(subject.htmlify('<pre lang="foo"><code>{"foo" => 1}</code></pre>', :html)).to eq(
626
- '<pre class="code foo"><code class="foo">{&quot;foo&quot; =&gt; 1}</code></pre>')
627
+ '<pre class="code foo"><code class="foo">{&quot;foo&quot; =&gt; 1}</code></pre>'
628
+ )
627
629
  end
628
630
 
629
631
  it "highlights source when matching a pre lang= tag" do
630
632
  expect(subject.htmlify('<pre lang="foo"><code>x = 1</code></pre>', :html)).to eq(
631
- '<pre class="code foo"><code class="foo">x = 1</code></pre>')
633
+ '<pre class="code foo"><code class="foo">x = 1</code></pre>'
634
+ )
632
635
  end
633
636
 
634
637
  it "highlights source when matching a code class= tag" do
635
638
  expect(subject.htmlify('<pre><code class="foo">x = 1</code></pre>', :html)).to eq(
636
- '<pre class="code foo"><code class="foo">x = 1</code></pre>')
639
+ '<pre class="code foo"><code class="foo">x = 1</code></pre>'
640
+ )
637
641
  end
638
642
  end
639
643