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.
- checksums.yaml +4 -4
- data/.yardopts +0 -0
- data/CHANGELOG.md +20 -0
- data/LEGAL +0 -0
- data/LICENSE +0 -0
- data/README.md +70 -35
- data/Rakefile +10 -39
- data/benchmarks/builtins_vs_eval.rb +9 -8
- data/benchmarks/concat_vs_join.rb +1 -0
- data/benchmarks/erb_vs_erubis.rb +3 -2
- data/benchmarks/format_args.rb +1 -0
- data/benchmarks/generation.rb +2 -1
- data/benchmarks/marshal_vs_dbm.rb +2 -1
- data/benchmarks/parsing.rb +1 -1
- data/benchmarks/pathname_vs_string.rb +1 -0
- data/benchmarks/rdoc_vs_yardoc.rb +2 -1
- data/benchmarks/registry_store_types.rb +1 -0
- data/benchmarks/ri_vs_yri.rb +1 -0
- data/benchmarks/ripper_parser.rb +2 -1
- data/benchmarks/splat_vs_flatten.rb +4 -3
- data/benchmarks/template_erb.rb +2 -1
- data/benchmarks/template_format.rb +1 -0
- data/benchmarks/template_profile.rb +4 -3
- data/benchmarks/yri_cache.rb +2 -1
- data/bin/yard +2 -1
- data/bin/yardoc +2 -1
- data/bin/yri +2 -1
- data/docs/CodeObjects.md +0 -0
- data/docs/GettingStarted.md +0 -0
- data/docs/Handlers.md +0 -0
- data/docs/Overview.md +0 -0
- data/docs/Parser.md +0 -0
- data/docs/Tags.md +0 -0
- data/docs/TagsArch.md +0 -0
- data/docs/Templates.md +0 -0
- data/docs/WhatsNew.md +0 -0
- data/docs/images/code-objects-class-diagram.png +0 -0
- data/docs/images/tags-class-diagram.png +0 -0
- data/docs/templates/default/fulldoc/html/full_list_tag.erb +0 -0
- data/docs/templates/default/fulldoc/html/setup.rb +1 -1
- data/docs/templates/default/layout/html/setup.rb +1 -0
- data/docs/templates/default/layout/html/tag_list.erb +0 -0
- data/docs/templates/default/yard_tags/html/list.erb +0 -0
- data/docs/templates/default/yard_tags/html/setup.rb +18 -19
- data/docs/templates/plugin.rb +18 -13
- data/lib/rubygems_plugin.rb +1 -0
- data/lib/yard.rb +5 -6
- data/lib/yard/autoload.rb +4 -0
- data/lib/yard/cli/command.rb +3 -2
- data/lib/yard/cli/command_parser.rb +4 -3
- data/lib/yard/cli/config.rb +5 -4
- data/lib/yard/cli/diff.rb +39 -39
- data/lib/yard/cli/display.rb +2 -1
- data/lib/yard/cli/gems.rb +6 -5
- data/lib/yard/cli/graph.rb +4 -5
- data/lib/yard/cli/help.rb +4 -2
- data/lib/yard/cli/i18n.rb +2 -1
- data/lib/yard/cli/list.rb +2 -1
- data/lib/yard/cli/markup_types.rb +4 -5
- data/lib/yard/cli/server.rb +27 -24
- data/lib/yard/cli/stats.rb +20 -16
- data/lib/yard/cli/yardoc.rb +22 -19
- data/lib/yard/cli/yardopts_command.rb +3 -2
- data/lib/yard/cli/yri.rb +26 -25
- data/lib/yard/code_objects/base.rb +41 -37
- data/lib/yard/code_objects/class_object.rb +3 -2
- data/lib/yard/code_objects/class_variable_object.rb +2 -1
- data/lib/yard/code_objects/constant_object.rb +2 -1
- data/lib/yard/code_objects/extended_method_object.rb +2 -1
- data/lib/yard/code_objects/extra_file_object.rb +1 -0
- data/lib/yard/code_objects/macro_object.rb +10 -10
- data/lib/yard/code_objects/method_object.rb +15 -13
- data/lib/yard/code_objects/module_object.rb +1 -0
- data/lib/yard/code_objects/namespace_mapper.rb +1 -0
- data/lib/yard/code_objects/namespace_object.rb +2 -5
- data/lib/yard/code_objects/proxy.rb +35 -53
- data/lib/yard/code_objects/root_object.rb +3 -1
- data/lib/yard/config.rb +8 -9
- data/lib/yard/core_ext/array.rb +1 -0
- data/lib/yard/core_ext/file.rb +4 -3
- data/lib/yard/core_ext/hash.rb +3 -2
- data/lib/yard/core_ext/insertion.rb +7 -4
- data/lib/yard/core_ext/module.rb +2 -1
- data/lib/yard/core_ext/string.rb +5 -4
- data/lib/yard/core_ext/symbol_hash.rb +8 -6
- data/lib/yard/docstring.rb +26 -15
- data/lib/yard/docstring_parser.rb +61 -61
- data/lib/yard/gem_index.rb +17 -0
- data/lib/yard/globals.rb +6 -2
- data/lib/yard/handlers/base.rb +22 -23
- data/lib/yard/handlers/c/alias_handler.rb +3 -2
- data/lib/yard/handlers/c/attribute_handler.rb +2 -2
- data/lib/yard/handlers/c/base.rb +13 -13
- data/lib/yard/handlers/c/class_handler.rb +1 -0
- data/lib/yard/handlers/c/constant_handler.rb +3 -2
- data/lib/yard/handlers/c/handler_methods.rb +24 -25
- data/lib/yard/handlers/c/init_handler.rb +4 -2
- data/lib/yard/handlers/c/method_handler.rb +7 -6
- data/lib/yard/handlers/c/mixin_handler.rb +3 -1
- data/lib/yard/handlers/c/module_handler.rb +1 -0
- data/lib/yard/handlers/c/override_comment_handler.rb +2 -1
- data/lib/yard/handlers/c/path_handler.rb +1 -0
- data/lib/yard/handlers/c/struct_handler.rb +1 -0
- data/lib/yard/handlers/c/symbol_handler.rb +2 -1
- data/lib/yard/handlers/processor.rb +14 -15
- data/lib/yard/handlers/ruby/alias_handler.rb +4 -2
- data/lib/yard/handlers/ruby/attribute_handler.rb +11 -6
- data/lib/yard/handlers/ruby/base.rb +5 -4
- data/lib/yard/handlers/ruby/class_condition_handler.rb +4 -3
- data/lib/yard/handlers/ruby/class_handler.rb +7 -9
- data/lib/yard/handlers/ruby/class_variable_handler.rb +2 -1
- data/lib/yard/handlers/ruby/comment_handler.rb +1 -0
- data/lib/yard/handlers/ruby/constant_handler.rb +9 -5
- data/lib/yard/handlers/ruby/decorator_handler_methods.rb +15 -28
- data/lib/yard/handlers/ruby/dsl_handler.rb +1 -0
- data/lib/yard/handlers/ruby/dsl_handler_methods.rb +7 -6
- data/lib/yard/handlers/ruby/exception_handler.rb +1 -0
- data/lib/yard/handlers/ruby/extend_handler.rb +1 -0
- data/lib/yard/handlers/ruby/legacy/alias_handler.rb +6 -4
- data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +12 -7
- data/lib/yard/handlers/ruby/legacy/base.rb +21 -26
- data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +7 -7
- data/lib/yard/handlers/ruby/legacy/class_handler.rb +7 -5
- data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/comment_handler.rb +1 -0
- data/lib/yard/handlers/ruby/legacy/constant_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/dsl_handler.rb +1 -0
- data/lib/yard/handlers/ruby/legacy/exception_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/extend_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/method_handler.rb +11 -6
- data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +5 -5
- data/lib/yard/handlers/ruby/legacy/module_function_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/module_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/private_class_method_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +2 -1
- data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +3 -2
- data/lib/yard/handlers/ruby/legacy/yield_handler.rb +1 -0
- data/lib/yard/handlers/ruby/method_condition_handler.rb +2 -1
- data/lib/yard/handlers/ruby/method_handler.rb +9 -11
- data/lib/yard/handlers/ruby/mixin_handler.rb +2 -1
- data/lib/yard/handlers/ruby/module_function_handler.rb +2 -1
- data/lib/yard/handlers/ruby/module_handler.rb +2 -1
- data/lib/yard/handlers/ruby/private_class_method_handler.rb +1 -0
- data/lib/yard/handlers/ruby/private_constant_handler.rb +2 -2
- data/lib/yard/handlers/ruby/public_class_method_handler.rb +1 -0
- data/lib/yard/handlers/ruby/struct_handler_methods.rb +5 -4
- data/lib/yard/handlers/ruby/visibility_handler.rb +1 -0
- data/lib/yard/handlers/ruby/yield_handler.rb +1 -0
- data/lib/yard/i18n/locale.rb +1 -0
- data/lib/yard/i18n/message.rb +5 -4
- data/lib/yard/i18n/messages.rb +2 -1
- data/lib/yard/i18n/po_parser.rb +5 -4
- data/lib/yard/i18n/pot_generator.rb +8 -8
- data/lib/yard/i18n/text.rb +9 -9
- data/lib/yard/logging.rb +9 -6
- data/lib/yard/options.rb +8 -7
- data/lib/yard/parser/base.rb +3 -2
- data/lib/yard/parser/c/c_parser.rb +22 -21
- data/lib/yard/parser/c/comment_parser.rb +9 -6
- data/lib/yard/parser/c/statement.rb +1 -0
- data/lib/yard/parser/ruby/ast_node.rb +20 -18
- data/lib/yard/parser/ruby/legacy/ruby_lex.rb +99 -122
- data/lib/yard/parser/ruby/legacy/ruby_parser.rb +3 -2
- data/lib/yard/parser/ruby/legacy/statement.rb +4 -3
- data/lib/yard/parser/ruby/legacy/statement_list.rb +52 -42
- data/lib/yard/parser/ruby/legacy/token_list.rb +16 -13
- data/lib/yard/parser/ruby/ruby_parser.rb +87 -63
- data/lib/yard/parser/ruby/token_resolver.rb +156 -0
- data/lib/yard/parser/source_parser.rb +28 -20
- data/lib/yard/rake/yardoc_task.rb +3 -3
- data/lib/yard/registry.rb +14 -16
- data/lib/yard/registry_resolver.rb +36 -20
- data/lib/yard/registry_store.rb +19 -15
- data/lib/yard/rubygems/backports.rb +2 -0
- data/lib/yard/rubygems/backports/LICENSE.txt +0 -0
- data/lib/yard/rubygems/backports/MIT.txt +0 -0
- data/lib/yard/rubygems/backports/gem.rb +1 -0
- data/lib/yard/rubygems/backports/source_index.rb +25 -30
- data/lib/yard/rubygems/doc_manager.rb +10 -8
- data/lib/yard/rubygems/hook.rb +11 -18
- data/lib/yard/rubygems/specification.rb +1 -0
- data/lib/yard/serializers/base.rb +5 -2
- data/lib/yard/serializers/file_system_serializer.rb +7 -6
- data/lib/yard/serializers/process_serializer.rb +2 -2
- data/lib/yard/serializers/stdout_serializer.rb +8 -6
- data/lib/yard/serializers/yardoc_serializer.rb +31 -26
- data/lib/yard/server.rb +2 -1
- data/lib/yard/server/adapter.rb +1 -1
- data/lib/yard/server/commands/base.rb +15 -2
- data/lib/yard/server/commands/display_file_command.rb +2 -2
- data/lib/yard/server/commands/display_object_command.rb +6 -3
- data/lib/yard/server/commands/frames_command.rb +1 -0
- data/lib/yard/server/commands/library_command.rb +50 -14
- data/lib/yard/server/commands/library_index_command.rb +5 -4
- data/lib/yard/server/commands/list_command.rb +1 -0
- data/lib/yard/server/commands/root_request_command.rb +1 -0
- data/lib/yard/server/commands/search_command.rb +17 -16
- data/lib/yard/server/commands/static_file_command.rb +2 -1
- data/lib/yard/server/commands/static_file_helpers.rb +23 -14
- data/lib/yard/server/doc_server_helper.rb +15 -1
- data/lib/yard/server/doc_server_serializer.rb +3 -5
- data/lib/yard/server/library_version.rb +44 -22
- data/lib/yard/server/rack_adapter.rb +2 -1
- data/lib/yard/server/router.rb +15 -14
- data/lib/yard/server/static_caching.rb +1 -0
- data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +0 -0
- data/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
- data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +0 -0
- data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +0 -0
- data/lib/yard/server/templates/default/layout/html/script_setup.erb +0 -0
- data/lib/yard/server/templates/default/layout/html/setup.rb +2 -1
- data/lib/yard/server/templates/default/method_details/html/permalink.erb +0 -0
- data/lib/yard/server/templates/default/method_details/html/setup.rb +1 -0
- data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +2 -2
- data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +0 -0
- data/lib/yard/server/templates/doc_server/library_list/html/listing.erb +1 -1
- data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +2 -1
- data/lib/yard/server/templates/doc_server/library_list/html/title.erb +0 -0
- data/lib/yard/server/templates/doc_server/processing/html/processing.erb +4 -4
- data/lib/yard/server/templates/doc_server/processing/html/setup.rb +2 -1
- data/lib/yard/server/templates/doc_server/search/html/search.erb +0 -0
- data/lib/yard/server/templates/doc_server/search/html/setup.rb +2 -1
- data/lib/yard/server/webrick_adapter.rb +4 -2
- data/lib/yard/tags/default_factory.rb +19 -13
- data/lib/yard/tags/default_tag.rb +2 -1
- data/lib/yard/tags/directives.rb +17 -19
- data/lib/yard/tags/library.rb +9 -6
- data/lib/yard/tags/option_tag.rb +1 -0
- data/lib/yard/tags/overload_tag.rb +6 -4
- data/lib/yard/tags/ref_tag.rb +1 -0
- data/lib/yard/tags/ref_tag_list.rb +2 -1
- data/lib/yard/tags/tag.rb +16 -2
- data/lib/yard/tags/tag_format_error.rb +3 -2
- data/lib/yard/tags/types_explainer.rb +160 -0
- data/lib/yard/templates/engine.rb +3 -2
- data/lib/yard/templates/erb_cache.rb +3 -2
- data/lib/yard/templates/helpers/base_helper.rb +9 -6
- data/lib/yard/templates/helpers/filter_helper.rb +1 -0
- data/lib/yard/templates/helpers/html_helper.rb +65 -37
- data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +25 -7
- data/lib/yard/templates/helpers/markup/rdoc_markdown.rb +2 -1
- data/lib/yard/templates/helpers/markup/rdoc_markup.rb +10 -7
- data/lib/yard/templates/helpers/markup_helper.rb +12 -13
- data/lib/yard/templates/helpers/method_helper.rb +8 -7
- data/lib/yard/templates/helpers/module_helper.rb +1 -0
- data/lib/yard/templates/helpers/text_helper.rb +16 -11
- data/lib/yard/templates/helpers/uml_helper.rb +2 -1
- data/lib/yard/templates/section.rb +3 -4
- data/lib/yard/templates/template.rb +18 -11
- data/lib/yard/templates/template_options.rb +1 -0
- data/lib/yard/verifier.rb +2 -0
- data/lib/yard/version.rb +2 -1
- data/spec/cli/command_parser_spec.rb +7 -7
- data/spec/cli/command_spec.rb +2 -2
- data/spec/cli/config_spec.rb +3 -4
- data/spec/cli/diff_spec.rb +7 -9
- data/spec/cli/display_spec.rb +2 -2
- data/spec/cli/gems_spec.rb +11 -11
- data/spec/cli/graph_spec.rb +4 -3
- data/spec/cli/help_spec.rb +3 -3
- data/spec/cli/i18n_spec.rb +3 -3
- data/spec/cli/list_spec.rb +2 -2
- data/spec/cli/markup_types_spec.rb +2 -2
- data/spec/cli/server_spec.rb +21 -18
- data/spec/cli/stats_spec.rb +23 -22
- data/spec/cli/yardoc_spec.rb +49 -47
- data/spec/cli/yri_spec.rb +6 -6
- data/spec/code_objects/base_spec.rb +6 -4
- data/spec/code_objects/class_object_spec.rb +10 -9
- data/spec/code_objects/code_object_list_spec.rb +3 -2
- data/spec/code_objects/constants_spec.rb +17 -6
- data/spec/code_objects/extra_file_object_spec.rb +6 -5
- data/spec/code_objects/macro_object_spec.rb +5 -3
- data/spec/code_objects/method_object_spec.rb +6 -5
- data/spec/code_objects/module_object_spec.rb +3 -2
- data/spec/code_objects/namespace_object_spec.rb +10 -9
- data/spec/code_objects/proxy_spec.rb +9 -8
- data/spec/code_objects/spec_helper.rb +2 -2
- data/spec/config_spec.rb +9 -14
- data/spec/core_ext/array_spec.rb +2 -3
- data/spec/core_ext/file_spec.rb +3 -3
- data/spec/core_ext/hash_spec.rb +5 -5
- data/spec/core_ext/insertion_spec.rb +2 -2
- data/spec/core_ext/module_spec.rb +3 -3
- data/spec/core_ext/string_spec.rb +5 -5
- data/spec/core_ext/symbol_hash_spec.rb +8 -8
- data/spec/docstring_parser_spec.rb +6 -7
- data/spec/docstring_spec.rb +30 -3
- data/spec/examples.txt +1848 -0
- data/spec/handlers/alias_handler_spec.rb +2 -1
- data/spec/handlers/attribute_handler_spec.rb +7 -5
- data/spec/handlers/base_spec.rb +9 -8
- data/spec/handlers/c/alias_handler_spec.rb +2 -1
- data/spec/handlers/c/attribute_handler_spec.rb +2 -1
- data/spec/handlers/c/class_handler_spec.rb +2 -1
- data/spec/handlers/c/constant_handler_spec.rb +5 -4
- data/spec/handlers/c/init_handler_spec.rb +2 -1
- data/spec/handlers/c/method_handler_spec.rb +2 -1
- data/spec/handlers/c/mixin_handler_spec.rb +2 -1
- data/spec/handlers/c/module_handler_spec.rb +2 -1
- data/spec/handlers/c/override_comment_handler_spec.rb +2 -1
- data/spec/handlers/c/path_handler_spec.rb +2 -1
- data/spec/handlers/c/spec_helper.rb +1 -1
- data/spec/handlers/c/struct_handler_spec.rb +3 -2
- data/spec/handlers/class_condition_handler_spec.rb +3 -2
- data/spec/handlers/class_handler_spec.rb +3 -2
- data/spec/handlers/class_method_handler_shared_examples.rb +9 -8
- data/spec/handlers/class_variable_handler_spec.rb +3 -2
- data/spec/handlers/constant_handler_spec.rb +28 -3
- data/spec/handlers/decorator_handler_methods_spec.rb +47 -59
- data/spec/handlers/dsl_handler_spec.rb +3 -2
- data/spec/handlers/examples/alias_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/attribute_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/class_condition_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/class_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/class_variable_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/constant_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/dsl_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/exception_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/extend_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/method_condition_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/method_handler_001.rb.txt +2 -0
- data/spec/handlers/examples/mixin_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/module_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/private_constant_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/process_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/visibility_handler_001.rb.txt +0 -0
- data/spec/handlers/examples/yield_handler_001.rb.txt +0 -0
- data/spec/handlers/exception_handler_spec.rb +3 -2
- data/spec/handlers/extend_handler_spec.rb +2 -1
- data/spec/handlers/legacy_base_spec.rb +5 -5
- data/spec/handlers/method_condition_handler_spec.rb +3 -2
- data/spec/handlers/method_handler_spec.rb +7 -1
- data/spec/handlers/mixin_handler_spec.rb +3 -2
- data/spec/handlers/module_function_handler_spec.rb +2 -1
- data/spec/handlers/module_handler_spec.rb +3 -2
- data/spec/handlers/private_class_method_handler_spec.rb +2 -1
- data/spec/handlers/private_constant_handler_spec.rb +2 -1
- data/spec/handlers/processor_spec.rb +2 -1
- data/spec/handlers/public_class_method_handler_spec.rb +2 -1
- data/spec/handlers/ruby/base_spec.rb +6 -5
- data/spec/handlers/ruby/legacy/base_spec.rb +4 -4
- data/spec/handlers/spec_helper.rb +3 -3
- data/spec/handlers/visibility_handler_spec.rb +3 -2
- data/spec/handlers/yield_handler_spec.rb +3 -2
- data/spec/i18n/locale_spec.rb +3 -3
- data/spec/i18n/message_spec.rb +2 -2
- data/spec/i18n/messages_spec.rb +3 -3
- data/spec/i18n/pot_generator_spec.rb +34 -34
- data/spec/i18n/text_spec.rb +16 -12
- data/spec/logging_spec.rb +2 -2
- data/spec/options_spec.rb +9 -9
- data/spec/parser/base_spec.rb +2 -2
- data/spec/parser/c_parser_spec.rb +5 -4
- data/spec/parser/examples/array.c.txt +0 -0
- data/spec/parser/examples/example1.rb.txt +0 -0
- data/spec/parser/examples/extrafile.c.txt +0 -0
- data/spec/parser/examples/multifile.c.txt +0 -0
- data/spec/parser/examples/override.c.txt +0 -0
- data/spec/parser/examples/parse_in_order_001.rb.txt +0 -0
- data/spec/parser/examples/parse_in_order_002.rb.txt +0 -0
- data/spec/parser/examples/tag_handler_001.rb.txt +0 -0
- data/spec/parser/ruby/ast_node_spec.rb +7 -7
- data/spec/parser/ruby/legacy/statement_list_spec.rb +7 -7
- data/spec/parser/ruby/legacy/token_list_spec.rb +4 -4
- data/spec/parser/ruby/ruby_parser_spec.rb +42 -20
- data/spec/parser/ruby/token_resolver_spec.rb +165 -0
- data/spec/parser/source_parser_spec.rb +18 -18
- data/spec/parser/tag_parsing_spec.rb +2 -2
- data/spec/rake/yardoc_task_spec.rb +4 -4
- data/spec/registry_spec.rb +62 -56
- data/spec/registry_store_spec.rb +7 -7
- data/spec/rubygems/doc_manager_spec.rb +2 -2
- data/spec/serializers/data/serialized_yardoc/checksums +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
- data/spec/serializers/data/serialized_yardoc/proxy_types +0 -0
- data/spec/serializers/file_system_serializer_spec.rb +8 -7
- data/spec/serializers/spec_helper.rb +2 -2
- data/spec/serializers/yardoc_serializer_spec.rb +5 -4
- data/spec/server/adapter_spec.rb +3 -2
- data/spec/server/commands/base_spec.rb +15 -11
- data/spec/server/commands/library_command_spec.rb +2 -2
- data/spec/server/doc_server_helper_spec.rb +4 -3
- data/spec/server/doc_server_serializer_spec.rb +3 -2
- data/spec/server/rack_adapter_spec.rb +3 -2
- data/spec/server/router_spec.rb +3 -2
- data/spec/server/spec_helper.rb +2 -2
- data/spec/server/static_caching_spec.rb +4 -3
- data/spec/server/webrick_servlet_spec.rb +5 -4
- data/spec/server_spec.rb +3 -3
- data/spec/spec_helper.rb +94 -21
- data/spec/tags/default_factory_spec.rb +10 -4
- data/spec/tags/default_tag_spec.rb +3 -3
- data/spec/tags/directives_spec.rb +12 -12
- data/spec/tags/library_spec.rb +16 -2
- data/spec/tags/overload_tag_spec.rb +4 -4
- data/spec/tags/ref_tag_list_spec.rb +3 -3
- data/spec/tags/types_explainer_spec.rb +200 -0
- data/spec/templates/class_spec.rb +2 -1
- data/spec/templates/constant_spec.rb +3 -2
- data/spec/templates/engine_spec.rb +4 -3
- data/spec/templates/examples/class001.html +0 -0
- data/spec/templates/examples/class001.txt +0 -0
- data/spec/templates/examples/class002.html +0 -0
- data/spec/templates/examples/constant001.txt +0 -0
- data/spec/templates/examples/constant002.txt +0 -0
- data/spec/templates/examples/constant003.txt +0 -0
- data/spec/templates/examples/method001.html +0 -0
- data/spec/templates/examples/method001.txt +0 -0
- data/spec/templates/examples/method002.html +0 -0
- data/spec/templates/examples/method002.txt +0 -0
- data/spec/templates/examples/method003.html +0 -0
- data/spec/templates/examples/method003.txt +0 -0
- data/spec/templates/examples/method004.html +0 -0
- data/spec/templates/examples/method004.txt +0 -0
- data/spec/templates/examples/method005.html +0 -0
- data/spec/templates/examples/method005.txt +0 -0
- data/spec/templates/examples/method006.html +108 -0
- data/spec/templates/examples/method006.txt +20 -0
- data/spec/templates/examples/module001.dot +0 -0
- data/spec/templates/examples/module001.html +0 -0
- data/spec/templates/examples/module001.txt +0 -0
- data/spec/templates/examples/module002.html +0 -0
- data/spec/templates/examples/module003.html +0 -0
- data/spec/templates/examples/module004.html +0 -0
- data/spec/templates/examples/tag001.txt +0 -0
- data/spec/templates/helpers/base_helper_spec.rb +5 -5
- data/spec/templates/helpers/html_helper_spec.rb +64 -60
- data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +17 -6
- data/spec/templates/helpers/markup/rdoc_markup_spec.rb +11 -13
- data/spec/templates/helpers/markup_helper_spec.rb +2 -2
- data/spec/templates/helpers/method_helper_spec.rb +3 -3
- data/spec/templates/helpers/module_helper_spec.rb +2 -2
- data/spec/templates/helpers/shared_signature_examples.rb +2 -1
- data/spec/templates/helpers/text_helper_spec.rb +7 -6
- data/spec/templates/method_spec.rb +18 -2
- data/spec/templates/module_spec.rb +4 -3
- data/spec/templates/onefile_spec.rb +8 -6
- data/spec/templates/section_spec.rb +3 -2
- data/spec/templates/spec_helper.rb +5 -2
- data/spec/templates/tag_spec.rb +3 -2
- data/spec/templates/template_spec.rb +15 -14
- data/spec/verifier_spec.rb +3 -3
- data/templates/default/class/dot/setup.rb +2 -1
- data/templates/default/class/dot/superklass.erb +0 -0
- data/templates/default/class/html/constructor_details.erb +0 -0
- data/templates/default/class/html/setup.rb +2 -1
- data/templates/default/class/html/subclasses.erb +0 -0
- data/templates/default/class/setup.rb +6 -6
- data/templates/default/class/text/setup.rb +2 -1
- data/templates/default/class/text/subclasses.erb +0 -0
- data/templates/default/constant/text/header.erb +0 -0
- data/templates/default/constant/text/setup.rb +1 -0
- data/templates/default/docstring/html/abstract.erb +0 -0
- data/templates/default/docstring/html/deprecated.erb +0 -0
- data/templates/default/docstring/html/index.erb +0 -0
- data/templates/default/docstring/html/note.erb +0 -0
- data/templates/default/docstring/html/private.erb +0 -0
- data/templates/default/docstring/html/returns_void.erb +0 -0
- data/templates/default/docstring/html/text.erb +0 -0
- data/templates/default/docstring/html/todo.erb +0 -0
- data/templates/default/docstring/setup.rb +4 -3
- data/templates/default/docstring/text/abstract.erb +0 -0
- data/templates/default/docstring/text/deprecated.erb +0 -0
- data/templates/default/docstring/text/index.erb +0 -0
- data/templates/default/docstring/text/note.erb +0 -0
- data/templates/default/docstring/text/private.erb +0 -0
- data/templates/default/docstring/text/returns_void.erb +0 -0
- data/templates/default/docstring/text/text.erb +0 -0
- data/templates/default/docstring/text/todo.erb +0 -0
- data/templates/default/fulldoc/html/css/common.css +0 -0
- data/templates/default/fulldoc/html/css/full_list.css +0 -0
- data/templates/default/fulldoc/html/css/style.css +31 -20
- data/templates/default/fulldoc/html/frames.erb +0 -0
- data/templates/default/fulldoc/html/full_list.erb +2 -2
- data/templates/default/fulldoc/html/full_list_class.erb +0 -0
- data/templates/default/fulldoc/html/full_list_file.erb +0 -0
- data/templates/default/fulldoc/html/full_list_method.erb +0 -0
- data/templates/default/fulldoc/html/js/app.js +3 -3
- data/templates/default/fulldoc/html/js/full_list.js +0 -0
- data/templates/default/fulldoc/html/js/jquery.js +0 -0
- data/templates/default/fulldoc/html/setup.rb +22 -23
- data/templates/default/layout/dot/header.erb +0 -0
- data/templates/default/layout/dot/setup.rb +1 -0
- data/templates/default/layout/html/breadcrumb.erb +0 -0
- data/templates/default/layout/html/files.erb +0 -0
- data/templates/default/layout/html/footer.erb +0 -0
- data/templates/default/layout/html/headers.erb +2 -2
- data/templates/default/layout/html/index.erb +0 -0
- data/templates/default/layout/html/layout.erb +1 -3
- data/templates/default/layout/html/listing.erb +0 -0
- data/templates/default/layout/html/objects.erb +0 -0
- data/templates/default/layout/html/script_setup.erb +0 -0
- data/templates/default/layout/html/search.erb +0 -0
- data/templates/default/layout/html/setup.rb +21 -19
- data/templates/default/method/html/header.erb +0 -0
- data/templates/default/method/setup.rb +2 -1
- data/templates/default/method/text/header.erb +0 -0
- data/templates/default/method_details/html/header.erb +0 -0
- data/templates/default/method_details/html/method_signature.erb +0 -0
- data/templates/default/method_details/html/source.erb +0 -0
- data/templates/default/method_details/setup.rb +1 -0
- data/templates/default/method_details/text/header.erb +0 -0
- data/templates/default/method_details/text/method_signature.erb +0 -0
- data/templates/default/method_details/text/setup.rb +3 -2
- data/templates/default/module/dot/child.erb +0 -0
- data/templates/default/module/dot/dependencies.erb +0 -0
- data/templates/default/module/dot/header.erb +0 -0
- data/templates/default/module/dot/info.erb +0 -0
- data/templates/default/module/dot/setup.rb +2 -1
- data/templates/default/module/html/attribute_details.erb +0 -0
- data/templates/default/module/html/attribute_summary.erb +0 -0
- data/templates/default/module/html/box_info.erb +0 -0
- data/templates/default/module/html/children.erb +0 -0
- data/templates/default/module/html/constant_summary.erb +0 -0
- data/templates/default/module/html/defines.erb +0 -0
- data/templates/default/module/html/header.erb +0 -0
- data/templates/default/module/html/inherited_attributes.erb +0 -0
- data/templates/default/module/html/inherited_constants.erb +0 -0
- data/templates/default/module/html/inherited_methods.erb +0 -0
- data/templates/default/module/html/item_summary.erb +0 -0
- data/templates/default/module/html/method_details_list.erb +0 -0
- data/templates/default/module/html/method_summary.erb +0 -0
- data/templates/default/module/html/methodmissing.erb +0 -0
- data/templates/default/module/html/pre_docstring.erb +0 -0
- data/templates/default/module/setup.rb +24 -26
- data/templates/default/module/text/children.erb +0 -0
- data/templates/default/module/text/class_meths_list.erb +0 -0
- data/templates/default/module/text/extends.erb +0 -0
- data/templates/default/module/text/header.erb +0 -0
- data/templates/default/module/text/includes.erb +0 -0
- data/templates/default/module/text/instance_meths_list.erb +0 -0
- data/templates/default/module/text/setup.rb +2 -1
- data/templates/default/onefile/html/files.erb +0 -0
- data/templates/default/onefile/html/headers.erb +0 -0
- data/templates/default/onefile/html/layout.erb +3 -3
- data/templates/default/onefile/html/readme.erb +0 -0
- data/templates/default/onefile/html/setup.rb +9 -8
- data/templates/default/root/dot/child.erb +0 -0
- data/templates/default/root/dot/setup.rb +3 -2
- data/templates/default/root/html/setup.rb +2 -1
- data/templates/default/tags/html/example.erb +0 -0
- data/templates/default/tags/html/index.erb +0 -0
- data/templates/default/tags/html/option.erb +1 -1
- data/templates/default/tags/html/overload.erb +0 -0
- data/templates/default/tags/html/see.erb +0 -0
- data/templates/default/tags/html/tag.erb +1 -1
- data/templates/default/tags/setup.rb +7 -5
- data/templates/default/tags/text/example.erb +0 -0
- data/templates/default/tags/text/index.erb +0 -0
- data/templates/default/tags/text/option.erb +1 -1
- data/templates/default/tags/text/overload.erb +0 -0
- data/templates/default/tags/text/see.erb +0 -0
- data/templates/default/tags/text/tag.erb +2 -2
- data/templates/guide/class/html/setup.rb +1 -0
- data/templates/guide/docstring/html/setup.rb +1 -0
- data/templates/guide/fulldoc/html/css/style.css +0 -0
- data/templates/guide/fulldoc/html/js/app.js +0 -0
- data/templates/guide/fulldoc/html/setup.rb +7 -6
- data/templates/guide/layout/html/layout.erb +0 -0
- data/templates/guide/layout/html/setup.rb +2 -5
- data/templates/guide/method/html/header.erb +0 -0
- data/templates/guide/method/html/setup.rb +5 -4
- data/templates/guide/module/html/header.erb +0 -0
- data/templates/guide/module/html/method_list.erb +0 -0
- data/templates/guide/module/html/setup.rb +2 -1
- data/templates/guide/onefile/html/files.erb +0 -0
- data/templates/guide/onefile/html/setup.rb +1 -0
- data/templates/guide/onefile/html/toc.erb +0 -0
- data/templates/guide/tags/html/setup.rb +1 -0
- data/yard.gemspec +2 -1
- metadata +10 -2
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AliasHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AliasHandler" do
|
4
5
|
before(:all) { parse_file :alias_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
it "throws alias into namespace object list" do
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AttributeHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AttributeHandler" do
|
4
5
|
before(:all) { parse_file :attribute_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
def read_write(namespace, name, read, write, scope = :instance)
|
7
|
-
rname
|
8
|
+
rname = namespace.to_s + "#" + name.to_s
|
9
|
+
wname = namespace.to_s + "#" + name.to_s + "="
|
8
10
|
if read
|
9
11
|
expect(Registry.at(rname)).to be_instance_of(CodeObjects::MethodObject)
|
10
12
|
else
|
@@ -18,8 +20,8 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AttributeHandl
|
|
18
20
|
end
|
19
21
|
|
20
22
|
attrs = Registry.at(namespace).attributes[scope][name]
|
21
|
-
expect(attrs[:read]).to eq
|
22
|
-
expect(attrs[:write]).to eq
|
23
|
+
expect(attrs[:read]).to eq(read ? Registry.at(rname) : nil)
|
24
|
+
expect(attrs[:write]).to eq(write ? Registry.at(wname) : nil)
|
23
25
|
end
|
24
26
|
|
25
27
|
it "parses attributes inside modules too" do
|
@@ -91,4 +93,4 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AttributeHandl
|
|
91
93
|
it "maintains visibility for attr_reader" do
|
92
94
|
expect(Registry.at('D#parser').visibility).to eq :protected
|
93
95
|
end
|
94
|
-
end
|
96
|
+
end
|
data/spec/handlers/base_spec.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
require 'ostruct'
|
3
4
|
|
4
5
|
include Parser
|
5
6
|
|
6
|
-
describe YARD::Handlers::Base do
|
7
|
+
RSpec.describe YARD::Handlers::Base do
|
7
8
|
describe "#handles and inheritance" do
|
8
9
|
before do
|
9
10
|
allow(Handlers::Base).to receive(:inherited)
|
@@ -160,9 +161,9 @@ describe YARD::Handlers::Base do
|
|
160
161
|
def create_handler(stmts, parser_type)
|
161
162
|
$handler_counter ||= 0
|
162
163
|
sklass = parser_type == :ruby ? "Base" : "Legacy::Base"
|
163
|
-
instance_eval(<<-eof)
|
164
|
+
instance_eval(<<-eof, __FILE__, __LINE__ + 1)
|
164
165
|
class ::InFileHandler#{$handler_counter += 1} < Handlers::Ruby::#{sklass}
|
165
|
-
handles
|
166
|
+
handles(/^class/)
|
166
167
|
#{stmts}
|
167
168
|
def process; MethodObject.new(:root, :FOO) end
|
168
169
|
end
|
@@ -175,7 +176,7 @@ describe YARD::Handlers::Base do
|
|
175
176
|
create_handler(stmts, parser_type)
|
176
177
|
parse(file, parser_type)
|
177
178
|
expect(Registry.at('#FOO')).send(creates ? :not_to : :to, be_nil)
|
178
|
-
Handlers::Base.subclasses.delete_if {|k,
|
179
|
+
Handlers::Base.subclasses.delete_if {|k, _v| k.to_s =~ /^InFileHandler/ }
|
179
180
|
end
|
180
181
|
|
181
182
|
[:ruby, :ruby18].each do |parser_type|
|
@@ -198,13 +199,13 @@ describe YARD::Handlers::Base do
|
|
198
199
|
end
|
199
200
|
|
200
201
|
it "allows a Regexp as argument and test against full path" do
|
201
|
-
test_handler 'file_a.rbx', 'in_file
|
202
|
-
test_handler '/path/to/file_a.rbx', 'in_file
|
203
|
-
test_handler '/path/to/file_a.rbx', 'in_file
|
202
|
+
test_handler 'file_a.rbx', 'in_file(/\.rbx$/)', true, parser_type
|
203
|
+
test_handler '/path/to/file_a.rbx', 'in_file(/\/to\/file_/)', true, parser_type
|
204
|
+
test_handler '/path/to/file_a.rbx', 'in_file(/^\/path/)', true, parser_type
|
204
205
|
end
|
205
206
|
|
206
207
|
it "allows multiple in_file declarations" do
|
207
|
-
stmts = 'in_file "x"; in_file
|
208
|
+
stmts = 'in_file "x"; in_file(/y/); in_file "foo.rb"'
|
208
209
|
test_handler 'foo.rb', stmts, true, parser_type
|
209
210
|
test_handler 'xyzzy.rb', stmts, true, parser_type
|
210
211
|
test_handler 'x', stmts, true, parser_type
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::ClassHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::ClassHandler do
|
4
5
|
it "registers classes" do
|
5
6
|
parse_init 'cFoo = rb_define_class("Foo", rb_cObject);'
|
6
7
|
expect(Registry.at('Foo').type).to eq :class
|
@@ -1,14 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::ConstantHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::ConstantHandler do
|
4
5
|
it "registers constants" do
|
5
6
|
parse_init <<-eof
|
6
7
|
mFoo = rb_define_module("Foo");
|
7
8
|
rb_define_const(mFoo, "FOO", ID2SYM(100));
|
8
9
|
rb_define_global_const("BAR", ID2SYM(100));
|
9
10
|
eof
|
10
|
-
|
11
|
-
|
11
|
+
expect(Registry.at('Foo::FOO').type).to eq :constant
|
12
|
+
expect(Registry.at('BAR').type).to eq :constant
|
12
13
|
end
|
13
14
|
|
14
15
|
it "looks for override comments" do
|
@@ -67,4 +68,4 @@ describe YARD::Handlers::C::ConstantHandler do
|
|
67
68
|
expect(foo.value).to eq '100:x:y'
|
68
69
|
expect(foo.docstring).to eq 'foobar:x!'
|
69
70
|
end
|
70
|
-
end
|
71
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::MixinHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::MixinHandler do
|
4
5
|
it "adds includes to modules or classes" do
|
5
6
|
parse_init <<-eof
|
6
7
|
mFoo = rb_define_module("Foo");
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::ClassHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::ClassHandler do
|
4
5
|
it "registers modules" do
|
5
6
|
parse_init 'mFoo = rb_define_module("Foo");'
|
6
7
|
expect(Registry.at('Foo').type).to eq :module
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::OverrideCommentHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::OverrideCommentHandler do
|
4
5
|
[:class, :module].each do |type|
|
5
6
|
it "handles Document-#{type}" do
|
6
7
|
parse(<<-eof)
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + "/spec_helper"
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::PathHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::PathHandler do
|
4
5
|
it "tracks variable names defined under namespaces" do
|
5
6
|
parse_init <<-eof
|
6
7
|
mFoo = rb_define_module("Foo");
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe YARD::Handlers::C::StructHandler do
|
4
|
+
RSpec.describe YARD::Handlers::C::StructHandler do
|
4
5
|
after { Registry.clear }
|
5
6
|
|
6
7
|
it "handles Struct class definitions" do
|
@@ -12,4 +13,4 @@ describe YARD::Handlers::C::StructHandler do
|
|
12
13
|
expect(Registry.at('Range').type).to eq :class
|
13
14
|
expect(Registry.at('Range').superclass).to eq P(:Foo)
|
14
15
|
end
|
15
|
-
end
|
16
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassConditionHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassConditionHandler" do
|
4
5
|
before(:all) { parse_file :class_condition_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
def verify_method(*names)
|
@@ -64,4 +65,4 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassCondition
|
|
64
65
|
eof
|
65
66
|
no_undoc_error "if caller.none? { |l| l =~ %r{lib/rails/generators\\.rb:(\\d+):in `lookup!'$} }; end"
|
66
67
|
end
|
67
|
-
end
|
68
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassHandler" do
|
4
5
|
before(:all) { parse_file :class_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
it "parses a class block with docstring" do
|
@@ -243,4 +244,4 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassHandler"
|
|
243
244
|
it "handles inheritance from 'self'" do
|
244
245
|
expect(Registry.at('Outer1::Inner1').superclass).to eq Registry.at('Outer1')
|
245
246
|
end
|
246
|
-
end
|
247
|
+
end
|
@@ -1,9 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
RSpec.shared_examples "class method visibility decorator" do
|
2
3
|
# Use let(:visibility) to specify the name of the x_class_method
|
3
4
|
# visibility decorator to test.
|
4
5
|
|
5
6
|
describe do
|
6
|
-
before
|
7
|
+
before do
|
7
8
|
StubbedSourceParser.parse_string <<-CODE
|
8
9
|
class A
|
9
10
|
def self.b; end
|
@@ -15,7 +16,7 @@ shared_examples "class method visibility decorator" do
|
|
15
16
|
#{visibility}_class_method("e")
|
16
17
|
end
|
17
18
|
CODE
|
18
|
-
|
19
|
+
end
|
19
20
|
|
20
21
|
it "handles private_class_method statement" do
|
21
22
|
expect(Registry.at('A.c').visibility).to eq visibility
|
@@ -42,7 +43,7 @@ shared_examples "class method visibility decorator" do
|
|
42
43
|
end
|
43
44
|
|
44
45
|
describe "handles reopened class" do
|
45
|
-
before
|
46
|
+
before do
|
46
47
|
StubbedSourceParser.parse_string <<-CODE
|
47
48
|
class SingletonClass
|
48
49
|
|
@@ -78,7 +79,7 @@ shared_examples "class method visibility decorator" do
|
|
78
79
|
|
79
80
|
end
|
80
81
|
CODE
|
81
|
-
|
82
|
+
end
|
82
83
|
|
83
84
|
specify do
|
84
85
|
expect(Registry.at('SingletonClass.foo').visibility).not_to eq visibility
|
@@ -94,7 +95,7 @@ shared_examples "class method visibility decorator" do
|
|
94
95
|
# Valid as of Ruby 2.1.0:
|
95
96
|
# private_class_method def self.foo; end
|
96
97
|
|
97
|
-
let(:code)
|
98
|
+
let(:code) do
|
98
99
|
<<-CODE
|
99
100
|
class SingletonClass
|
100
101
|
# Valid Ruby 2.1.0 syntax.
|
@@ -103,7 +104,7 @@ shared_examples "class method visibility decorator" do
|
|
103
104
|
end
|
104
105
|
end
|
105
106
|
CODE
|
106
|
-
|
107
|
+
end
|
107
108
|
|
108
109
|
let(:method_def) { "#{visibility}_class_method def self.foo param1, param2" }
|
109
110
|
|
@@ -114,7 +115,7 @@ shared_examples "class method visibility decorator" do
|
|
114
115
|
end
|
115
116
|
|
116
117
|
it "handles parameters correctly" do
|
117
|
-
expect(subject.parameters.map
|
118
|
+
expect(subject.parameters.map(&:first)).to eq ['param1', 'param2']
|
118
119
|
end
|
119
120
|
|
120
121
|
it "attaches documentation to method definition" do
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassVariableHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassVariableHandler" do
|
4
5
|
before(:all) { parse_file :class_variable_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
it "does not parse class variables inside methods" do
|
@@ -8,4 +9,4 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassVariableH
|
|
8
9
|
expect(obj.source).to eq "@@somevar = \"hello\""
|
9
10
|
expect(obj.value).to eq '"hello"'
|
10
11
|
end
|
11
|
-
end
|
12
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ConstantHandler" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ConstantHandler" do
|
4
5
|
before(:all) { parse_file :constant_handler_001, __FILE__ }
|
5
6
|
|
6
7
|
it "does not parse constants inside methods" do
|
@@ -12,7 +13,7 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ConstantHandle
|
|
12
13
|
end
|
13
14
|
|
14
15
|
it "maintains newlines" do
|
15
|
-
expect(Registry.at("A::B::MYCONSTANT").value.
|
16
|
+
expect(Registry.at("A::B::MYCONSTANT").value.delete("\r")).to eq "A +\nB +\nC +\nD"
|
16
17
|
end
|
17
18
|
|
18
19
|
it "turns Const = Struct.new(:sym) into class Const with attr :sym" do
|
@@ -73,4 +74,28 @@ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ConstantHandle
|
|
73
74
|
eof
|
74
75
|
end
|
75
76
|
end unless LEGACY_PARSER
|
76
|
-
|
77
|
+
|
78
|
+
it "allows constant to have same name as constant in parent namespace" do
|
79
|
+
YARD.parse_string <<-eof
|
80
|
+
module A
|
81
|
+
class C; end
|
82
|
+
module B; C = 1 end
|
83
|
+
end
|
84
|
+
eof
|
85
|
+
expect(log.io.string).to eq ""
|
86
|
+
expect(Registry.at('A::B::C').type).to eq :constant
|
87
|
+
end
|
88
|
+
|
89
|
+
it "detects compound constant names" do
|
90
|
+
YARD.parse_string <<-eof
|
91
|
+
module A
|
92
|
+
class AA; end
|
93
|
+
AA::B = true
|
94
|
+
end
|
95
|
+
A::AA::C = true
|
96
|
+
eof
|
97
|
+
|
98
|
+
expect(Registry.at('A::AA::B').type).to eq :constant
|
99
|
+
expect(Registry.at('A::AA::C').type).to eq :constant
|
100
|
+
end if HAVE_RIPPER
|
101
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
|
-
describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
4
|
+
RSpec.describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
4
5
|
describe "#process_decorator" do
|
5
|
-
|
6
6
|
# Create a YARD decorator handler.
|
7
7
|
# @param name [Symbol] name of the mock decorator
|
8
8
|
def create_test_handler(name)
|
@@ -22,11 +22,11 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
22
22
|
# process_decorator params written like this due to Ruby 1.8.
|
23
23
|
# A modern handler should splat local_nodes.
|
24
24
|
local_data[:return] =
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
process_decorator(*(local_nodes + [local_mock_handler_opts])) do |method, node, mname|
|
26
|
+
local_data[:method] = method
|
27
|
+
local_data[:node] = node
|
28
|
+
local_data[:name] = mname
|
29
|
+
end
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -35,10 +35,10 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
35
35
|
# @param symbols [Symbol] method names
|
36
36
|
# @return [String] method definition code
|
37
37
|
def make_defs(*symbols)
|
38
|
-
symbols.map
|
38
|
+
symbols.map do |s|
|
39
39
|
s = "self.#{s}" if mock_handler_opts[:scope] == :class
|
40
40
|
"def #{s}; end"
|
41
|
-
|
41
|
+
end.join("\n")
|
42
42
|
end
|
43
43
|
|
44
44
|
# Generate an AST for the given source code string.
|
@@ -56,15 +56,17 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
56
56
|
let(:param_string) { 'def foo param1, param2; end' }
|
57
57
|
let(:method_defs) { [] }
|
58
58
|
let(:method_string) { "#{class_name}#foo" }
|
59
|
-
let(:code)
|
59
|
+
let(:code) do
|
60
|
+
<<-eof
|
60
61
|
class #{class_name}
|
61
|
-
#{make_defs
|
62
|
+
#{make_defs(*method_defs)}
|
62
63
|
# #{docstring}
|
63
64
|
mock_decorator #{param_string}
|
64
65
|
end
|
65
|
-
|
66
|
+
eof
|
67
|
+
end
|
66
68
|
|
67
|
-
before
|
69
|
+
before do
|
68
70
|
Registry.clear
|
69
71
|
YARD::Handlers::Base.clear_subclasses
|
70
72
|
|
@@ -74,7 +76,7 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
74
76
|
create_test_handler :third
|
75
77
|
|
76
78
|
StubbedSourceParser.parse_string code
|
77
|
-
|
79
|
+
end
|
78
80
|
|
79
81
|
it "returns an array of hashes containing the method proxy, node, and name" do
|
80
82
|
expect(subject[:return]).to be_an Array
|
@@ -84,16 +86,16 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
84
86
|
end
|
85
87
|
|
86
88
|
describe "method is a MethodObject if the method has been defined" do
|
87
|
-
let(:code) {"class DecoratorTest; mock_decorator def foo; end; end"}
|
89
|
+
let(:code) { "class DecoratorTest; mock_decorator def foo; end; end" }
|
88
90
|
|
89
91
|
specify do
|
90
|
-
expect(subject[:return].first[:method])
|
91
|
-
|
92
|
+
expect(subject[:return].first[:method]).
|
93
|
+
to be_a YARD::CodeObjects::MethodObject
|
92
94
|
end
|
93
95
|
end
|
94
96
|
|
95
97
|
describe "method is a Proxy if the method has not been defined" do
|
96
|
-
let(:code) {"class DecoratorTest; mock_decorator :foo; end"}
|
98
|
+
let(:code) { "class DecoratorTest; mock_decorator :foo; end" }
|
97
99
|
|
98
100
|
specify do
|
99
101
|
expect(subject[:return].first[:method]).to be_a YARD::CodeObjects::Proxy
|
@@ -120,7 +122,7 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
120
122
|
end
|
121
123
|
|
122
124
|
describe "nodes argument" do
|
123
|
-
subject { data[:mock][:return].map {
|
125
|
+
subject { data[:mock][:return].map {|h| h[:method].to_s } }
|
124
126
|
|
125
127
|
describe "assumes all params refer to methods by default" do
|
126
128
|
let(:method_defs) { [:foo, :bar] }
|
@@ -134,11 +136,11 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
134
136
|
|
135
137
|
describe "can specify which params to capture as methods" do
|
136
138
|
let(:method_defs) { [:foo, :bar, :baz, :bat] }
|
137
|
-
let(:parameters)
|
139
|
+
let(:parameters) do
|
138
140
|
[:option_1, :baz, :bat, :option_2, :foo, :bar].map do |s|
|
139
141
|
make_ast s.inspect
|
140
142
|
end
|
141
|
-
|
143
|
+
end
|
142
144
|
|
143
145
|
describe "as a single param" do
|
144
146
|
let(:nodes) { parameters[4] }
|
@@ -200,7 +202,6 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
200
202
|
end
|
201
203
|
|
202
204
|
describe "creates method proxies" do
|
203
|
-
|
204
205
|
shared_examples "decorator helper scope" do
|
205
206
|
let(:param_string) { decorator_params.map(&:inspect).join(',') }
|
206
207
|
|
@@ -234,10 +235,10 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
234
235
|
|
235
236
|
describe "for methods" do
|
236
237
|
let(:param_string) { decorator_params.join(',') }
|
237
|
-
let(:decorator_params)
|
238
|
-
"def #{'self.' if mock_handler_opts[:scope] == :class}foo f1, f2; end",
|
239
|
-
"def #{'self.' if mock_handler_opts[:scope] == :class}bar b1, b2; end"
|
240
|
-
|
238
|
+
let(:decorator_params) do
|
239
|
+
["def #{'self.' if mock_handler_opts[:scope] == :class}foo f1, f2; end",
|
240
|
+
"def #{'self.' if mock_handler_opts[:scope] == :class}bar b1, b2; end"]
|
241
|
+
end
|
241
242
|
|
242
243
|
specify do
|
243
244
|
expect(subject.count).to eq decorator_params.count
|
@@ -253,7 +254,7 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
253
254
|
end
|
254
255
|
end # decorator helper scope shared examples
|
255
256
|
|
256
|
-
subject { data[:mock][:return].map {
|
257
|
+
subject { data[:mock][:return].map {|h| h[:method] } }
|
257
258
|
|
258
259
|
let(:docstring) { 'the foo method' }
|
259
260
|
let(:method_defs) { [:foo, :bar] }
|
@@ -281,12 +282,14 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
281
282
|
|
282
283
|
describe "does not attach" do
|
283
284
|
describe "to undefined methods" do
|
284
|
-
let(:code)
|
285
|
+
let(:code) do
|
286
|
+
<<-eof
|
285
287
|
class #{class_name}
|
286
288
|
# #{docstring}
|
287
289
|
mock_decorator :foo
|
288
290
|
end
|
289
|
-
|
291
|
+
eof
|
292
|
+
end
|
290
293
|
|
291
294
|
specify do
|
292
295
|
expect(subject).not_to respond_to :docstring
|
@@ -294,7 +297,8 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
294
297
|
end
|
295
298
|
|
296
299
|
describe "to methods with existing docstring" do
|
297
|
-
let(:code)
|
300
|
+
let(:code) do
|
301
|
+
<<-eof
|
298
302
|
class #{class_name}
|
299
303
|
|
300
304
|
# original docstring
|
@@ -303,7 +307,8 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
303
307
|
# #{docstring}
|
304
308
|
mock_decorator :foo
|
305
309
|
end
|
306
|
-
|
310
|
+
eof
|
311
|
+
end
|
307
312
|
|
308
313
|
specify do
|
309
314
|
expect(subject.docstring).to eq 'original docstring'
|
@@ -316,13 +321,15 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
316
321
|
subject { Registry.at method_string }
|
317
322
|
|
318
323
|
let(:param_string) { 'def foo param1, param2; end' }
|
319
|
-
let(:code)
|
324
|
+
let(:code) do
|
325
|
+
<<-eof
|
320
326
|
class #{class_name}
|
321
|
-
#{make_defs
|
327
|
+
#{make_defs(*method_defs)}
|
322
328
|
# #{docstring}
|
323
329
|
first_decorator second_decorator third_decorator #{param_string}
|
324
330
|
end
|
325
|
-
|
331
|
+
eof
|
332
|
+
end
|
326
333
|
|
327
334
|
specify "register nested method defs" do
|
328
335
|
expect(subject).to be_a YARD::CodeObjects::MethodObject
|
@@ -352,16 +359,16 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
352
359
|
end
|
353
360
|
|
354
361
|
specify "don't transfer docstring to other decorators" do
|
355
|
-
expect(Registry.at("#{class_name}#second_decorator"))
|
356
|
-
|
362
|
+
expect(Registry.at("#{class_name}#second_decorator")).
|
363
|
+
not_to respond_to :docstring
|
357
364
|
|
358
|
-
expect(Registry.at("#{class_name}#third_decorator"))
|
359
|
-
|
365
|
+
expect(Registry.at("#{class_name}#third_decorator")).
|
366
|
+
not_to respond_to :docstring
|
360
367
|
end
|
361
368
|
|
362
|
-
describe "transfer source to decorated method defs" do
|
369
|
+
describe "transfer source to decorated method defs" do
|
363
370
|
specify do
|
364
|
-
expect(subject.source).to eq code.lines.to_a[-
|
371
|
+
expect(subject.source).to eq code.lines.to_a[-2].strip
|
365
372
|
end
|
366
373
|
|
367
374
|
describe "unless opt-out param is set" do
|
@@ -381,25 +388,6 @@ describe "YARD::Handlers::Ruby::DecoratorHandlerMethods" do
|
|
381
388
|
expect(subject.source).to eq make_defs(*method_defs)
|
382
389
|
end
|
383
390
|
end
|
384
|
-
|
385
|
-
describe "are tagged" do
|
386
|
-
let(:method_defs) { [:foo, :bar] }
|
387
|
-
let(:param_string) { method_defs.map(&:inspect).join(',') }
|
388
|
-
|
389
|
-
specify do
|
390
|
-
expect(subject.tags.count).to eq 3
|
391
|
-
|
392
|
-
subject.tags.each do |tag|
|
393
|
-
expect(tag.tag_name).to eq 'decorator'
|
394
|
-
end
|
395
|
-
|
396
|
-
expect(subject.tags.map(&:text)).to eq [
|
397
|
-
'third_decorator',
|
398
|
-
'second_decorator',
|
399
|
-
'first_decorator'
|
400
|
-
]
|
401
|
-
end
|
402
|
-
end
|
403
391
|
end
|
404
392
|
end # process_decorator
|
405
393
|
end unless LEGACY_PARSER
|