rubocop 0.29.1 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubocop might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +73 -1
- data/README.md +11 -2
- data/config/default.yml +194 -6
- data/config/disabled.yml +25 -1
- data/config/enabled.yml +74 -12
- data/lib/rubocop.rb +19 -2
- data/lib/rubocop/config.rb +23 -3
- data/lib/rubocop/config_loader.rb +9 -1
- data/lib/rubocop/cop/autocorrect_logic.rb +26 -0
- data/lib/rubocop/cop/cop.rb +33 -17
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +16 -4
- data/lib/rubocop/cop/lint/block_alignment.rb +5 -14
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +61 -0
- data/lib/rubocop/cop/lint/void.rb +11 -3
- data/lib/rubocop/cop/mixin/on_normal_if_unless.rb +17 -0
- data/lib/rubocop/cop/performance/detect.rb +72 -0
- data/lib/rubocop/cop/performance/flat_map.rb +64 -0
- data/lib/rubocop/cop/performance/reverse_each.rb +43 -0
- data/lib/rubocop/cop/performance/sample.rb +58 -0
- data/lib/rubocop/cop/performance/size.rb +64 -0
- data/lib/rubocop/cop/rails/date.rb +121 -0
- data/lib/rubocop/cop/rails/find_by.rb +52 -0
- data/lib/rubocop/cop/rails/find_each.rb +41 -0
- data/lib/rubocop/cop/rails/time_zone.rb +93 -0
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +45 -0
- data/lib/rubocop/cop/style/block_delimiters.rb +186 -0
- data/lib/rubocop/cop/style/closing_parenthesis_indentation.rb +76 -0
- data/lib/rubocop/cop/style/command_literal.rb +120 -0
- data/lib/rubocop/cop/style/copyright.rb +87 -0
- data/lib/rubocop/cop/style/documentation.rb +32 -0
- data/lib/rubocop/cop/style/empty_else.rb +85 -16
- data/lib/rubocop/cop/style/encoding.rb +14 -2
- data/lib/rubocop/cop/style/end_of_line.rb +5 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +86 -23
- data/lib/rubocop/cop/style/if_unless_modifier.rb +15 -0
- data/lib/rubocop/cop/style/indentation_consistency.rb +13 -6
- data/lib/rubocop/cop/style/indentation_width.rb +34 -10
- data/lib/rubocop/cop/style/lambda.rb +32 -17
- data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -0
- data/lib/rubocop/cop/style/missing_else.rb +72 -0
- data/lib/rubocop/cop/style/regexp_literal.rb +89 -58
- data/lib/rubocop/cop/style/space_around_operators.rb +13 -2
- data/lib/rubocop/cop/style/space_before_block_braces.rb +3 -3
- data/lib/rubocop/cop/style/space_inside_block_braces.rb +9 -5
- data/lib/rubocop/cop/style/symbol_literal.rb +36 -0
- data/lib/rubocop/cop/style/trailing_blank_lines.rb +7 -0
- data/lib/rubocop/cop/style/trailing_comma.rb +21 -7
- data/lib/rubocop/cop/style/trivial_accessors.rb +17 -3
- data/lib/rubocop/cop/style/unneeded_capital_w.rb +4 -6
- data/lib/rubocop/cop/style/while_until_modifier.rb +10 -0
- data/lib/rubocop/cop/util.rb +24 -19
- data/lib/rubocop/cop/variable_force.rb +14 -0
- data/lib/rubocop/cop/variable_force/reference.rb +10 -4
- data/lib/rubocop/formatter/html_formatter.rb +10 -4
- data/lib/rubocop/formatter/text_util.rb +5 -7
- data/lib/rubocop/options.rb +47 -45
- data/lib/rubocop/path_util.rb +12 -8
- data/lib/rubocop/processed_source.rb +12 -1
- data/lib/rubocop/rake_task.rb +2 -2
- data/lib/rubocop/version.rb +1 -1
- data/relnotes/v0.30.0.md +145 -0
- data/rubocop.gemspec +15 -3
- metadata +22 -545
- data/.gitignore +0 -54
- data/.rspec +0 -1
- data/.rubocop.yml +0 -11
- data/.rubocop_todo.yml +0 -28
- data/.travis.yml +0 -22
- data/Gemfile +0 -15
- data/Rakefile +0 -41
- data/lib/rubocop/cop/style/blocks.rb +0 -80
- data/lib/rubocop/cop/style/unneeded_percent_x.rb +0 -25
- data/logo/rubocop-final-logo.eps +0 -0
- data/spec/.rubocop.yml +0 -5
- data/spec/fixtures/html_formatter/expected.html +0 -495
- data/spec/fixtures/html_formatter/project/app/controllers/application_controller.rb +0 -5
- data/spec/fixtures/html_formatter/project/app/controllers/books_controller.rb +0 -74
- data/spec/fixtures/html_formatter/project/app/models/book.rb +0 -5
- data/spec/isolated_environment_spec.rb +0 -24
- data/spec/project_spec.rb +0 -119
- data/spec/rubocop/cli_spec.rb +0 -2740
- data/spec/rubocop/comment_config_spec.rb +0 -105
- data/spec/rubocop/config_loader_spec.rb +0 -377
- data/spec/rubocop/config_spec.rb +0 -235
- data/spec/rubocop/config_store_spec.rb +0 -53
- data/spec/rubocop/cop/commissioner_spec.rb +0 -85
- data/spec/rubocop/cop/cop_spec.rb +0 -135
- data/spec/rubocop/cop/corrector_spec.rb +0 -59
- data/spec/rubocop/cop/force_spec.rb +0 -29
- data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +0 -113
- data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +0 -35
- data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +0 -130
- data/spec/rubocop/cop/lint/block_alignment_spec.rb +0 -533
- data/spec/rubocop/cop/lint/condition_position_spec.rb +0 -51
- data/spec/rubocop/cop/lint/debugger_spec.rb +0 -73
- data/spec/rubocop/cop/lint/def_end_alignment_spec.rb +0 -108
- data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +0 -38
- data/spec/rubocop/cop/lint/duplicate_methods_spec.rb +0 -189
- data/spec/rubocop/cop/lint/else_layout_spec.rb +0 -65
- data/spec/rubocop/cop/lint/empty_ensure_spec.rb +0 -27
- data/spec/rubocop/cop/lint/empty_interpolation_spec.rb +0 -18
- data/spec/rubocop/cop/lint/end_alignment_spec.rb +0 -91
- data/spec/rubocop/cop/lint/end_in_method_spec.rb +0 -29
- data/spec/rubocop/cop/lint/ensure_return_spec.rb +0 -39
- data/spec/rubocop/cop/lint/eval_spec.rb +0 -33
- data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +0 -30
- data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +0 -33
- data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +0 -172
- data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +0 -31
- data/spec/rubocop/cop/lint/loop_spec.rb +0 -27
- data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +0 -57
- data/spec/rubocop/cop/lint/require_parentheses_spec.rb +0 -82
- data/spec/rubocop/cop/lint/rescue_exception_spec.rb +0 -123
- data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +0 -237
- data/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +0 -66
- data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +0 -51
- data/spec/rubocop/cop/lint/syntax_spec.rb +0 -34
- data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +0 -179
- data/spec/rubocop/cop/lint/unreachable_code_spec.rb +0 -63
- data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +0 -231
- data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +0 -278
- data/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +0 -192
- data/spec/rubocop/cop/lint/useless_assignment_spec.rb +0 -1778
- data/spec/rubocop/cop/lint/useless_comparison_spec.rb +0 -30
- data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +0 -48
- data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +0 -211
- data/spec/rubocop/cop/lint/void_spec.rb +0 -64
- data/spec/rubocop/cop/metrics/abc_size_spec.rb +0 -109
- data/spec/rubocop/cop/metrics/block_nesting_spec.rb +0 -156
- data/spec/rubocop/cop/metrics/class_length_spec.rb +0 -131
- data/spec/rubocop/cop/metrics/cyclomatic_complexity_spec.rb +0 -204
- data/spec/rubocop/cop/metrics/line_length_spec.rb +0 -136
- data/spec/rubocop/cop/metrics/method_length_spec.rb +0 -147
- data/spec/rubocop/cop/metrics/parameter_lists_spec.rb +0 -44
- data/spec/rubocop/cop/metrics/perceived_complexity_spec.rb +0 -222
- data/spec/rubocop/cop/offense_spec.rb +0 -133
- data/spec/rubocop/cop/rails/action_filter_spec.rb +0 -64
- data/spec/rubocop/cop/rails/default_scope_spec.rb +0 -37
- data/spec/rubocop/cop/rails/delegate_spec.rb +0 -177
- data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +0 -13
- data/spec/rubocop/cop/rails/output_spec.rb +0 -37
- data/spec/rubocop/cop/rails/read_write_attribute_spec.rb +0 -130
- data/spec/rubocop/cop/rails/scope_args_spec.rb +0 -25
- data/spec/rubocop/cop/rails/validation_spec.rb +0 -28
- data/spec/rubocop/cop/severity_spec.rb +0 -113
- data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +0 -421
- data/spec/rubocop/cop/style/accessor_method_name_spec.rb +0 -81
- data/spec/rubocop/cop/style/alias_spec.rb +0 -59
- data/spec/rubocop/cop/style/align_array_spec.rb +0 -123
- data/spec/rubocop/cop/style/align_hash_spec.rb +0 -411
- data/spec/rubocop/cop/style/align_parameters_spec.rb +0 -431
- data/spec/rubocop/cop/style/and_or_spec.rb +0 -235
- data/spec/rubocop/cop/style/array_join_spec.rb +0 -29
- data/spec/rubocop/cop/style/ascii_comments_spec.rb +0 -21
- data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +0 -36
- data/spec/rubocop/cop/style/attr_spec.rb +0 -29
- data/spec/rubocop/cop/style/bare_percent_literals_spec.rb +0 -132
- data/spec/rubocop/cop/style/begin_block_spec.rb +0 -13
- data/spec/rubocop/cop/style/block_comments_spec.rb +0 -45
- data/spec/rubocop/cop/style/block_end_newline_spec.rb +0 -61
- data/spec/rubocop/cop/style/blocks_spec.rb +0 -121
- data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +0 -288
- data/spec/rubocop/cop/style/case_equality_spec.rb +0 -13
- data/spec/rubocop/cop/style/case_indentation_spec.rb +0 -293
- data/spec/rubocop/cop/style/character_literal_spec.rb +0 -37
- data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +0 -40
- data/spec/rubocop/cop/style/class_and_module_children_spec.rb +0 -133
- data/spec/rubocop/cop/style/class_check_spec.rb +0 -41
- data/spec/rubocop/cop/style/class_methods_spec.rb +0 -80
- data/spec/rubocop/cop/style/class_vars_spec.rb +0 -19
- data/spec/rubocop/cop/style/collection_methods_spec.rb +0 -48
- data/spec/rubocop/cop/style/colon_method_call_spec.rb +0 -65
- data/spec/rubocop/cop/style/comment_annotation_spec.rb +0 -86
- data/spec/rubocop/cop/style/comment_indentation_spec.rb +0 -179
- data/spec/rubocop/cop/style/constant_name_spec.rb +0 -65
- data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +0 -43
- data/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +0 -45
- data/spec/rubocop/cop/style/documentation_spec.rb +0 -146
- data/spec/rubocop/cop/style/dot_position_spec.rb +0 -132
- data/spec/rubocop/cop/style/double_negation_spec.rb +0 -22
- data/spec/rubocop/cop/style/each_with_object_spec.rb +0 -73
- data/spec/rubocop/cop/style/else_alignment_spec.rb +0 -506
- data/spec/rubocop/cop/style/empty_else_spec.rb +0 -100
- data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +0 -135
- data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +0 -178
- data/spec/rubocop/cop/style/empty_lines_around_block_body_spec.rb +0 -103
- data/spec/rubocop/cop/style/empty_lines_around_class_body_spec.rb +0 -135
- data/spec/rubocop/cop/style/empty_lines_around_method_body_spec.rb +0 -90
- data/spec/rubocop/cop/style/empty_lines_around_module_body_spec.rb +0 -79
- data/spec/rubocop/cop/style/empty_lines_spec.rb +0 -51
- data/spec/rubocop/cop/style/empty_literal_spec.rb +0 -117
- data/spec/rubocop/cop/style/encoding_spec.rb +0 -139
- data/spec/rubocop/cop/style/end_block_spec.rb +0 -13
- data/spec/rubocop/cop/style/end_of_line_spec.rb +0 -65
- data/spec/rubocop/cop/style/even_odd_spec.rb +0 -164
- data/spec/rubocop/cop/style/extra_spacing_spec.rb +0 -68
- data/spec/rubocop/cop/style/file_name_spec.rb +0 -84
- data/spec/rubocop/cop/style/first_parameter_indentation_spec.rb +0 -304
- data/spec/rubocop/cop/style/flip_flop_spec.rb +0 -23
- data/spec/rubocop/cop/style/for_spec.rb +0 -105
- data/spec/rubocop/cop/style/format_string_spec.rb +0 -184
- data/spec/rubocop/cop/style/global_vars_spec.rb +0 -34
- data/spec/rubocop/cop/style/guard_clause_spec.rb +0 -172
- data/spec/rubocop/cop/style/hash_syntax_spec.rb +0 -137
- data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +0 -146
- data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +0 -24
- data/spec/rubocop/cop/style/indent_array_spec.rb +0 -173
- data/spec/rubocop/cop/style/indent_hash_spec.rb +0 -367
- data/spec/rubocop/cop/style/indentation_consistency_spec.rb +0 -509
- data/spec/rubocop/cop/style/indentation_width_spec.rb +0 -885
- data/spec/rubocop/cop/style/infinite_loop_spec.rb +0 -48
- data/spec/rubocop/cop/style/inline_comment_spec.rb +0 -13
- data/spec/rubocop/cop/style/lambda_call_spec.rb +0 -65
- data/spec/rubocop/cop/style/lambda_spec.rb +0 -76
- data/spec/rubocop/cop/style/leading_comment_space_spec.rb +0 -64
- data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +0 -184
- data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +0 -59
- data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +0 -60
- data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +0 -108
- data/spec/rubocop/cop/style/method_name_spec.rb +0 -125
- data/spec/rubocop/cop/style/module_function_spec.rb +0 -24
- data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +0 -78
- data/spec/rubocop/cop/style/multiline_block_layout_spec.rb +0 -199
- data/spec/rubocop/cop/style/multiline_if_then_spec.rb +0 -134
- data/spec/rubocop/cop/style/multiline_operation_indentation_spec.rb +0 -464
- data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +0 -18
- data/spec/rubocop/cop/style/negated_if_spec.rb +0 -102
- data/spec/rubocop/cop/style/negated_while_spec.rb +0 -64
- data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +0 -21
- data/spec/rubocop/cop/style/next_spec.rb +0 -301
- data/spec/rubocop/cop/style/nil_comparison_spec.rb +0 -29
- data/spec/rubocop/cop/style/non_nil_check_spec.rb +0 -132
- data/spec/rubocop/cop/style/not_spec.rb +0 -28
- data/spec/rubocop/cop/style/numeric_literals_spec.rb +0 -80
- data/spec/rubocop/cop/style/one_line_conditional_spec.rb +0 -13
- data/spec/rubocop/cop/style/op_method_spec.rb +0 -85
- data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +0 -161
- data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +0 -316
- data/spec/rubocop/cop/style/percent_q_literals_spec.rb +0 -122
- data/spec/rubocop/cop/style/perl_backrefs_spec.rb +0 -22
- data/spec/rubocop/cop/style/predicate_name_spec.rb +0 -57
- data/spec/rubocop/cop/style/proc_spec.rb +0 -27
- data/spec/rubocop/cop/style/raise_args_spec.rb +0 -87
- data/spec/rubocop/cop/style/redundant_begin_spec.rb +0 -121
- data/spec/rubocop/cop/style/redundant_exception_spec.rb +0 -59
- data/spec/rubocop/cop/style/redundant_return_spec.rb +0 -171
- data/spec/rubocop/cop/style/redundant_self_spec.rb +0 -186
- data/spec/rubocop/cop/style/regexp_literal_spec.rb +0 -188
- data/spec/rubocop/cop/style/rescue_modifier_spec.rb +0 -116
- data/spec/rubocop/cop/style/self_assignment_spec.rb +0 -49
- data/spec/rubocop/cop/style/semicolon_spec.rb +0 -114
- data/spec/rubocop/cop/style/signal_exception_spec.rb +0 -289
- data/spec/rubocop/cop/style/single_line_block_params_spec.rb +0 -82
- data/spec/rubocop/cop/style/single_line_methods_spec.rb +0 -94
- data/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +0 -63
- data/spec/rubocop/cop/style/space_after_colon_spec.rb +0 -55
- data/spec/rubocop/cop/style/space_after_comma_spec.rb +0 -30
- data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +0 -84
- data/spec/rubocop/cop/style/space_after_method_name_spec.rb +0 -70
- data/spec/rubocop/cop/style/space_after_not_spec.rb +0 -22
- data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +0 -23
- data/spec/rubocop/cop/style/space_around_block_parameters_spec.rb +0 -155
- data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +0 -95
- data/spec/rubocop/cop/style/space_around_operators_spec.rb +0 -330
- data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +0 -73
- data/spec/rubocop/cop/style/space_before_comma_spec.rb +0 -42
- data/spec/rubocop/cop/style/space_before_comment_spec.rb +0 -34
- data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +0 -70
- data/spec/rubocop/cop/style/space_before_semicolon_spec.rb +0 -28
- data/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +0 -317
- data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +0 -83
- data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +0 -147
- data/spec/rubocop/cop/style/space_inside_parens_spec.rb +0 -44
- data/spec/rubocop/cop/style/space_inside_range_literal_spec.rb +0 -64
- data/spec/rubocop/cop/style/special_global_vars_spec.rb +0 -62
- data/spec/rubocop/cop/style/string_literals_in_interpolation_spec.rb +0 -99
- data/spec/rubocop/cop/style/string_literals_spec.rb +0 -228
- data/spec/rubocop/cop/style/struct_inheritance_spec.rb +0 -44
- data/spec/rubocop/cop/style/symbol_array_spec.rb +0 -37
- data/spec/rubocop/cop/style/symbol_proc_spec.rb +0 -100
- data/spec/rubocop/cop/style/tab_spec.rb +0 -47
- data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +0 -83
- data/spec/rubocop/cop/style/trailing_comma_spec.rb +0 -390
- data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +0 -31
- data/spec/rubocop/cop/style/trivial_accessors_spec.rb +0 -558
- data/spec/rubocop/cop/style/unless_else_spec.rb +0 -23
- data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +0 -90
- data/spec/rubocop/cop/style/unneeded_percent_q_spec.rb +0 -127
- data/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +0 -34
- data/spec/rubocop/cop/style/variable_interpolation_spec.rb +0 -76
- data/spec/rubocop/cop/style/variable_name_spec.rb +0 -107
- data/spec/rubocop/cop/style/when_then_spec.rb +0 -42
- data/spec/rubocop/cop/style/while_until_do_spec.rb +0 -55
- data/spec/rubocop/cop/style/while_until_modifier_spec.rb +0 -93
- data/spec/rubocop/cop/style/word_array_spec.rb +0 -117
- data/spec/rubocop/cop/team_spec.rb +0 -190
- data/spec/rubocop/cop/util_spec.rb +0 -102
- data/spec/rubocop/cop/variable_force/assignment_spec.rb +0 -200
- data/spec/rubocop/cop/variable_force/locatable_spec.rb +0 -699
- data/spec/rubocop/cop/variable_force/reference_spec.rb +0 -19
- data/spec/rubocop/cop/variable_force/scope_spec.rb +0 -319
- data/spec/rubocop/cop/variable_force/variable_spec.rb +0 -59
- data/spec/rubocop/cop/variable_force/variable_table_spec.rb +0 -276
- data/spec/rubocop/cop/variable_force_spec.rb +0 -26
- data/spec/rubocop/formatter/base_formatter_spec.rb +0 -191
- data/spec/rubocop/formatter/clang_style_formatter_spec.rb +0 -114
- data/spec/rubocop/formatter/colorizable_spec.rb +0 -107
- data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +0 -50
- data/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +0 -67
- data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +0 -63
- data/spec/rubocop/formatter/file_list_formatter_spec.rb +0 -33
- data/spec/rubocop/formatter/formatter_set_spec.rb +0 -141
- data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +0 -129
- data/spec/rubocop/formatter/html_formatter_spec.rb +0 -48
- data/spec/rubocop/formatter/json_formatter_spec.rb +0 -152
- data/spec/rubocop/formatter/offense_count_formatter_spec.rb +0 -75
- data/spec/rubocop/formatter/progress_formatter_spec.rb +0 -182
- data/spec/rubocop/formatter/simple_text_formatter_spec.rb +0 -135
- data/spec/rubocop/formatter/text_util_spec.rb +0 -55
- data/spec/rubocop/options_spec.rb +0 -181
- data/spec/rubocop/path_util_spec.rb +0 -77
- data/spec/rubocop/processed_source_spec.rb +0 -184
- data/spec/rubocop/rake_task_spec.rb +0 -122
- data/spec/rubocop/runner_spec.rb +0 -99
- data/spec/rubocop/string_util_spec.rb +0 -46
- data/spec/rubocop/target_finder_spec.rb +0 -245
- data/spec/rubocop/token_spec.rb +0 -29
- data/spec/spec_helper.rb +0 -39
- data/spec/support/cop_helper.rb +0 -75
- data/spec/support/cops/class_must_be_a_module_cop.rb +0 -19
- data/spec/support/cops/module_must_be_a_class_cop.rb +0 -19
- data/spec/support/coverage.rb +0 -15
- data/spec/support/custom_matchers.rb +0 -58
- data/spec/support/file_helper.rb +0 -23
- data/spec/support/jruby_workaround.rb +0 -15
- data/spec/support/mri_syntax_checker.rb +0 -73
- data/spec/support/shared_contexts.rb +0 -53
- data/spec/support/shared_examples.rb +0 -55
- data/spec/support/statement_modifier_helper.rb +0 -41
@@ -1,86 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::CommentAnnotation, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
let(:cop_config) do
|
8
|
-
{ 'Keywords' => %w(TODO FIXME OPTIMIZE HACK REVIEW) }
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'registers an offense for a missing colon' do
|
12
|
-
inspect_source(cop, '# TODO make better')
|
13
|
-
expect(cop.offenses.size).to eq(1)
|
14
|
-
end
|
15
|
-
|
16
|
-
context 'with configured keyword' do
|
17
|
-
let(:cop_config) { { 'Keywords' => %w(ISSUE) } }
|
18
|
-
|
19
|
-
it 'registers an offense for a missing colon after the word' do
|
20
|
-
inspect_source(cop, '# ISSUE wrong order')
|
21
|
-
expect(cop.offenses.size).to eq(1)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'when used with the clang formatter' do
|
26
|
-
let(:formatter) { RuboCop::Formatter::ClangStyleFormatter.new(output) }
|
27
|
-
let(:output) { StringIO.new }
|
28
|
-
|
29
|
-
it 'marks the annotation keyword' do
|
30
|
-
inspect_source(cop, '# TODO:make better')
|
31
|
-
formatter.report_file('t', cop.offenses)
|
32
|
-
expect(output.string).to eq(["t:1:3: C: #{described_class::MSG}",
|
33
|
-
'# TODO:make better',
|
34
|
-
' ^^^^^',
|
35
|
-
''].join("\n"))
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'registers an offense for lower case' do
|
40
|
-
inspect_source(cop, '# fixme: does not work')
|
41
|
-
expect(cop.offenses.size).to eq(1)
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'registers an offense for capitalized annotation keyword' do
|
45
|
-
inspect_source(cop, '# Optimize: does not work')
|
46
|
-
expect(cop.offenses.size).to eq(1)
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'registers an offense for upper case with colon but no note' do
|
50
|
-
inspect_source(cop, '# HACK:')
|
51
|
-
expect(cop.offenses.size).to eq(1)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'accepts upper case keyword with colon, space and note' do
|
55
|
-
inspect_source(cop, '# REVIEW: not sure about this')
|
56
|
-
expect(cop.offenses).to be_empty
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'accepts upper case keyword alone' do
|
60
|
-
inspect_source(cop, '# OPTIMIZE')
|
61
|
-
expect(cop.offenses).to be_empty
|
62
|
-
end
|
63
|
-
|
64
|
-
it 'accepts a comment that is obviously a code example' do
|
65
|
-
inspect_source(cop, '# Todo.destroy(1)')
|
66
|
-
expect(cop.offenses).to be_empty
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'accepts a keyword that is just the beginning of a sentence' do
|
70
|
-
inspect_source(cop,
|
71
|
-
["# Optimize if you want. I wouldn't recommend it.",
|
72
|
-
'# Hack is a fun game.'])
|
73
|
-
expect(cop.offenses).to be_empty
|
74
|
-
end
|
75
|
-
|
76
|
-
context 'when a keyword is not in the configuration' do
|
77
|
-
let(:cop_config) do
|
78
|
-
{ 'Keywords' => %w(FIXME OPTIMIZE HACK REVIEW) }
|
79
|
-
end
|
80
|
-
|
81
|
-
it 'accepts the word without colon' do
|
82
|
-
inspect_source(cop, '# TODO make better')
|
83
|
-
expect(cop.offenses).to be_empty
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
@@ -1,179 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::CommentIndentation do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
let(:config) do
|
8
|
-
RuboCop::Config
|
9
|
-
.new('Style/IndentationWidth' => { 'Width' => indentation_width })
|
10
|
-
end
|
11
|
-
let(:indentation_width) { 2 }
|
12
|
-
|
13
|
-
context 'on outer level' do
|
14
|
-
it 'accepts a correctly indented comment' do
|
15
|
-
inspect_source(cop, '# comment')
|
16
|
-
expect(cop.offenses).to be_empty
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'accepts a comment that follows code' do
|
20
|
-
inspect_source(cop, 'hello # comment')
|
21
|
-
expect(cop.offenses).to be_empty
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'accepts a documentation comment' do
|
25
|
-
inspect_source(cop, ['=begin',
|
26
|
-
'Doc comment',
|
27
|
-
'=end',
|
28
|
-
' hello',
|
29
|
-
' #',
|
30
|
-
'hi'])
|
31
|
-
expect(cop.highlights).to eq(['#'])
|
32
|
-
end
|
33
|
-
|
34
|
-
it 'registers an offense for an incorrectly indented (1) comment' do
|
35
|
-
inspect_source(cop, ' # comment')
|
36
|
-
expect(cop.messages)
|
37
|
-
.to eq(['Incorrect indentation detected (column 1 instead of 0).'])
|
38
|
-
expect(cop.highlights).to eq(['# comment'])
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'registers an offense for an incorrectly indented (2) comment' do
|
42
|
-
inspect_source(cop, ' # comment')
|
43
|
-
expect(cop.messages)
|
44
|
-
.to eq(['Incorrect indentation detected (column 2 instead of 0).'])
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'registers an offense for each incorrectly indented comment' do
|
48
|
-
inspect_source(cop, ['# a',
|
49
|
-
' # b',
|
50
|
-
' # c',
|
51
|
-
'# d',
|
52
|
-
'def test; end'])
|
53
|
-
expect(cop.messages)
|
54
|
-
.to eq(['Incorrect indentation detected (column 0 instead of 2).',
|
55
|
-
'Incorrect indentation detected (column 2 instead of 4).',
|
56
|
-
'Incorrect indentation detected (column 4 instead of 0).'])
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
context 'around program structure keywords' do
|
61
|
-
it 'accepts correctly indented comments' do
|
62
|
-
inspect_source(cop, ['#',
|
63
|
-
'def m',
|
64
|
-
' #',
|
65
|
-
' if a',
|
66
|
-
' #',
|
67
|
-
' b',
|
68
|
-
' # this is accepted',
|
69
|
-
' elsif aa',
|
70
|
-
' # this is accepted',
|
71
|
-
' else',
|
72
|
-
' #',
|
73
|
-
' end',
|
74
|
-
' #',
|
75
|
-
' case a',
|
76
|
-
' # this is accepted',
|
77
|
-
' when 0',
|
78
|
-
' #',
|
79
|
-
' b',
|
80
|
-
' end',
|
81
|
-
' # this is accepted',
|
82
|
-
'rescue',
|
83
|
-
'# this is accepted',
|
84
|
-
'ensure',
|
85
|
-
' #',
|
86
|
-
'end',
|
87
|
-
'#'])
|
88
|
-
expect(cop.offenses).to eq([])
|
89
|
-
end
|
90
|
-
|
91
|
-
context 'with a blank line following the comment' do
|
92
|
-
it 'accepts a correctly indented comment' do
|
93
|
-
inspect_source(cop, ['def m',
|
94
|
-
' # comment',
|
95
|
-
'',
|
96
|
-
'end'])
|
97
|
-
expect(cop.offenses).to be_empty
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'near various kinds of brackets' do
|
103
|
-
it 'accepts correctly indented comments' do
|
104
|
-
inspect_source(cop, ['#',
|
105
|
-
'a = {',
|
106
|
-
' #',
|
107
|
-
' x: [',
|
108
|
-
' 1',
|
109
|
-
' #',
|
110
|
-
' ],',
|
111
|
-
' #',
|
112
|
-
' y: func(',
|
113
|
-
' 1',
|
114
|
-
' #',
|
115
|
-
' )',
|
116
|
-
' #',
|
117
|
-
'}',
|
118
|
-
'#'])
|
119
|
-
expect(cop.offenses).to eq([])
|
120
|
-
end
|
121
|
-
|
122
|
-
it 'is unaffected by closing bracket that does not begin a line' do
|
123
|
-
inspect_source(cop, ['#',
|
124
|
-
'result = []'])
|
125
|
-
expect(cop.messages).to eq([])
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'auto-corrects' do
|
130
|
-
new_source = autocorrect_source(cop, [' # comment',
|
131
|
-
'hash1 = { a: 0,',
|
132
|
-
' # comment',
|
133
|
-
' bb: 1,',
|
134
|
-
' ccc: 2 }',
|
135
|
-
' if a',
|
136
|
-
' #',
|
137
|
-
' b',
|
138
|
-
' # this is accepted',
|
139
|
-
' elsif aa',
|
140
|
-
' # so is this',
|
141
|
-
' elsif bb',
|
142
|
-
'#',
|
143
|
-
' else',
|
144
|
-
' #',
|
145
|
-
' end',
|
146
|
-
' case a',
|
147
|
-
' # this is accepted',
|
148
|
-
' when 0',
|
149
|
-
' # so is this',
|
150
|
-
' when 1',
|
151
|
-
' #',
|
152
|
-
' b',
|
153
|
-
' end'])
|
154
|
-
expect(new_source).to eq(['# comment',
|
155
|
-
'hash1 = { a: 0,',
|
156
|
-
' # comment',
|
157
|
-
' bb: 1,',
|
158
|
-
' ccc: 2 }',
|
159
|
-
' if a',
|
160
|
-
' #',
|
161
|
-
' b',
|
162
|
-
' # this is accepted',
|
163
|
-
' elsif aa',
|
164
|
-
' # so is this',
|
165
|
-
' elsif bb',
|
166
|
-
' #',
|
167
|
-
' else',
|
168
|
-
' #',
|
169
|
-
' end',
|
170
|
-
' case a',
|
171
|
-
' # this is accepted',
|
172
|
-
' when 0',
|
173
|
-
' # so is this',
|
174
|
-
' when 1',
|
175
|
-
' #',
|
176
|
-
' b',
|
177
|
-
' end'].join("\n"))
|
178
|
-
end
|
179
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::ConstantName do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'registers an offense for camel case in const name' do
|
9
|
-
inspect_source(cop,
|
10
|
-
'TopCase = 5')
|
11
|
-
expect(cop.offenses.size).to eq(1)
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'registers offenses for camel case in multiple const assignment' do
|
15
|
-
inspect_source(cop,
|
16
|
-
'TopCase, Test2, TEST_3 = 5, 6, 7')
|
17
|
-
expect(cop.offenses.size).to eq(2)
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'registers an offense for snake case in const name' do
|
21
|
-
inspect_source(cop,
|
22
|
-
'TOP_test = 5')
|
23
|
-
expect(cop.offenses.size).to eq(1)
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'allows screaming snake case in const name' do
|
27
|
-
inspect_source(cop,
|
28
|
-
'TOP_TEST = 5')
|
29
|
-
expect(cop.offenses).to be_empty
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'allows screaming snake case in multiple const assignment' do
|
33
|
-
inspect_source(cop,
|
34
|
-
'TOP_TEST, TEST_2 = 5, 6')
|
35
|
-
expect(cop.offenses).to be_empty
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'does not check names if rhs is a method call' do
|
39
|
-
inspect_source(cop,
|
40
|
-
'AnythingGoes = test')
|
41
|
-
expect(cop.offenses).to be_empty
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'does not check names if rhs is a method call with block' do
|
45
|
-
inspect_source(cop,
|
46
|
-
['AnythingGoes = test do',
|
47
|
-
' do_something',
|
48
|
-
'end'
|
49
|
-
])
|
50
|
-
expect(cop.offenses).to be_empty
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'does not check if rhs is another constant' do
|
54
|
-
inspect_source(cop,
|
55
|
-
'Parser::CurrentRuby = Parser::Ruby20')
|
56
|
-
expect(cop.offenses).to be_empty
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'checks qualified const names' do
|
60
|
-
inspect_source(cop,
|
61
|
-
['::AnythingGoes = 30',
|
62
|
-
'a::Bar_foo = 10'])
|
63
|
-
expect(cop.offenses.size).to eq(2)
|
64
|
-
end
|
65
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::DefWithParentheses do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'reports an offense for def with empty parens' do
|
9
|
-
src = ['def func()',
|
10
|
-
'end']
|
11
|
-
inspect_source(cop, src)
|
12
|
-
expect(cop.offenses.size).to eq(1)
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'reports an offense for class def with empty parens' do
|
16
|
-
src = ['def Test.func()',
|
17
|
-
'end']
|
18
|
-
inspect_source(cop, src)
|
19
|
-
expect(cop.offenses.size).to eq(1)
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'accepts def with arg and parens' do
|
23
|
-
src = ['def func(a)',
|
24
|
-
'end']
|
25
|
-
inspect_source(cop, src)
|
26
|
-
expect(cop.offenses).to be_empty
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'accepts empty parentheses in one liners' do
|
30
|
-
src = "def to_s() join '/' end"
|
31
|
-
inspect_source(cop, src)
|
32
|
-
expect(cop.offenses).to be_empty
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'auto-removes unneeded parens' do
|
36
|
-
new_source = autocorrect_source(cop, ['def test();',
|
37
|
-
'something',
|
38
|
-
'end'])
|
39
|
-
expect(new_source).to eq(['def test;',
|
40
|
-
'something',
|
41
|
-
'end'].join("\n"))
|
42
|
-
end
|
43
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::DeprecatedHashMethods do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'registers an offense for has_key? with one arg' do
|
9
|
-
inspect_source(cop,
|
10
|
-
'o.has_key?(o)')
|
11
|
-
expect(cop.offenses.size).to eq(1)
|
12
|
-
expect(cop.messages)
|
13
|
-
.to eq(['`Hash#has_key?` is deprecated in favor of `Hash#key?`.'])
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'accepts has_key? with no args' do
|
17
|
-
inspect_source(cop,
|
18
|
-
'o.has_key?')
|
19
|
-
expect(cop.offenses).to be_empty
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'registers an offense for has_value? with one arg' do
|
23
|
-
inspect_source(cop,
|
24
|
-
'o.has_value?(o)')
|
25
|
-
expect(cop.offenses.size).to eq(1)
|
26
|
-
expect(cop.messages)
|
27
|
-
.to eq(['`Hash#has_value?` is deprecated in favor of `Hash#value?`.'])
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'accepts has_value? with no args' do
|
31
|
-
inspect_source(cop,
|
32
|
-
'o.has_value?')
|
33
|
-
expect(cop.offenses).to be_empty
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'auto-corrects has_key? with key?' do
|
37
|
-
new_source = autocorrect_source(cop, 'hash.has_key?(:test)')
|
38
|
-
expect(new_source).to eq('hash.key?(:test)')
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'auto-corrects has_value? with value?' do
|
42
|
-
new_source = autocorrect_source(cop, 'hash.has_value?(value)')
|
43
|
-
expect(new_source).to eq('hash.value?(value)')
|
44
|
-
end
|
45
|
-
end
|
@@ -1,146 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::Documentation do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
let(:config) do
|
8
|
-
RuboCop::Config.new('Style/CommentAnnotation' => {
|
9
|
-
'Keywords' => %w(TODO FIXME OPTIMIZE HACK REVIEW)
|
10
|
-
})
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'registers an offense for non-empty class' do
|
14
|
-
inspect_source(cop,
|
15
|
-
['class My_Class',
|
16
|
-
' TEST = 20',
|
17
|
-
'end'
|
18
|
-
])
|
19
|
-
expect(cop.offenses.size).to eq(1)
|
20
|
-
end
|
21
|
-
|
22
|
-
it 'does not consider comment followed by empty line to be class ' \
|
23
|
-
'documentation' do
|
24
|
-
inspect_source(cop,
|
25
|
-
['# Copyright 2014',
|
26
|
-
'# Some company',
|
27
|
-
'',
|
28
|
-
'class My_Class',
|
29
|
-
' TEST = 20',
|
30
|
-
'end'
|
31
|
-
])
|
32
|
-
expect(cop.offenses.size).to eq(1)
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'registers an offense for non-namespace' do
|
36
|
-
inspect_source(cop,
|
37
|
-
['module My_Class',
|
38
|
-
' TEST = 20',
|
39
|
-
'end'
|
40
|
-
])
|
41
|
-
expect(cop.offenses.size).to eq(1)
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'registers an offense for empty module without documentation' do
|
45
|
-
# Because why would you have an empty module? It requires some
|
46
|
-
# explanation.
|
47
|
-
inspect_source(cop,
|
48
|
-
['module Test',
|
49
|
-
'end'
|
50
|
-
])
|
51
|
-
expect(cop.offenses.size).to eq(1)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'accepts non-empty class with documentation' do
|
55
|
-
inspect_source(cop,
|
56
|
-
['# class comment',
|
57
|
-
'class My_Class',
|
58
|
-
' TEST = 20',
|
59
|
-
'end'
|
60
|
-
])
|
61
|
-
expect(cop.offenses).to be_empty
|
62
|
-
end
|
63
|
-
|
64
|
-
it 'registers an offense for non-empty class with annotation comment' do
|
65
|
-
inspect_source(cop,
|
66
|
-
['# OPTIMIZE: Make this faster.',
|
67
|
-
'class My_Class',
|
68
|
-
' TEST = 20',
|
69
|
-
'end'
|
70
|
-
])
|
71
|
-
expect(cop.offenses.size).to eq(1)
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'accepts non-empty class with annotation comment followed by other ' \
|
75
|
-
'comment' do
|
76
|
-
inspect_source(cop,
|
77
|
-
['# OPTIMIZE: Make this faster.',
|
78
|
-
'# Class comment.',
|
79
|
-
'class My_Class',
|
80
|
-
' TEST = 20',
|
81
|
-
'end'
|
82
|
-
])
|
83
|
-
expect(cop.offenses).to be_empty
|
84
|
-
end
|
85
|
-
|
86
|
-
it 'accepts non-empty class with comment that ends with an annotation' do
|
87
|
-
inspect_source(cop,
|
88
|
-
['# Does fooing.',
|
89
|
-
'# FIXME: Not yet implemented.',
|
90
|
-
'class Foo',
|
91
|
-
' def initialize',
|
92
|
-
' end',
|
93
|
-
'end'
|
94
|
-
])
|
95
|
-
expect(cop.offenses).to be_empty
|
96
|
-
end
|
97
|
-
|
98
|
-
it 'accepts non-empty module with documentation' do
|
99
|
-
inspect_source(cop,
|
100
|
-
['# class comment',
|
101
|
-
'module My_Class',
|
102
|
-
' TEST = 20',
|
103
|
-
'end'
|
104
|
-
])
|
105
|
-
expect(cop.offenses).to be_empty
|
106
|
-
end
|
107
|
-
|
108
|
-
it 'accepts empty class without documentation' do
|
109
|
-
inspect_source(cop,
|
110
|
-
['class My_Class',
|
111
|
-
'end'
|
112
|
-
])
|
113
|
-
expect(cop.offenses).to be_empty
|
114
|
-
end
|
115
|
-
|
116
|
-
it 'accepts namespace module without documentation' do
|
117
|
-
inspect_source(cop,
|
118
|
-
['module Test',
|
119
|
-
' class A; end',
|
120
|
-
' class B; end',
|
121
|
-
'end'
|
122
|
-
])
|
123
|
-
expect(cop.offenses).to be_empty
|
124
|
-
end
|
125
|
-
|
126
|
-
it 'accepts namespace class without documentation' do
|
127
|
-
inspect_source(cop,
|
128
|
-
['class Test',
|
129
|
-
' class A; end',
|
130
|
-
' class B; end',
|
131
|
-
'end'
|
132
|
-
])
|
133
|
-
expect(cop.offenses).to be_empty
|
134
|
-
end
|
135
|
-
|
136
|
-
it 'does not raise an error for an implicit match conditional' do
|
137
|
-
expect do
|
138
|
-
inspect_source(cop,
|
139
|
-
['class Test',
|
140
|
-
' if //',
|
141
|
-
' end',
|
142
|
-
'end'
|
143
|
-
])
|
144
|
-
end.to_not raise_error
|
145
|
-
end
|
146
|
-
end
|