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,84 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::FileName do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
let(:config) do
|
9
|
-
RuboCop::Config.new(
|
10
|
-
{ 'AllCops' => { 'Include' => includes } },
|
11
|
-
'/some/.rubocop.yml'
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
let(:includes) { [] }
|
16
|
-
let(:source) { ['print 1'] }
|
17
|
-
let(:processed_source) { parse_source(source) }
|
18
|
-
|
19
|
-
before do
|
20
|
-
allow(processed_source.buffer)
|
21
|
-
.to receive(:name).and_return(filename)
|
22
|
-
_investigate(cop, processed_source)
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'with camelCase file names ending in .rb' do
|
26
|
-
let(:filename) { '/some/dir/testCase.rb' }
|
27
|
-
|
28
|
-
it 'reports an offense' do
|
29
|
-
expect(cop.offenses.size).to eq(1)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
context 'with camelCase file names without file extension' do
|
34
|
-
let(:filename) { '/some/dir/testCase' }
|
35
|
-
|
36
|
-
it 'reports an offense' do
|
37
|
-
expect(cop.offenses.size).to eq(1)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
context 'with snake_case file names ending in .rb' do
|
42
|
-
let(:filename) { '/some/dir/test_case.rb' }
|
43
|
-
|
44
|
-
it 'reports an offense' do
|
45
|
-
expect(cop.offenses).to be_empty
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
context 'with snake_case file names without file extension' do
|
50
|
-
let(:filename) { '/some/dir/test_case' }
|
51
|
-
|
52
|
-
it 'does not report an offense' do
|
53
|
-
expect(cop.offenses).to be_empty
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
context 'with snake_case file names with non-rb extension' do
|
58
|
-
let(:filename) { '/some/dir/some_task.rake' }
|
59
|
-
|
60
|
-
it 'does not report an offense' do
|
61
|
-
expect(cop.offenses).to be_empty
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
context 'with snake_case file names with multiple extensions' do
|
66
|
-
let(:filename) { 'some/dir/some_view.html.slim_spec.rb' }
|
67
|
-
|
68
|
-
it 'does not report an offense' do
|
69
|
-
expect(cop.offenses).to be_empty
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context 'when the file is specified in AllCops/Include' do
|
74
|
-
let(:includes) { ['**/Gemfile'] }
|
75
|
-
|
76
|
-
context 'with a non-snake_case file name' do
|
77
|
-
let(:filename) { '/some/dir/Gemfile' }
|
78
|
-
|
79
|
-
it 'does not report an offense' do
|
80
|
-
expect(cop.offenses).to be_empty
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
@@ -1,304 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::FirstParameterIndentation, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
let(:config) do
|
8
|
-
RuboCop::Config
|
9
|
-
.new('Style/FirstParameterIndentation' => {
|
10
|
-
'EnforcedStyle' => style,
|
11
|
-
'SupportedStyles' =>
|
12
|
-
%w(consistent special_for_inner_method_call
|
13
|
-
special_for_inner_method_call_in_parentheses)
|
14
|
-
},
|
15
|
-
'Style/IndentationWidth' => { 'Width' => indentation_width })
|
16
|
-
end
|
17
|
-
|
18
|
-
shared_examples 'common behavior' do
|
19
|
-
context 'when IndentationWidth:Width is 2' do
|
20
|
-
let(:indentation_width) { 2 }
|
21
|
-
|
22
|
-
it 'registers an offense for an over-indented first parameter' do
|
23
|
-
inspect_source(cop, ['run(',
|
24
|
-
' :foo,',
|
25
|
-
' bar: 3',
|
26
|
-
')'])
|
27
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
28
|
-
'more than the previous line.'])
|
29
|
-
expect(cop.highlights).to eq([':foo'])
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'registers an offense for an under-indented first parameter' do
|
33
|
-
inspect_source(cop, ['run(',
|
34
|
-
' :foo,',
|
35
|
-
' bar: 3',
|
36
|
-
')'])
|
37
|
-
expect(cop.highlights).to eq([':foo'])
|
38
|
-
end
|
39
|
-
|
40
|
-
context 'for assignment' do
|
41
|
-
it 'accepts a correctly indented first parameter and does not care ' \
|
42
|
-
'about the second parameter' do
|
43
|
-
inspect_source(cop, ['x = run(',
|
44
|
-
' :foo,',
|
45
|
-
' bar: 3',
|
46
|
-
')'])
|
47
|
-
expect(cop.offenses).to be_empty
|
48
|
-
end
|
49
|
-
|
50
|
-
context 'with line break' do
|
51
|
-
it 'accepts a correctly indented first parameter' do
|
52
|
-
inspect_source(cop, ['x =',
|
53
|
-
' run(',
|
54
|
-
' :foo)'])
|
55
|
-
expect(cop.offenses).to be_empty
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'registers an offense for an under-indented first parameter' do
|
59
|
-
inspect_source(cop, ['@x =',
|
60
|
-
' run(',
|
61
|
-
' :foo)'])
|
62
|
-
expect(cop.highlights).to eq([':foo'])
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'accepts a first parameter that is not preceded by a line break' do
|
68
|
-
inspect_source(cop, ['run :foo,',
|
69
|
-
' bar: 3'])
|
70
|
-
expect(cop.offenses).to be_empty
|
71
|
-
end
|
72
|
-
|
73
|
-
context 'when the receiver contains a line break' do
|
74
|
-
it 'accepts a correctly indented first parameter' do
|
75
|
-
inspect_source(cop, ['puts x.',
|
76
|
-
' merge(',
|
77
|
-
' b: 2',
|
78
|
-
' )'])
|
79
|
-
expect(cop.offenses).to be_empty
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'registers an offense for an over-indented first parameter' do
|
83
|
-
inspect_source(cop, ['puts x.',
|
84
|
-
' merge(',
|
85
|
-
' b: 2',
|
86
|
-
' )'])
|
87
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
88
|
-
'more than the previous line.'])
|
89
|
-
expect(cop.highlights).to eq(['b: 2'])
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'accepts a correctly indented first parameter preceded by an ' \
|
93
|
-
'empty line' do
|
94
|
-
inspect_source(cop, ['puts x.',
|
95
|
-
' merge(',
|
96
|
-
'',
|
97
|
-
' b: 2',
|
98
|
-
' )'])
|
99
|
-
expect(cop.offenses).to be_empty
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'when preceded by a comment line' do
|
103
|
-
it 'accepts a correctly indented first parameter' do
|
104
|
-
inspect_source(cop, ['puts x.',
|
105
|
-
' merge( # EOL comment',
|
106
|
-
' # comment',
|
107
|
-
' b: 2',
|
108
|
-
' )'])
|
109
|
-
expect(cop.offenses).to be_empty
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'registers an offense for an under-indented first parameter' do
|
113
|
-
inspect_source(cop, ['puts x.',
|
114
|
-
' merge(',
|
115
|
-
' # comment',
|
116
|
-
' b: 2',
|
117
|
-
' )'])
|
118
|
-
expect(cop.messages).to eq(['Indent the first parameter one ' \
|
119
|
-
'step more than the previous line ' \
|
120
|
-
'(not counting the comment).'])
|
121
|
-
expect(cop.highlights).to eq(['b: 2'])
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
it 'accepts method calls with no parameters' do
|
127
|
-
inspect_source(cop, ['run()',
|
128
|
-
'run_again'])
|
129
|
-
expect(cop.offenses).to be_empty
|
130
|
-
end
|
131
|
-
|
132
|
-
it 'accepts operator calls' do
|
133
|
-
inspect_source(cop, ['params = default_cfg.keys - %w(Description) -',
|
134
|
-
' cfg.keys'])
|
135
|
-
expect(cop.offenses).to be_empty
|
136
|
-
end
|
137
|
-
|
138
|
-
it 'does not view []= as an outer method call' do
|
139
|
-
inspect_source(cop, ['@subject_results[subject] = original.update(',
|
140
|
-
' mutation_results: (dup << mutation_result),',
|
141
|
-
' tests: test_result.tests',
|
142
|
-
')'])
|
143
|
-
expect(cop.offenses).to be_empty
|
144
|
-
end
|
145
|
-
|
146
|
-
it 'does not view chained call as an outer method call' do
|
147
|
-
inspect_source(cop, [' A = Regexp.union(',
|
148
|
-
' /[A-Za-z_][A-Za-z\d_]*[!?=]?/,',
|
149
|
-
' *AST::Types::OPERATOR_METHODS.map(&:to_s)',
|
150
|
-
' ).freeze'])
|
151
|
-
expect(cop.offenses).to be_empty
|
152
|
-
end
|
153
|
-
|
154
|
-
it 'auto-corrects an under-indented first parameter' do
|
155
|
-
new_source = autocorrect_source(cop, ['x =',
|
156
|
-
' run(',
|
157
|
-
' :foo,',
|
158
|
-
' bar: 3',
|
159
|
-
')'])
|
160
|
-
expect(new_source).to eq(['x =',
|
161
|
-
' run(',
|
162
|
-
' :foo,',
|
163
|
-
' bar: 3',
|
164
|
-
')'].join("\n"))
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
|
-
context 'when IndentationWidth:Width is 4' do
|
169
|
-
let(:indentation_width) { 4 }
|
170
|
-
|
171
|
-
it 'auto-corrects an over-indented first parameter' do
|
172
|
-
new_source = autocorrect_source(cop, ['run(',
|
173
|
-
' :foo,',
|
174
|
-
' bar: 3)'])
|
175
|
-
expect(new_source).to eq(['run(',
|
176
|
-
' :foo,',
|
177
|
-
' bar: 3)'].join("\n"))
|
178
|
-
end
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
context 'when EnforcedStyle is special_for_inner_method_call' do
|
183
|
-
let(:style) { 'special_for_inner_method_call' }
|
184
|
-
let(:indentation_width) { 2 }
|
185
|
-
|
186
|
-
include_examples 'common behavior'
|
187
|
-
|
188
|
-
context 'for method calls within method calls' do
|
189
|
-
context 'with outer parentheses' do
|
190
|
-
it 'registers an offense for an over-indented first parameter' do
|
191
|
-
inspect_source(cop, ['run(:foo, defaults.merge(',
|
192
|
-
' bar: 3))'])
|
193
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
194
|
-
'more than `defaults.merge(`.'])
|
195
|
-
expect(cop.highlights).to eq(['bar: 3'])
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
context 'without outer parentheses' do
|
200
|
-
it 'accepts a first parameter with special indentation' do
|
201
|
-
inspect_source(cop, ['run :foo, defaults.merge(',
|
202
|
-
' bar: 3)'])
|
203
|
-
expect(cop.offenses).to be_empty
|
204
|
-
end
|
205
|
-
end
|
206
|
-
|
207
|
-
it 'auto-corrects an over-indented first parameter' do
|
208
|
-
new_source = autocorrect_source(cop,
|
209
|
-
['run(:foo, defaults.merge(',
|
210
|
-
' bar: 3))'])
|
211
|
-
expect(new_source).to eq(['run(:foo, defaults.merge(',
|
212
|
-
' bar: 3))'].join("\n"))
|
213
|
-
end
|
214
|
-
end
|
215
|
-
end
|
216
|
-
|
217
|
-
context 'when EnforcedStyle is ' \
|
218
|
-
'special_for_inner_method_call_in_parentheses' do
|
219
|
-
let(:style) { 'special_for_inner_method_call_in_parentheses' }
|
220
|
-
let(:indentation_width) { 2 }
|
221
|
-
|
222
|
-
include_examples 'common behavior'
|
223
|
-
|
224
|
-
context 'for method calls within method calls' do
|
225
|
-
context 'with outer parentheses' do
|
226
|
-
it 'registers an offense for an over-indented first parameter' do
|
227
|
-
inspect_source(cop, ['run(:foo, defaults.merge(',
|
228
|
-
' bar: 3))'])
|
229
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
230
|
-
'more than `defaults.merge(`.'])
|
231
|
-
expect(cop.highlights).to eq(['bar: 3'])
|
232
|
-
end
|
233
|
-
|
234
|
-
it 'registers an offense for an under-indented first parameter' do
|
235
|
-
inspect_source(cop, ['run(:foo, defaults.',
|
236
|
-
' merge(',
|
237
|
-
' bar: 3))'])
|
238
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
239
|
-
'more than the previous line.'])
|
240
|
-
expect(cop.highlights).to eq(['bar: 3'])
|
241
|
-
end
|
242
|
-
|
243
|
-
it 'accepts a correctly indented first parameter in interpolation' do
|
244
|
-
inspect_source(cop, ['puts %(',
|
245
|
-
' <p>',
|
246
|
-
' #{Array(',
|
247
|
-
' 42',
|
248
|
-
' )}',
|
249
|
-
' </p>',
|
250
|
-
')'])
|
251
|
-
expect(cop.offenses).to be_empty
|
252
|
-
end
|
253
|
-
end
|
254
|
-
|
255
|
-
context 'without outer parentheses' do
|
256
|
-
it 'accepts a first parameter with consistent style indentation' do
|
257
|
-
inspect_source(cop, ['run :foo, defaults.merge(',
|
258
|
-
' bar: 3)'])
|
259
|
-
expect(cop.offenses).to be_empty
|
260
|
-
end
|
261
|
-
end
|
262
|
-
|
263
|
-
it 'auto-corrects an over-indented first parameter' do
|
264
|
-
new_source = autocorrect_source(cop,
|
265
|
-
['run(:foo, defaults.merge(',
|
266
|
-
' bar: 3))'])
|
267
|
-
expect(new_source).to eq(['run(:foo, defaults.merge(',
|
268
|
-
' bar: 3))'].join("\n"))
|
269
|
-
end
|
270
|
-
end
|
271
|
-
end
|
272
|
-
|
273
|
-
context 'when EnforcedStyle is consistent' do
|
274
|
-
let(:style) { 'consistent' }
|
275
|
-
let(:indentation_width) { 2 }
|
276
|
-
|
277
|
-
include_examples 'common behavior'
|
278
|
-
|
279
|
-
context 'for method calls within method calls' do
|
280
|
-
it 'registers an offense for an over-indented first parameter' do
|
281
|
-
inspect_source(cop, ['run(:foo, defaults.merge(',
|
282
|
-
' bar: 3))'])
|
283
|
-
expect(cop.messages).to eq(['Indent the first parameter one step ' \
|
284
|
-
'more than the previous line.'])
|
285
|
-
expect(cop.highlights).to eq(['bar: 3'])
|
286
|
-
end
|
287
|
-
|
288
|
-
it 'accepts first parameter indented relative to previous line' do
|
289
|
-
inspect_source(cop,
|
290
|
-
[' @diagnostics.process(Diagnostic.new(',
|
291
|
-
' :error, :token, { :token => name }, location))'])
|
292
|
-
expect(cop.offenses).to be_empty
|
293
|
-
end
|
294
|
-
|
295
|
-
it 'auto-corrects an over-indented first parameter' do
|
296
|
-
new_source = autocorrect_source(cop,
|
297
|
-
['run(:foo, defaults.merge(',
|
298
|
-
' bar: 3))'])
|
299
|
-
expect(new_source).to eq(['run(:foo, defaults.merge(',
|
300
|
-
' bar: 3))'].join("\n"))
|
301
|
-
end
|
302
|
-
end
|
303
|
-
end
|
304
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::FlipFlop do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'registers an offense for inclusive flip flops' do
|
9
|
-
inspect_source(cop,
|
10
|
-
['DATA.each_line do |line|',
|
11
|
-
'print line if (line =~ /begin/)..(line =~ /end/)',
|
12
|
-
'end'])
|
13
|
-
expect(cop.offenses.size).to eq(1)
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'registers an offense for exclusive flip flops' do
|
17
|
-
inspect_source(cop,
|
18
|
-
['DATA.each_line do |line|',
|
19
|
-
'print line if (line =~ /begin/)...(line =~ /end/)',
|
20
|
-
'end'])
|
21
|
-
expect(cop.offenses.size).to eq(1)
|
22
|
-
end
|
23
|
-
end
|
@@ -1,105 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::For, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
context 'when each is the enforced style' do
|
9
|
-
let(:cop_config) { { 'EnforcedStyle' => 'each' } }
|
10
|
-
|
11
|
-
it 'registers an offense for for' do
|
12
|
-
inspect_source(cop,
|
13
|
-
['def func',
|
14
|
-
' for n in [1, 2, 3] do',
|
15
|
-
' puts n',
|
16
|
-
' end',
|
17
|
-
'end'])
|
18
|
-
expect(cop.messages).to eq(['Prefer `each` over `for`.'])
|
19
|
-
expect(cop.highlights).to eq(['for'])
|
20
|
-
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'for')
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'registers an offense for opposite + correct style' do
|
24
|
-
inspect_source(cop,
|
25
|
-
['def func',
|
26
|
-
' for n in [1, 2, 3] do',
|
27
|
-
' puts n',
|
28
|
-
' end',
|
29
|
-
' [1, 2, 3].each do |n|',
|
30
|
-
' puts n',
|
31
|
-
' end',
|
32
|
-
'end'])
|
33
|
-
expect(cop.messages).to eq(['Prefer `each` over `for`.'])
|
34
|
-
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'accepts multiline each' do
|
38
|
-
inspect_source(cop,
|
39
|
-
['def func',
|
40
|
-
' [1, 2, 3].each do |n|',
|
41
|
-
' puts n',
|
42
|
-
' end',
|
43
|
-
'end'])
|
44
|
-
expect(cop.offenses).to be_empty
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'accepts :for' do
|
48
|
-
inspect_source(cop, '[:for, :ala, :bala]')
|
49
|
-
expect(cop.offenses).to be_empty
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'accepts def for' do
|
53
|
-
inspect_source(cop, 'def for; end')
|
54
|
-
expect(cop.offenses).to be_empty
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
context 'when for is the enforced style' do
|
59
|
-
let(:cop_config) { { 'EnforcedStyle' => 'for' } }
|
60
|
-
|
61
|
-
it 'accepts for' do
|
62
|
-
inspect_source(cop,
|
63
|
-
['def func',
|
64
|
-
' for n in [1, 2, 3] do',
|
65
|
-
' puts n',
|
66
|
-
' end',
|
67
|
-
'end'])
|
68
|
-
expect(cop.offenses).to be_empty
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'registers an offense for multiline each' do
|
72
|
-
inspect_source(cop,
|
73
|
-
['def func',
|
74
|
-
' [1, 2, 3].each do |n|',
|
75
|
-
' puts n',
|
76
|
-
' end',
|
77
|
-
'end'])
|
78
|
-
expect(cop.messages).to eq(['Prefer `for` over `each`.'])
|
79
|
-
expect(cop.highlights).to eq(['each'])
|
80
|
-
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'each')
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'registers an offense for correct + opposite style' do
|
84
|
-
inspect_source(cop,
|
85
|
-
['def func',
|
86
|
-
' for n in [1, 2, 3] do',
|
87
|
-
' puts n',
|
88
|
-
' end',
|
89
|
-
' [1, 2, 3].each do |n|',
|
90
|
-
' puts n',
|
91
|
-
' end',
|
92
|
-
'end'])
|
93
|
-
expect(cop.messages).to eq(['Prefer `for` over `each`.'])
|
94
|
-
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
95
|
-
end
|
96
|
-
|
97
|
-
it 'accepts single line each' do
|
98
|
-
inspect_source(cop,
|
99
|
-
['def func',
|
100
|
-
' [1, 2, 3].each { |n| puts n }',
|
101
|
-
'end'])
|
102
|
-
expect(cop.offenses).to be_empty
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|