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,184 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::FormatString, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
context 'when enforced style is sprintf' do
|
9
|
-
let(:cop_config) { { 'EnforcedStyle' => 'sprintf' } }
|
10
|
-
it 'registers an offense for a string followed by something' do
|
11
|
-
inspect_source(cop,
|
12
|
-
'puts "%d" % 10')
|
13
|
-
expect(cop.offenses.size).to eq(1)
|
14
|
-
expect(cop.messages)
|
15
|
-
.to eq(['Favor `sprintf` over `String#%`.'])
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'registers an offense for something followed by an array' do
|
19
|
-
inspect_source(cop,
|
20
|
-
'puts x % [10, 11]')
|
21
|
-
expect(cop.offenses.size).to eq(1)
|
22
|
-
expect(cop.messages)
|
23
|
-
.to eq(['Favor `sprintf` over `String#%`.'])
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'does not register an offense for numbers' do
|
27
|
-
inspect_source(cop,
|
28
|
-
'puts 10 % 4')
|
29
|
-
expect(cop.offenses).to be_empty
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'does not register an offense for ambiguous cases' do
|
33
|
-
inspect_source(cop,
|
34
|
-
'puts x % 4')
|
35
|
-
expect(cop.offenses).to be_empty
|
36
|
-
|
37
|
-
inspect_source(cop,
|
38
|
-
'puts x % Y')
|
39
|
-
expect(cop.offenses).to be_empty
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'works if the first operand contains embedded expressions' do
|
43
|
-
inspect_source(cop,
|
44
|
-
'puts "#{x * 5} %d #{@test}" % 10')
|
45
|
-
expect(cop.offenses.size).to eq(1)
|
46
|
-
expect(cop.messages)
|
47
|
-
.to eq(['Favor `sprintf` over `String#%`.'])
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'registers an offense for format' do
|
51
|
-
inspect_source(cop,
|
52
|
-
'format(something, a, b)')
|
53
|
-
expect(cop.offenses.size).to eq(1)
|
54
|
-
expect(cop.messages)
|
55
|
-
.to eq(['Favor `sprintf` over `format`.'])
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'registers an offense for format with 2 arguments' do
|
59
|
-
inspect_source(cop,
|
60
|
-
'format("%X", 123)')
|
61
|
-
expect(cop.offenses.size).to eq(1)
|
62
|
-
expect(cop.messages)
|
63
|
-
.to eq(['Favor `sprintf` over `format`.'])
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
context 'when enforced style is format' do
|
68
|
-
let(:cop_config) { { 'EnforcedStyle' => 'format' } }
|
69
|
-
|
70
|
-
it 'registers an offense for a string followed by something' do
|
71
|
-
inspect_source(cop,
|
72
|
-
'puts "%d" % 10')
|
73
|
-
expect(cop.offenses.size).to eq(1)
|
74
|
-
expect(cop.messages)
|
75
|
-
.to eq(['Favor `format` over `String#%`.'])
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'registers an offense for something followed by an array' do
|
79
|
-
inspect_source(cop,
|
80
|
-
'puts x % [10, 11]')
|
81
|
-
expect(cop.offenses.size).to eq(1)
|
82
|
-
expect(cop.messages)
|
83
|
-
.to eq(['Favor `format` over `String#%`.'])
|
84
|
-
end
|
85
|
-
|
86
|
-
it 'does not register an offense for numbers' do
|
87
|
-
inspect_source(cop,
|
88
|
-
'puts 10 % 4')
|
89
|
-
expect(cop.offenses).to be_empty
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'does not register an offense for ambiguous cases' do
|
93
|
-
inspect_source(cop,
|
94
|
-
'puts x % 4')
|
95
|
-
expect(cop.offenses).to be_empty
|
96
|
-
|
97
|
-
inspect_source(cop,
|
98
|
-
'puts x % Y')
|
99
|
-
expect(cop.offenses).to be_empty
|
100
|
-
end
|
101
|
-
|
102
|
-
it 'works if the first operand contains embedded expressions' do
|
103
|
-
inspect_source(cop,
|
104
|
-
'puts "#{x * 5} %d #{@test}" % 10')
|
105
|
-
expect(cop.offenses.size).to eq(1)
|
106
|
-
expect(cop.messages)
|
107
|
-
.to eq(['Favor `format` over `String#%`.'])
|
108
|
-
end
|
109
|
-
|
110
|
-
it 'registers an offense for sprintf' do
|
111
|
-
inspect_source(cop,
|
112
|
-
'sprintf(something, a, b)')
|
113
|
-
expect(cop.offenses.size).to eq(1)
|
114
|
-
expect(cop.messages)
|
115
|
-
.to eq(['Favor `format` over `sprintf`.'])
|
116
|
-
end
|
117
|
-
|
118
|
-
it 'registers an offense for sprintf with 2 arguments' do
|
119
|
-
inspect_source(cop,
|
120
|
-
"sprintf('%020d', 123)")
|
121
|
-
expect(cop.offenses.size).to eq(1)
|
122
|
-
expect(cop.messages)
|
123
|
-
.to eq(['Favor `format` over `sprintf`.'])
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
context 'when enforced style is percent' do
|
128
|
-
let(:cop_config) { { 'EnforcedStyle' => 'percent' } }
|
129
|
-
|
130
|
-
it 'registers an offense for format' do
|
131
|
-
inspect_source(cop,
|
132
|
-
'format(something, a, b)')
|
133
|
-
expect(cop.offenses.size).to eq(1)
|
134
|
-
expect(cop.messages)
|
135
|
-
.to eq(['Favor `String#%` over `format`.'])
|
136
|
-
end
|
137
|
-
|
138
|
-
it 'registers an offense for sprintf' do
|
139
|
-
inspect_source(cop,
|
140
|
-
'sprintf(something, a, b)')
|
141
|
-
expect(cop.offenses.size).to eq(1)
|
142
|
-
expect(cop.messages)
|
143
|
-
.to eq(['Favor `String#%` over `sprintf`.'])
|
144
|
-
end
|
145
|
-
|
146
|
-
it 'registers an offense for sprintf with 3 arguments' do
|
147
|
-
inspect_source(cop,
|
148
|
-
'format("%d %04x", 123, 123)')
|
149
|
-
expect(cop.offenses.size).to eq(1)
|
150
|
-
expect(cop.messages)
|
151
|
-
.to eq(['Favor `String#%` over `format`.'])
|
152
|
-
end
|
153
|
-
|
154
|
-
it 'accepts format with 1 argument' do
|
155
|
-
inspect_source(cop,
|
156
|
-
'format :xml')
|
157
|
-
expect(cop.offenses).to be_empty
|
158
|
-
end
|
159
|
-
|
160
|
-
it 'accepts sprintf with 1 argument' do
|
161
|
-
inspect_source(cop,
|
162
|
-
'sprintf :xml')
|
163
|
-
expect(cop.offenses).to be_empty
|
164
|
-
end
|
165
|
-
|
166
|
-
it 'accepts format without arguments' do
|
167
|
-
inspect_source(cop,
|
168
|
-
'format')
|
169
|
-
expect(cop.offenses).to be_empty
|
170
|
-
end
|
171
|
-
|
172
|
-
it 'accepts sprintf without arguments' do
|
173
|
-
inspect_source(cop,
|
174
|
-
'sprintf')
|
175
|
-
expect(cop.offenses).to be_empty
|
176
|
-
end
|
177
|
-
|
178
|
-
it 'accepts String#%' do
|
179
|
-
inspect_source(cop,
|
180
|
-
'puts "%d" % 10')
|
181
|
-
expect(cop.offenses).to be_empty
|
182
|
-
end
|
183
|
-
end
|
184
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::GlobalVars, :config do
|
6
|
-
cop_config = {
|
7
|
-
'AllowedVariables' => ['$allowed']
|
8
|
-
}
|
9
|
-
|
10
|
-
subject(:cop) { described_class.new(config) }
|
11
|
-
let(:cop_config) { cop_config }
|
12
|
-
|
13
|
-
it 'registers an offense for $custom' do
|
14
|
-
inspect_source(cop, 'puts $custom')
|
15
|
-
expect(cop.offenses.size).to eq(1)
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'allows user whitelisted variables' do
|
19
|
-
inspect_source(cop, 'puts $allowed')
|
20
|
-
expect(cop.offenses).to be_empty
|
21
|
-
end
|
22
|
-
|
23
|
-
described_class::BUILT_IN_VARS.each do |var|
|
24
|
-
it "does not register an offense for built-in variable #{var}" do
|
25
|
-
inspect_source(cop, "puts #{var}")
|
26
|
-
expect(cop.offenses).to be_empty
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'does not register an offense for backrefs like $1' do
|
31
|
-
inspect_source(cop, 'puts $1')
|
32
|
-
expect(cop.offenses).to be_empty
|
33
|
-
end
|
34
|
-
end
|
@@ -1,172 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::GuardClause, :config do
|
6
|
-
let(:cop) { described_class.new(config) }
|
7
|
-
let(:cop_config) { {} }
|
8
|
-
|
9
|
-
it 'reports an offense if method body is if / unless without else' do
|
10
|
-
inspect_source(cop,
|
11
|
-
['def func',
|
12
|
-
' if something',
|
13
|
-
' work',
|
14
|
-
' end',
|
15
|
-
'end',
|
16
|
-
'',
|
17
|
-
'def func',
|
18
|
-
' unless something',
|
19
|
-
' work',
|
20
|
-
' end',
|
21
|
-
'end'])
|
22
|
-
expect(cop.offenses.size).to eq(2)
|
23
|
-
expect(cop.offenses.map(&:line).sort).to eq([2, 8])
|
24
|
-
expect(cop.messages)
|
25
|
-
.to eq(['Use a guard clause instead of wrapping ' \
|
26
|
-
'the code inside a conditional expression.'] * 2)
|
27
|
-
expect(cop.highlights).to eq(%w(if unless))
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'reports an offense if method body ends with if / unless without else' do
|
31
|
-
inspect_source(cop,
|
32
|
-
['def func',
|
33
|
-
' test',
|
34
|
-
' if something',
|
35
|
-
' work',
|
36
|
-
' end',
|
37
|
-
'end',
|
38
|
-
'',
|
39
|
-
'def func',
|
40
|
-
' test',
|
41
|
-
' unless something',
|
42
|
-
' work',
|
43
|
-
' end',
|
44
|
-
'end'])
|
45
|
-
expect(cop.offenses.size).to eq(2)
|
46
|
-
expect(cop.offenses.map(&:line).sort).to eq([3, 10])
|
47
|
-
expect(cop.messages)
|
48
|
-
.to eq(['Use a guard clause instead of wrapping ' \
|
49
|
-
'the code inside a conditional expression.'] * 2)
|
50
|
-
expect(cop.highlights).to eq(%w(if unless))
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'accepts a method which body is if / unless with else' do
|
54
|
-
inspect_source(cop,
|
55
|
-
['def func',
|
56
|
-
' if something',
|
57
|
-
' work',
|
58
|
-
' else',
|
59
|
-
' test',
|
60
|
-
' end',
|
61
|
-
'end',
|
62
|
-
'',
|
63
|
-
'def func',
|
64
|
-
' unless something',
|
65
|
-
' work',
|
66
|
-
' else',
|
67
|
-
' test',
|
68
|
-
' end',
|
69
|
-
'end'])
|
70
|
-
expect(cop.offenses).to be_empty
|
71
|
-
end
|
72
|
-
|
73
|
-
it 'accepts a method which body does not end with if / unless' do
|
74
|
-
inspect_source(cop,
|
75
|
-
['def func',
|
76
|
-
' if something',
|
77
|
-
' work',
|
78
|
-
' end',
|
79
|
-
' test',
|
80
|
-
'end',
|
81
|
-
'',
|
82
|
-
'def func',
|
83
|
-
' unless something',
|
84
|
-
' work',
|
85
|
-
' end',
|
86
|
-
' test',
|
87
|
-
'end'])
|
88
|
-
expect(cop.offenses).to be_empty
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'accepts a method whose body is a modifier if / unless' do
|
92
|
-
inspect_source(cop,
|
93
|
-
['def func',
|
94
|
-
' work if something',
|
95
|
-
'end',
|
96
|
-
'',
|
97
|
-
'def func',
|
98
|
-
' work if something',
|
99
|
-
'end'])
|
100
|
-
expect(cop.offenses).to be_empty
|
101
|
-
end
|
102
|
-
|
103
|
-
context 'MinBodyLength: 1' do
|
104
|
-
let(:cop_config) do
|
105
|
-
{ 'MinBodyLength' => 1 }
|
106
|
-
end
|
107
|
-
|
108
|
-
it 'reports an offense for if whose body has 1 line' do
|
109
|
-
inspect_source(cop,
|
110
|
-
['def func',
|
111
|
-
' if something',
|
112
|
-
' work',
|
113
|
-
' end',
|
114
|
-
'end',
|
115
|
-
'',
|
116
|
-
'def func',
|
117
|
-
' unless something',
|
118
|
-
' work',
|
119
|
-
' end',
|
120
|
-
'end'])
|
121
|
-
expect(cop.offenses.size).to eq(2)
|
122
|
-
expect(cop.offenses.map(&:line).sort).to eq([2, 8])
|
123
|
-
expect(cop.messages)
|
124
|
-
.to eq(['Use a guard clause instead of wrapping ' \
|
125
|
-
'the code inside a conditional expression.'] * 2)
|
126
|
-
expect(cop.highlights).to eq(%w(if unless))
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
context 'MinBodyLength: 4' do
|
131
|
-
let(:cop_config) do
|
132
|
-
{ 'MinBodyLength' => 4 }
|
133
|
-
end
|
134
|
-
|
135
|
-
it 'accepts a method whose body has 3 line' do
|
136
|
-
inspect_source(cop,
|
137
|
-
['def func',
|
138
|
-
' if something',
|
139
|
-
' work',
|
140
|
-
' work',
|
141
|
-
' work',
|
142
|
-
' end',
|
143
|
-
'end',
|
144
|
-
'',
|
145
|
-
'def func',
|
146
|
-
' unless something',
|
147
|
-
' work',
|
148
|
-
' work',
|
149
|
-
' work',
|
150
|
-
' end',
|
151
|
-
'end'])
|
152
|
-
expect(cop.offenses).to be_empty
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
context 'Invalid MinBodyLength' do
|
157
|
-
let(:cop_config) do
|
158
|
-
{ 'MinBodyLength' => -2 }
|
159
|
-
end
|
160
|
-
|
161
|
-
it 'fails with an error' do
|
162
|
-
source = ['def func',
|
163
|
-
' if something',
|
164
|
-
' work',
|
165
|
-
' end',
|
166
|
-
'end']
|
167
|
-
|
168
|
-
expect { inspect_source(cop, source) }
|
169
|
-
.to raise_error('MinBodyLength needs to be a positive integer!')
|
170
|
-
end
|
171
|
-
end
|
172
|
-
end
|
@@ -1,137 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::HashSyntax, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
context 'configured to enforce ruby19 style' do
|
9
|
-
let(:config) do
|
10
|
-
RuboCop::Config.new('Style/HashSyntax' => {
|
11
|
-
'EnforcedStyle' => 'ruby19',
|
12
|
-
'SupportedStyles' => %w(ruby19 hash_rockets)
|
13
|
-
},
|
14
|
-
'Style/SpaceAroundOperators' => {
|
15
|
-
'Enabled' => true
|
16
|
-
})
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'registers offense for hash rocket syntax when new is possible' do
|
20
|
-
inspect_source(cop, 'x = { :a => 0 }')
|
21
|
-
expect(cop.messages).to eq(['Use the new Ruby 1.9 hash syntax.'])
|
22
|
-
expect(cop.config_to_allow_offenses)
|
23
|
-
.to eq('EnforcedStyle' => 'hash_rockets')
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'registers an offense for mixed syntax when new is possible' do
|
27
|
-
inspect_source(cop, 'x = { :a => 0, b: 1 }')
|
28
|
-
expect(cop.messages).to eq(['Use the new Ruby 1.9 hash syntax.'])
|
29
|
-
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'registers an offense for hash rockets in method calls' do
|
33
|
-
inspect_source(cop, 'func(3, :a => 0)')
|
34
|
-
expect(cop.messages).to eq(['Use the new Ruby 1.9 hash syntax.'])
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'accepts hash rockets when keys have different types' do
|
38
|
-
inspect_source(cop, 'x = { :a => 0, "b" => 1 }')
|
39
|
-
expect(cop.messages).to be_empty
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'accepts hash rockets when keys have whitespaces in them' do
|
43
|
-
inspect_source(cop, 'x = { :"t o" => 0 }')
|
44
|
-
expect(cop.messages).to be_empty
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'accepts hash rockets when keys have special symbols in them' do
|
48
|
-
inspect_source(cop, 'x = { :"\tab" => 1 }')
|
49
|
-
expect(cop.messages).to be_empty
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'accepts hash rockets when keys start with a digit' do
|
53
|
-
inspect_source(cop, 'x = { :"1" => 1 }')
|
54
|
-
expect(cop.messages).to be_empty
|
55
|
-
end
|
56
|
-
|
57
|
-
it 'registers offense when keys start with an uppercase letter' do
|
58
|
-
inspect_source(cop, 'x = { :A => 0 }')
|
59
|
-
expect(cop.messages).to eq(['Use the new Ruby 1.9 hash syntax.'])
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'accepts new syntax in a hash literal' do
|
63
|
-
inspect_source(cop, 'x = { a: 0, b: 1 }')
|
64
|
-
expect(cop.messages).to be_empty
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'accepts new syntax in method calls' do
|
68
|
-
inspect_source(cop, 'func(3, a: 0)')
|
69
|
-
expect(cop.messages).to be_empty
|
70
|
-
end
|
71
|
-
|
72
|
-
it 'auto-corrects old to new style' do
|
73
|
-
new_source = autocorrect_source(cop, '{ :a => 1, :b => 2}')
|
74
|
-
expect(new_source).to eq('{ a: 1, b: 2}')
|
75
|
-
end
|
76
|
-
|
77
|
-
it 'auto-corrects even if it interferes with SpaceAroundOperators' do
|
78
|
-
# Clobbering caused by two cops changing in the same range is dealt with
|
79
|
-
# by the auto-correct loop, so there's no reason to avoid a change.
|
80
|
-
new_source = autocorrect_source(cop, '{ :a=>1, :b=>2 }')
|
81
|
-
expect(new_source).to eq('{ a: 1, b: 2 }')
|
82
|
-
end
|
83
|
-
|
84
|
-
context 'with SpaceAroundOperators disabled' do
|
85
|
-
let(:config) do
|
86
|
-
RuboCop::Config.new('Style/HashSyntax' => {
|
87
|
-
'EnforcedStyle' => 'ruby19',
|
88
|
-
'SupportedStyles' => %w(ruby19 hash_rockets)
|
89
|
-
},
|
90
|
-
'Style/SpaceAroundOperators' => {
|
91
|
-
'Enabled' => false
|
92
|
-
})
|
93
|
-
end
|
94
|
-
|
95
|
-
it 'auto-corrects even if there is no space around =>' do
|
96
|
-
new_source = autocorrect_source(cop, '{ :a=>1, :b=>2 }')
|
97
|
-
expect(new_source).to eq('{ a: 1, b: 2 }')
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
context 'configured to enforce hash rockets style' do
|
103
|
-
let(:cop_config) { { 'EnforcedStyle' => 'hash_rockets' } }
|
104
|
-
|
105
|
-
it 'registers offense for Ruby 1.9 style' do
|
106
|
-
inspect_source(cop, 'x = { a: 0 }')
|
107
|
-
expect(cop.messages).to eq(['Always use hash rockets in hashes.'])
|
108
|
-
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'ruby19')
|
109
|
-
end
|
110
|
-
|
111
|
-
it 'registers an offense for mixed syntax' do
|
112
|
-
inspect_source(cop, 'x = { :a => 0, b: 1 }')
|
113
|
-
expect(cop.messages).to eq(['Always use hash rockets in hashes.'])
|
114
|
-
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
115
|
-
end
|
116
|
-
|
117
|
-
it 'registers an offense for 1.9 style in method calls' do
|
118
|
-
inspect_source(cop, 'func(3, a: 0)')
|
119
|
-
expect(cop.messages).to eq(['Always use hash rockets in hashes.'])
|
120
|
-
end
|
121
|
-
|
122
|
-
it 'accepts hash rockets in a hash literal' do
|
123
|
-
inspect_source(cop, 'x = { :a => 0, :b => 1 }')
|
124
|
-
expect(cop.messages).to be_empty
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'accepts hash rockets in method calls' do
|
128
|
-
inspect_source(cop, 'func(3, :a => 0)')
|
129
|
-
expect(cop.messages).to be_empty
|
130
|
-
end
|
131
|
-
|
132
|
-
it 'auto-corrects new style to hash rockets' do
|
133
|
-
new_source = autocorrect_source(cop, '{ a: 1, b: 2}')
|
134
|
-
expect(new_source).to eq('{ :a => 1, :b => 2}')
|
135
|
-
end
|
136
|
-
end
|
137
|
-
end
|