rubocop 0.18.1 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubocop might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +65 -1
- data/Gemfile +0 -3
- data/LICENSE.txt +1 -1
- data/README.md +179 -77
- data/Rakefile +8 -0
- data/config/default.yml +151 -14
- data/config/enabled.yml +65 -8
- data/lib/rubocop.rb +19 -4
- data/lib/rubocop/cli.rb +2 -1
- data/lib/rubocop/comment_config.rb +97 -0
- data/lib/rubocop/config.rb +1 -1
- data/lib/rubocop/config_loader.rb +3 -2
- data/lib/rubocop/config_store.rb +6 -2
- data/lib/rubocop/cop/commissioner.rb +2 -2
- data/lib/rubocop/cop/cop.rb +22 -26
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +2 -2
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
- data/lib/rubocop/cop/lint/block_alignment.rb +6 -6
- data/lib/rubocop/cop/lint/condition_position.rb +1 -1
- data/lib/rubocop/cop/lint/debugger.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +60 -0
- data/lib/rubocop/cop/lint/else_layout.rb +1 -1
- data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
- data/lib/rubocop/cop/lint/end_alignment.rb +14 -12
- data/lib/rubocop/cop/lint/end_in_method.rb +1 -1
- data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
- data/lib/rubocop/cop/lint/eval.rb +1 -1
- data/lib/rubocop/cop/lint/handle_exceptions.rb +1 -1
- data/lib/rubocop/cop/lint/literal_in_condition.rb +13 -2
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +28 -0
- data/lib/rubocop/cop/lint/loop.rb +4 -4
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
- data/lib/rubocop/cop/lint/require_parentheses.rb +6 -6
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +2 -2
- data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +30 -0
- data/lib/rubocop/cop/lint/syntax.rb +5 -5
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/useless_assignment.rb +5 -5
- data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
- data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
- data/lib/rubocop/cop/lint/void.rb +5 -5
- data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +8 -5
- data/lib/rubocop/cop/mixin/code_length.rb +2 -2
- data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +7 -7
- data/lib/rubocop/cop/mixin/configurable_max.rb +1 -1
- data/lib/rubocop/cop/mixin/configurable_naming.rb +1 -1
- data/lib/rubocop/cop/mixin/if_then_else.rb +1 -1
- data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
- data/lib/rubocop/cop/mixin/parser_diagnostic.rb +2 -2
- data/lib/rubocop/cop/mixin/space_after_punctuation.rb +3 -2
- data/lib/rubocop/cop/mixin/space_inside.rb +1 -1
- data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -0
- data/lib/rubocop/cop/mixin/string_help.rb +4 -4
- data/lib/rubocop/cop/{offence.rb → offense.rb} +7 -7
- data/lib/rubocop/cop/rails/action_filter.rb +73 -0
- data/lib/rubocop/cop/rails/default_scope.rb +1 -1
- data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +1 -1
- data/lib/rubocop/cop/rails/output.rb +1 -10
- data/lib/rubocop/cop/rails/read_attribute.rb +1 -1
- data/lib/rubocop/cop/rails/scope_args.rb +33 -0
- data/lib/rubocop/cop/rails/validation.rb +1 -1
- data/lib/rubocop/cop/style/access_modifier_indentation.rb +1 -1
- data/lib/rubocop/cop/style/accessor_method_name.rb +2 -2
- data/lib/rubocop/cop/style/alias.rb +2 -2
- data/lib/rubocop/cop/style/align_array.rb +1 -1
- data/lib/rubocop/cop/style/align_hash.rb +29 -2
- data/lib/rubocop/cop/style/align_parameters.rb +16 -2
- data/lib/rubocop/cop/style/and_or.rb +2 -2
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
- data/lib/rubocop/cop/style/ascii_identifiers.rb +1 -1
- data/lib/rubocop/cop/style/attr.rb +1 -1
- data/lib/rubocop/cop/style/begin_block.rb +1 -1
- data/lib/rubocop/cop/style/block_comments.rb +1 -1
- data/lib/rubocop/cop/style/block_nesting.rb +1 -1
- data/lib/rubocop/cop/style/blocks.rb +2 -2
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +2 -2
- data/lib/rubocop/cop/style/case_equality.rb +1 -1
- data/lib/rubocop/cop/style/case_indentation.rb +2 -2
- data/lib/rubocop/cop/style/character_literal.rb +2 -2
- data/lib/rubocop/cop/style/class_and_module_camel_case.rb +1 -1
- data/lib/rubocop/cop/style/class_and_module_children.rb +69 -0
- data/lib/rubocop/cop/style/class_methods.rb +1 -1
- data/lib/rubocop/cop/style/class_vars.rb +3 -3
- data/lib/rubocop/cop/style/collection_methods.rb +4 -4
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
- data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
- data/lib/rubocop/cop/style/constant_name.rb +1 -1
- data/lib/rubocop/cop/style/cyclomatic_complexity.rb +2 -2
- data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/documentation.rb +1 -1
- data/lib/rubocop/cop/style/dot_position.rb +10 -11
- data/lib/rubocop/cop/style/double_negation.rb +40 -0
- data/lib/rubocop/cop/style/empty_line_between_defs.rb +8 -1
- data/lib/rubocop/cop/style/empty_lines.rb +3 -2
- data/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +1 -1
- data/lib/rubocop/cop/style/empty_lines_around_body.rb +1 -1
- data/lib/rubocop/cop/style/empty_literal.rb +3 -3
- data/lib/rubocop/cop/style/encoding.rb +1 -1
- data/lib/rubocop/cop/style/end_block.rb +1 -1
- data/lib/rubocop/cop/style/end_of_line.rb +2 -2
- data/lib/rubocop/cop/style/even_odd.rb +2 -2
- data/lib/rubocop/cop/style/favor_join.rb +1 -1
- data/lib/rubocop/cop/style/file_name.rb +29 -0
- data/lib/rubocop/cop/style/final_newline.rb +1 -1
- data/lib/rubocop/cop/style/flip_flop.rb +2 -2
- data/lib/rubocop/cop/style/for.rb +2 -2
- data/lib/rubocop/cop/style/format_string.rb +66 -0
- data/lib/rubocop/cop/style/global_vars.rb +2 -2
- data/lib/rubocop/cop/style/hash_methods.rb +1 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +3 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +2 -1
- data/lib/rubocop/cop/style/indent_array.rb +41 -0
- data/lib/rubocop/cop/style/indent_hash.rb +119 -0
- data/lib/rubocop/cop/style/indentation_consistency.rb +3 -11
- data/lib/rubocop/cop/style/indentation_width.rb +44 -23
- data/lib/rubocop/cop/style/lambda.rb +2 -2
- data/lib/rubocop/cop/style/lambda_call.rb +3 -3
- data/lib/rubocop/cop/style/leading_comment_space.rb +1 -1
- data/lib/rubocop/cop/style/line_end_concatenation.rb +7 -3
- data/lib/rubocop/cop/style/line_length.rb +2 -2
- data/lib/rubocop/cop/style/method_call_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -2
- data/lib/rubocop/cop/style/method_def_parentheses.rb +9 -7
- data/lib/rubocop/cop/style/module_function.rb +1 -1
- data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
- data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -2
- data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
- data/lib/rubocop/cop/style/not.rb +1 -1
- data/lib/rubocop/cop/style/numeric_literals.rb +5 -5
- data/lib/rubocop/cop/style/op_method.rb +2 -2
- data/lib/rubocop/cop/style/parameter_lists.rb +1 -1
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +5 -4
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +143 -0
- data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
- data/lib/rubocop/cop/style/predicate_name.rb +1 -1
- data/lib/rubocop/cop/style/proc.rb +1 -1
- data/lib/rubocop/cop/style/raise_args.rb +2 -2
- data/lib/rubocop/cop/style/redundant_begin.rb +1 -1
- data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
- data/lib/rubocop/cop/style/redundant_return.rb +1 -1
- data/lib/rubocop/cop/style/redundant_self.rb +2 -2
- data/lib/rubocop/cop/style/regexp_literal.rb +45 -19
- data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
- data/lib/rubocop/cop/style/self_assignment.rb +73 -0
- data/lib/rubocop/cop/style/semicolon.rb +12 -8
- data/lib/rubocop/cop/style/signal_exception.rb +2 -2
- data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
- data/lib/rubocop/cop/style/single_line_methods.rb +38 -1
- data/lib/rubocop/cop/style/space_after_colon.rb +3 -3
- data/lib/rubocop/cop/style/space_after_comma.rb +1 -1
- data/lib/rubocop/cop/style/space_after_control_keyword.rb +1 -1
- data/lib/rubocop/cop/style/space_after_method_name.rb +11 -3
- data/lib/rubocop/cop/style/space_after_not.rb +1 -1
- data/lib/rubocop/cop/style/space_after_semicolon.rb +1 -1
- data/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +41 -6
- data/lib/rubocop/cop/style/space_around_operators.rb +4 -4
- data/lib/rubocop/cop/style/space_before_block_braces.rb +63 -0
- data/lib/rubocop/cop/style/space_before_modifier_keyword.rb +1 -1
- data/lib/rubocop/cop/style/{space_around_block_braces.rb → space_inside_block_braces.rb} +15 -24
- data/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +14 -7
- data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
- data/lib/rubocop/cop/style/string_literals.rb +1 -1
- data/lib/rubocop/cop/style/symbol_array.rb +1 -1
- data/lib/rubocop/cop/style/tab.rb +1 -1
- data/lib/rubocop/cop/style/trailing_blank_lines.rb +2 -2
- data/lib/rubocop/cop/style/trailing_comma.rb +4 -4
- data/lib/rubocop/cop/style/trailing_whitespace.rb +1 -1
- data/lib/rubocop/cop/style/trivial_accessors.rb +2 -2
- data/lib/rubocop/cop/style/unless_else.rb +1 -1
- data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
- data/lib/rubocop/cop/style/when_then.rb +1 -1
- data/lib/rubocop/cop/style/while_until_do.rb +1 -1
- data/lib/rubocop/cop/style/while_until_modifier.rb +2 -1
- data/lib/rubocop/cop/style/word_array.rb +2 -2
- data/lib/rubocop/cop/team.rb +24 -7
- data/lib/rubocop/cop/util.rb +3 -3
- data/lib/rubocop/cop/variable_inspector.rb +25 -13
- data/lib/rubocop/cop/variable_inspector/assignment.rb +1 -1
- data/lib/rubocop/cop/variable_inspector/reference.rb +1 -1
- data/lib/rubocop/cop/variable_inspector/scope.rb +1 -1
- data/lib/rubocop/cop/variable_inspector/variable.rb +2 -2
- data/lib/rubocop/cop/variable_inspector/variable_table.rb +1 -1
- data/lib/rubocop/file_inspector.rb +12 -13
- data/lib/rubocop/formatter/base_formatter.rb +4 -4
- data/lib/rubocop/formatter/clang_style_formatter.rb +2 -2
- data/lib/rubocop/formatter/disabled_config_formatter.rb +12 -12
- data/lib/rubocop/formatter/emacs_style_formatter.rb +3 -2
- data/lib/rubocop/formatter/file_list_formatter.rb +4 -4
- data/lib/rubocop/formatter/formatter_set.rb +2 -1
- data/lib/rubocop/formatter/fuubar_style_formatter.rb +76 -0
- data/lib/rubocop/formatter/json_formatter.rb +17 -16
- data/lib/rubocop/formatter/offense_count_formatter.rb +54 -0
- data/lib/rubocop/formatter/progress_formatter.rb +16 -16
- data/lib/rubocop/formatter/simple_text_formatter.rb +25 -25
- data/lib/rubocop/options.rb +8 -7
- data/lib/rubocop/processed_source.rb +3 -2
- data/lib/rubocop/source_parser.rb +1 -59
- data/lib/rubocop/version.rb +3 -3
- data/relnotes/0.19.0.md +70 -0
- data/rubocop-todo.yml +6 -6
- data/rubocop.gemspec +2 -1
- data/spec/rubocop/cli_spec.rb +431 -268
- data/spec/rubocop/comment_config_spec.rb +103 -0
- data/spec/rubocop/config_loader_spec.rb +4 -4
- data/spec/rubocop/cop/commissioner_spec.rb +7 -7
- data/spec/rubocop/cop/cop_spec.rb +17 -17
- data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +16 -16
- data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +5 -5
- data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +19 -19
- data/spec/rubocop/cop/lint/block_alignment_spec.rb +52 -52
- data/spec/rubocop/cop/lint/condition_position_spec.rb +7 -7
- data/spec/rubocop/cop/lint/debugger_spec.rb +10 -10
- data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +33 -0
- data/spec/rubocop/cop/lint/else_layout_spec.rb +7 -7
- data/spec/rubocop/cop/lint/empty_ensure_spec.rb +4 -4
- data/spec/rubocop/cop/lint/end_alignment_spec.rb +33 -34
- data/spec/rubocop/cop/lint/end_in_method_spec.rb +5 -5
- data/spec/rubocop/cop/lint/ensure_return_spec.rb +4 -4
- data/spec/rubocop/cop/lint/eval_spec.rb +8 -8
- data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +4 -4
- data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +3 -3
- data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +65 -10
- data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +21 -0
- data/spec/rubocop/cop/lint/loop_spec.rb +6 -6
- data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +14 -14
- data/spec/rubocop/cop/lint/require_parentheses_spec.rb +15 -15
- data/spec/rubocop/cop/lint/rescue_exception_spec.rb +21 -21
- data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +16 -16
- data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +27 -0
- data/spec/rubocop/cop/lint/syntax_spec.rb +11 -11
- data/spec/rubocop/cop/lint/unreachable_code_spec.rb +8 -8
- data/spec/rubocop/cop/lint/useless_assignment_spec.rb +207 -169
- data/spec/rubocop/cop/lint/useless_comparison_spec.rb +5 -5
- data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +4 -4
- data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +17 -17
- data/spec/rubocop/cop/lint/void_spec.rb +8 -8
- data/spec/rubocop/cop/{offence_spec.rb → offense_spec.rb} +17 -17
- data/spec/rubocop/cop/rails/action_filter_spec.rb +69 -0
- data/spec/rubocop/cop/rails/default_scope_spec.rb +9 -9
- data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +2 -2
- data/spec/rubocop/cop/rails/output_spec.rb +8 -18
- data/spec/rubocop/cop/rails/read_attribute_spec.rb +2 -2
- data/spec/rubocop/cop/rails/scope_args_spec.rb +25 -0
- data/spec/rubocop/cop/rails/validation_spec.rb +3 -3
- data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +38 -38
- data/spec/rubocop/cop/style/accessor_method_name_spec.rb +14 -14
- data/spec/rubocop/cop/style/alias_spec.rb +11 -11
- data/spec/rubocop/cop/style/align_array_spec.rb +23 -7
- data/spec/rubocop/cop/style/align_hash_spec.rb +111 -30
- data/spec/rubocop/cop/style/align_parameters_spec.rb +260 -187
- data/spec/rubocop/cop/style/and_or_spec.rb +6 -6
- data/spec/rubocop/cop/style/ascii_comments_spec.rb +3 -3
- data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +5 -5
- data/spec/rubocop/cop/style/attr_spec.rb +2 -2
- data/spec/rubocop/cop/style/begin_block_spec.rb +2 -2
- data/spec/rubocop/cop/style/block_comments_spec.rb +3 -3
- data/spec/rubocop/cop/style/block_nesting_spec.rb +26 -26
- data/spec/rubocop/cop/style/blocks_spec.rb +8 -8
- data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +8 -8
- data/spec/rubocop/cop/style/case_equality_spec.rb +2 -2
- data/spec/rubocop/cop/style/case_indentation_spec.rb +21 -21
- data/spec/rubocop/cop/style/character_literal_spec.rb +6 -6
- data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +4 -4
- data/spec/rubocop/cop/style/class_and_module_children_spec.rb +129 -0
- data/spec/rubocop/cop/style/class_length_spec.rb +9 -9
- data/spec/rubocop/cop/style/class_methods_spec.rb +8 -8
- data/spec/rubocop/cop/style/class_vars_spec.rb +4 -4
- data/spec/rubocop/cop/style/collection_methods_spec.rb +6 -6
- data/spec/rubocop/cop/style/colon_method_call_spec.rb +16 -16
- data/spec/rubocop/cop/style/comment_annotation_spec.rb +16 -16
- data/spec/rubocop/cop/style/constant_name_spec.rb +12 -12
- data/spec/rubocop/cop/style/cyclomatic_complexity_spec.rb +16 -16
- data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +6 -6
- data/spec/rubocop/cop/style/documentation_spec.rb +14 -14
- data/spec/rubocop/cop/style/dot_position_spec.rb +23 -26
- data/spec/rubocop/cop/style/double_negation_spec.rb +22 -0
- data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +22 -14
- data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +4 -4
- data/spec/rubocop/cop/style/empty_lines_around_body_spec.rb +20 -20
- data/spec/rubocop/cop/style/empty_lines_spec.rb +17 -6
- data/spec/rubocop/cop/style/empty_literal_spec.rb +20 -20
- data/spec/rubocop/cop/style/encoding_spec.rb +5 -5
- data/spec/rubocop/cop/style/end_block_spec.rb +2 -2
- data/spec/rubocop/cop/style/end_of_line_spec.rb +4 -4
- data/spec/rubocop/cop/style/even_odd_spec.rb +18 -18
- data/spec/rubocop/cop/style/favor_join_spec.rb +7 -7
- data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +7 -7
- data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +3 -3
- data/spec/rubocop/cop/style/file_name_spec.rb +71 -0
- data/spec/rubocop/cop/style/final_newline_spec.rb +4 -4
- data/spec/rubocop/cop/style/flip_flop_spec.rb +4 -4
- data/spec/rubocop/cop/style/for_spec.rb +13 -13
- data/spec/rubocop/cop/style/format_string_spec.rb +136 -0
- data/spec/rubocop/cop/style/global_vars_spec.rb +7 -7
- data/spec/rubocop/cop/style/hash_methods_spec.rb +6 -6
- data/spec/rubocop/cop/style/hash_syntax_spec.rb +11 -11
- data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +29 -11
- data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +1 -1
- data/spec/rubocop/cop/style/indent_array_spec.rb +136 -0
- data/spec/rubocop/cop/style/indent_hash_spec.rb +238 -0
- data/spec/rubocop/cop/style/indentation_consistency_spec.rb +69 -49
- data/spec/rubocop/cop/style/indentation_width_spec.rb +264 -128
- data/spec/rubocop/cop/style/lambda_call_spec.rb +14 -14
- data/spec/rubocop/cop/style/lambda_spec.rb +7 -7
- data/spec/rubocop/cop/style/leading_comment_space_spec.rb +15 -15
- data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +11 -4
- data/spec/rubocop/cop/style/line_length_spec.rb +5 -5
- data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +5 -5
- data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +9 -9
- data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +19 -19
- data/spec/rubocop/cop/style/method_length_spec.rb +17 -17
- data/spec/rubocop/cop/style/method_name_spec.rb +21 -21
- data/spec/rubocop/cop/style/module_function_spec.rb +3 -3
- data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +13 -13
- data/spec/rubocop/cop/style/multiline_if_then_spec.rb +10 -10
- data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +3 -3
- data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +3 -3
- data/spec/rubocop/cop/style/nil_comparison_spec.rb +7 -7
- data/spec/rubocop/cop/style/not_spec.rb +6 -11
- data/spec/rubocop/cop/style/numeric_literals_spec.rb +8 -8
- data/spec/rubocop/cop/style/one_line_conditional_spec.rb +1 -1
- data/spec/rubocop/cop/style/op_method_spec.rb +13 -13
- data/spec/rubocop/cop/style/parameter_lists_spec.rb +6 -6
- data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +11 -10
- data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +250 -0
- data/spec/rubocop/cop/style/perl_backrefs_spec.rb +2 -2
- data/spec/rubocop/cop/style/predicate_name_spec.rb +3 -3
- data/spec/rubocop/cop/style/proc_spec.rb +4 -4
- data/spec/rubocop/cop/style/raise_args_spec.rb +20 -20
- data/spec/rubocop/cop/style/redundant_begin_spec.rb +6 -6
- data/spec/rubocop/cop/style/redundant_exception_spec.rb +6 -6
- data/spec/rubocop/cop/style/redundant_return_spec.rb +22 -22
- data/spec/rubocop/cop/style/redundant_self_spec.rb +14 -14
- data/spec/rubocop/cop/style/regexp_literal_spec.rb +88 -67
- data/spec/rubocop/cop/style/rescue_modifier_spec.rb +17 -17
- data/spec/rubocop/cop/style/self_assignment_spec.rb +43 -0
- data/spec/rubocop/cop/style/semicolon_spec.rb +31 -17
- data/spec/rubocop/cop/style/signal_exception_spec.rb +29 -29
- data/spec/rubocop/cop/style/single_line_block_params_spec.rb +6 -6
- data/spec/rubocop/cop/style/single_line_methods_spec.rb +44 -6
- data/spec/rubocop/cop/style/space_after_colon_spec.rb +1 -1
- data/spec/rubocop/cop/style/space_after_comma_spec.rb +3 -3
- data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +12 -12
- data/spec/rubocop/cop/style/space_after_method_name_spec.rb +8 -8
- data/spec/rubocop/cop/style/space_after_not_spec.rb +3 -3
- data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +1 -1
- data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +63 -21
- data/spec/rubocop/cop/style/space_around_operators_spec.rb +24 -24
- data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +72 -0
- data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +4 -4
- data/spec/rubocop/cop/style/{space_around_block_braces_spec.rb → space_inside_block_braces_spec.rb} +39 -41
- data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +1 -1
- data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +15 -15
- data/spec/rubocop/cop/style/space_inside_parens_spec.rb +1 -1
- data/spec/rubocop/cop/style/special_global_vars_spec.rb +10 -10
- data/spec/rubocop/cop/style/string_literals_spec.rb +31 -31
- data/spec/rubocop/cop/style/symbol_array_spec.rb +9 -9
- data/spec/rubocop/cop/style/tab_spec.rb +3 -3
- data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +3 -3
- data/spec/rubocop/cop/style/trailing_comma_spec.rb +32 -32
- data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +5 -5
- data/spec/rubocop/cop/style/trivial_accessors_spec.rb +39 -39
- data/spec/rubocop/cop/style/unless_else_spec.rb +1 -1
- data/spec/rubocop/cop/style/variable_interpolation_spec.rb +12 -12
- data/spec/rubocop/cop/style/variable_name_spec.rb +21 -21
- data/spec/rubocop/cop/style/when_then_spec.rb +1 -1
- data/spec/rubocop/cop/style/while_until_do_spec.rb +8 -8
- data/spec/rubocop/cop/style/while_until_modifier_spec.rb +25 -7
- data/spec/rubocop/cop/style/word_array_spec.rb +23 -23
- data/spec/rubocop/cop/team_spec.rb +14 -14
- data/spec/rubocop/file_inspector_spec.rb +14 -12
- data/spec/rubocop/formatter/base_formatter_spec.rb +19 -19
- data/spec/rubocop/formatter/clang_style_formatter_spec.rb +14 -14
- data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +7 -7
- data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +7 -7
- data/spec/rubocop/formatter/file_list_formatter_spec.rb +4 -4
- data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +129 -0
- data/spec/rubocop/formatter/json_formatter_spec.rb +23 -19
- data/spec/rubocop/formatter/offense_count_formatter_spec.rb +77 -0
- data/spec/rubocop/formatter/progress_formatter_spec.rb +27 -27
- data/spec/rubocop/formatter/simple_text_formatter_spec.rb +16 -16
- data/spec/rubocop/options_spec.rb +7 -8
- data/spec/rubocop/source_parser_spec.rb +0 -54
- data/spec/spec_helper.rb +11 -7
- data/spec/support/file_helper.rb +1 -1
- data/spec/support/mri_syntax_checker.rb +4 -4
- data/spec/support/shared_examples.rb +6 -6
- data/spec/support/statement_modifier_helper.rb +3 -3
- metadata +76 -16
- data/lib/rubocop/cop/style/favor_sprintf.rb +0 -26
- data/lib/rubocop/formatter/offence_count_formatter.rb +0 -49
- data/spec/rubocop/cop/style/favor_sprintf_spec.rb +0 -47
- data/spec/rubocop/formatter/offence_count_formatter_spec.rb +0 -52
@@ -0,0 +1,72 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Rubocop::Cop::Style::SpaceBeforeBlockBraces do
|
6
|
+
subject(:cop) { described_class.new(config) }
|
7
|
+
let(:config) do
|
8
|
+
merged = Rubocop::ConfigLoader
|
9
|
+
.default_configuration['SpaceBeforeBlockBraces'].merge(cop_config)
|
10
|
+
Rubocop::Config.new('Blocks' => { 'Enabled' => false },
|
11
|
+
'SpaceBeforeBlockBraces' => merged)
|
12
|
+
end
|
13
|
+
let(:cop_config) { { 'EnforcedStyle' => 'space' } }
|
14
|
+
|
15
|
+
context 'when EnforcedStyle is space' do
|
16
|
+
it 'accepts braces surrounded by spaces' do
|
17
|
+
inspect_source(cop, ['each { puts }'])
|
18
|
+
expect(cop.messages).to be_empty
|
19
|
+
expect(cop.highlights).to be_empty
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'registers an offense for left brace without outer space' do
|
23
|
+
inspect_source(cop, ['each{ puts }'])
|
24
|
+
expect(cop.messages).to eq(['Space missing to the left of {.'])
|
25
|
+
expect(cop.highlights).to eq(['{'])
|
26
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'no_space')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'registers an offense for opposite + correct style' do
|
30
|
+
inspect_source(cop,
|
31
|
+
['each{ puts }',
|
32
|
+
'each { puts }'])
|
33
|
+
expect(cop.messages).to eq(['Space missing to the left of {.'])
|
34
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'auto-corrects missing space' do
|
38
|
+
new_source = autocorrect_source(cop, 'each{}')
|
39
|
+
expect(new_source).to eq('each {}')
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'when EnforcedStyle is no_space' do
|
44
|
+
let(:cop_config) { { 'EnforcedStyle' => 'no_space' } }
|
45
|
+
|
46
|
+
it 'registers an offense for braces surrounded by spaces' do
|
47
|
+
inspect_source(cop, ['each { puts }'])
|
48
|
+
expect(cop.messages).to eq(['Space detected to the left of {.'])
|
49
|
+
expect(cop.highlights).to eq([' '])
|
50
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'space')
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'registers an offense for correct + opposite style' do
|
54
|
+
inspect_source(cop,
|
55
|
+
['each{ puts }',
|
56
|
+
'each { puts }'])
|
57
|
+
expect(cop.messages).to eq(['Space detected to the left of {.'])
|
58
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'auto-corrects unwanted space' do
|
62
|
+
new_source = autocorrect_source(cop, 'each {}')
|
63
|
+
expect(new_source).to eq('each{}')
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'accepts left brace without outer space' do
|
67
|
+
inspect_source(cop, ['each{ puts }'])
|
68
|
+
expect(cop.messages).to be_empty
|
69
|
+
expect(cop.highlights).to be_empty
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::SpaceBeforeModifierKeyword do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for missing space before if/unless' do
|
9
9
|
inspect_source(cop, ['(a = 3)if a == 2',
|
10
10
|
'a = "test"if a == 2',
|
11
11
|
'a = 42unless a == 2',
|
@@ -14,7 +14,7 @@ describe Rubocop::Cop::Style::SpaceBeforeModifierKeyword do
|
|
14
14
|
expect(cop.highlights).to eq([')', '"', '2', ']', '}'])
|
15
15
|
end
|
16
16
|
|
17
|
-
it 'registers an
|
17
|
+
it 'registers an offense for missing space before while/until' do
|
18
18
|
inspect_source(cop, ['(a = 3)while b',
|
19
19
|
'a = "test"until b',
|
20
20
|
'a = 42while b',
|
@@ -28,7 +28,7 @@ describe Rubocop::Cop::Style::SpaceBeforeModifierKeyword do
|
|
28
28
|
'a = "test" unless b',
|
29
29
|
'a = 42 while b',
|
30
30
|
'a = [1,2,3] until b'])
|
31
|
-
expect(cop.
|
31
|
+
expect(cop.offenses).to be_empty
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'accepts elsif at beginning of line' do
|
@@ -42,7 +42,7 @@ describe Rubocop::Cop::Style::SpaceBeforeModifierKeyword do
|
|
42
42
|
|
43
43
|
it 'does not crash on ternary conditionals' do
|
44
44
|
inspect_source(cop, 'a ? b : c')
|
45
|
-
expect(cop.
|
45
|
+
expect(cop.offenses).to be_empty
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'auto-corrects missing space' do
|
data/spec/rubocop/cop/style/{space_around_block_braces_spec.rb → space_inside_block_braces_spec.rb}
RENAMED
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe Rubocop::Cop::Style::
|
6
|
-
SUPPORTED_STYLES = %w(
|
5
|
+
describe Rubocop::Cop::Style::SpaceInsideBlockBraces do
|
6
|
+
SUPPORTED_STYLES = %w(space no_space)
|
7
7
|
|
8
8
|
subject(:cop) { described_class.new(config) }
|
9
9
|
let(:config) do
|
10
10
|
merged = Rubocop::ConfigLoader
|
11
|
-
.default_configuration['
|
11
|
+
.default_configuration['SpaceInsideBlockBraces'].merge(cop_config)
|
12
12
|
Rubocop::Config.new('Blocks' => { 'Enabled' => false },
|
13
|
-
'
|
13
|
+
'SpaceInsideBlockBraces' => merged)
|
14
14
|
end
|
15
15
|
let(:cop_config) do
|
16
16
|
{
|
17
|
-
'EnforcedStyle' => '
|
17
|
+
'EnforcedStyle' => 'space',
|
18
18
|
'SupportedStyles' => SUPPORTED_STYLES,
|
19
19
|
'SpaceBeforeBlockParameters' => true
|
20
20
|
}
|
@@ -34,7 +34,7 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
34
34
|
expect(cop.messages).to be_empty
|
35
35
|
end
|
36
36
|
|
37
|
-
it 'registers an
|
37
|
+
it 'registers an offense for empty braces with space inside' do
|
38
38
|
inspect_source(cop, ['each { }'])
|
39
39
|
expect(cop.messages).to eq(['Space inside empty braces detected.'])
|
40
40
|
expect(cop.highlights).to eq([' '])
|
@@ -64,7 +64,7 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
64
64
|
expect(cop.messages).to be_empty
|
65
65
|
end
|
66
66
|
|
67
|
-
it 'registers an
|
67
|
+
it 'registers an offense for empty braces with no space inside' do
|
68
68
|
inspect_source(cop, ['each {}'])
|
69
69
|
expect(cop.messages).to eq(['Space missing inside empty braces.'])
|
70
70
|
expect(cop.highlights).to eq(['{}'])
|
@@ -82,26 +82,25 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
82
82
|
expect(cop.highlights).to be_empty
|
83
83
|
end
|
84
84
|
|
85
|
-
it '
|
85
|
+
it 'accepts left brace without outer space' do
|
86
86
|
inspect_source(cop, ['each{ puts }'])
|
87
|
-
expect(cop.
|
88
|
-
expect(cop.highlights).to eq(['{'])
|
87
|
+
expect(cop.highlights).to be_empty
|
89
88
|
end
|
90
89
|
|
91
|
-
it 'registers an
|
90
|
+
it 'registers an offense for left brace without inner space' do
|
92
91
|
inspect_source(cop, ['each {puts }'])
|
93
92
|
expect(cop.messages).to eq(['Space missing inside {.'])
|
94
93
|
expect(cop.highlights).to eq(['p'])
|
95
94
|
end
|
96
95
|
|
97
|
-
it 'registers an
|
96
|
+
it 'registers an offense for right brace without inner space' do
|
98
97
|
inspect_source(cop, ['each { puts}'])
|
99
98
|
expect(cop.messages).to eq(['Space missing inside }.'])
|
100
99
|
expect(cop.highlights).to eq(['}'])
|
101
|
-
expect(cop.
|
100
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
102
101
|
end
|
103
102
|
|
104
|
-
it 'registers
|
103
|
+
it 'registers offenses for both braces without inner space' do
|
105
104
|
inspect_source(cop, ['a {}',
|
106
105
|
'b { }',
|
107
106
|
'each {puts}'])
|
@@ -112,9 +111,9 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
112
111
|
|
113
112
|
# Both correct and incorrect code has been found in relation to
|
114
113
|
# EnforcedStyleForEmptyBraces, but that doesn't matter. EnforcedStyle can
|
115
|
-
# be changed to get rid of the EnforcedStyle
|
116
|
-
expect(cop.
|
117
|
-
'
|
114
|
+
# be changed to get rid of the EnforcedStyle offenses.
|
115
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
116
|
+
'no_space')
|
118
117
|
end
|
119
118
|
|
120
119
|
it 'auto-corrects missing space' do
|
@@ -129,32 +128,32 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
129
128
|
expect(cop.highlights).to be_empty
|
130
129
|
end
|
131
130
|
|
132
|
-
it 'registers an
|
131
|
+
it 'registers an offense for left brace without inner space' do
|
133
132
|
inspect_source(cop, ['each {|x| puts }'])
|
134
133
|
expect(cop.messages).to eq(['Space between { and | missing.'])
|
135
134
|
expect(cop.highlights).to eq(['{|'])
|
136
135
|
end
|
137
136
|
|
138
137
|
it 'auto-corrects missing space' do
|
139
|
-
new_source = autocorrect_source(cop, 'each{|x| puts }')
|
138
|
+
new_source = autocorrect_source(cop, 'each {|x| puts }')
|
140
139
|
expect(new_source).to eq('each { |x| puts }')
|
141
140
|
end
|
142
141
|
|
143
142
|
context 'and Blocks cop enabled' do
|
144
143
|
let(:config) do
|
145
144
|
Rubocop::Config.new('Blocks' => { 'Enabled' => true },
|
146
|
-
'
|
145
|
+
'SpaceInsideBlockBraces' => cop_config)
|
147
146
|
end
|
148
147
|
|
149
148
|
it 'does auto-correction for single-line blocks' do
|
150
|
-
new_source = autocorrect_source(cop, 'each{|x| puts}')
|
149
|
+
new_source = autocorrect_source(cop, 'each {|x| puts}')
|
151
150
|
expect(new_source).to eq('each { |x| puts }')
|
152
151
|
end
|
153
152
|
|
154
153
|
it 'does not do auto-correction for multi-line blocks' do
|
155
154
|
# {} will be changed to do..end by the Blocks cop, and then this cop is
|
156
155
|
# not relevant anymore.
|
157
|
-
old_source = ['each{|x|',
|
156
|
+
old_source = ['each {|x|',
|
158
157
|
' puts',
|
159
158
|
'}']
|
160
159
|
new_source = autocorrect_source(cop, old_source)
|
@@ -165,13 +164,13 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
165
164
|
context 'and space before block parameters not allowed' do
|
166
165
|
let(:cop_config) do
|
167
166
|
{
|
168
|
-
'EnforcedStyle' => '
|
167
|
+
'EnforcedStyle' => 'space',
|
169
168
|
'SupportedStyles' => SUPPORTED_STYLES,
|
170
169
|
'SpaceBeforeBlockParameters' => false
|
171
170
|
}
|
172
171
|
end
|
173
172
|
|
174
|
-
it 'registers an
|
173
|
+
it 'registers an offense for left brace with inner space' do
|
175
174
|
inspect_source(cop, ['each { |x| puts }'])
|
176
175
|
expect(cop.messages).to eq(['Space between { and | detected.'])
|
177
176
|
expect(cop.highlights).to eq([' '])
|
@@ -190,10 +189,10 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
190
189
|
end
|
191
190
|
end
|
192
191
|
|
193
|
-
context 'configured with
|
192
|
+
context 'configured with no_space' do
|
194
193
|
let(:cop_config) do
|
195
194
|
{
|
196
|
-
'EnforcedStyle' => '
|
195
|
+
'EnforcedStyle' => 'no_space',
|
197
196
|
'SupportedStyles' => SUPPORTED_STYLES,
|
198
197
|
'SpaceBeforeBlockParameters' => true
|
199
198
|
}
|
@@ -205,37 +204,36 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
205
204
|
expect(cop.highlights).to be_empty
|
206
205
|
end
|
207
206
|
|
208
|
-
it 'registers an
|
207
|
+
it 'registers an offense for left brace with inner space' do
|
209
208
|
inspect_source(cop, ['each { puts}'])
|
210
209
|
expect(cop.messages).to eq(['Space inside { detected.'])
|
211
210
|
expect(cop.highlights).to eq([' '])
|
212
|
-
expect(cop.
|
211
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
213
212
|
end
|
214
213
|
|
215
|
-
it 'registers an
|
214
|
+
it 'registers an offense for right brace with inner space' do
|
216
215
|
inspect_source(cop, ['each {puts }'])
|
217
216
|
expect(cop.messages).to eq(['Space inside } detected.'])
|
218
217
|
expect(cop.highlights).to eq([' '])
|
219
218
|
end
|
220
219
|
|
221
|
-
it 'registers
|
220
|
+
it 'registers offenses for both braces with inner space' do
|
222
221
|
inspect_source(cop, ['each { puts }'])
|
223
222
|
expect(cop.messages).to eq(['Space inside { detected.',
|
224
223
|
'Space inside } detected.'])
|
225
224
|
expect(cop.highlights).to eq([' ', ' '])
|
226
|
-
expect(cop.
|
227
|
-
'
|
225
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
226
|
+
'space')
|
228
227
|
end
|
229
228
|
|
230
|
-
it '
|
231
|
-
inspect_source(cop, ['each{puts}'])
|
232
|
-
expect(cop.
|
233
|
-
expect(cop.highlights).to eq(['{'])
|
229
|
+
it 'accepts left brace without outer space' do
|
230
|
+
inspect_source(cop, ['each {puts}'])
|
231
|
+
expect(cop.highlights).to be_empty
|
234
232
|
end
|
235
233
|
|
236
|
-
it 'auto-corrects
|
234
|
+
it 'auto-corrects unwanted space' do
|
237
235
|
new_source = autocorrect_source(cop, 'each{ puts }')
|
238
|
-
expect(new_source).to eq('each
|
236
|
+
expect(new_source).to eq('each{puts}')
|
239
237
|
end
|
240
238
|
|
241
239
|
context 'with passed in parameters' do
|
@@ -246,7 +244,7 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
246
244
|
expect(cop.highlights).to eq([])
|
247
245
|
end
|
248
246
|
|
249
|
-
it 'registers an
|
247
|
+
it 'registers an offense for left brace without inner space' do
|
250
248
|
inspect_source(cop, ['each {|x| puts}'])
|
251
249
|
expect(cop.messages).to eq(['Space between { and | missing.'])
|
252
250
|
expect(cop.highlights).to eq(['{|'])
|
@@ -261,13 +259,13 @@ describe Rubocop::Cop::Style::SpaceAroundBlockBraces do
|
|
261
259
|
context 'and space before block parameters not allowed' do
|
262
260
|
let(:cop_config) do
|
263
261
|
{
|
264
|
-
'EnforcedStyle' => '
|
262
|
+
'EnforcedStyle' => 'no_space',
|
265
263
|
'SupportedStyles' => SUPPORTED_STYLES,
|
266
264
|
'SpaceBeforeBlockParameters' => false
|
267
265
|
}
|
268
266
|
end
|
269
267
|
|
270
|
-
it 'registers an
|
268
|
+
it 'registers an offense for left brace with inner space' do
|
271
269
|
inspect_source(cop, ['each { |x| puts}'])
|
272
270
|
expect(cop.messages).to eq(['Space between { and | detected.'])
|
273
271
|
expect(cop.highlights).to eq([' '])
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::SpaceInsideBrackets do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for an array literal with spaces inside' do
|
9
9
|
inspect_source(cop, ['a = [1, 2 ]',
|
10
10
|
'b = [ 1, 2]'])
|
11
11
|
expect(cop.messages).to eq(
|
@@ -14,7 +14,7 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
14
14
|
expect(cop.messages).to be_empty
|
15
15
|
end
|
16
16
|
|
17
|
-
it 'registers an
|
17
|
+
it 'registers an offense for empty braces with space inside' do
|
18
18
|
inspect_source(cop, ['h = { }'])
|
19
19
|
expect(cop.messages)
|
20
20
|
.to eq(['Space inside empty hash literal braces detected.'])
|
@@ -35,7 +35,7 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
35
35
|
expect(cop.messages).to be_empty
|
36
36
|
end
|
37
37
|
|
38
|
-
it 'registers an
|
38
|
+
it 'registers an offense for empty braces with no space inside' do
|
39
39
|
inspect_source(cop, ['h = {}'])
|
40
40
|
expect(cop.messages)
|
41
41
|
.to eq(['Space inside empty hash literal braces missing.'])
|
@@ -48,7 +48,7 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
it 'registers an
|
51
|
+
it 'registers an offense for hashes with no spaces if so configured' do
|
52
52
|
inspect_source(cop,
|
53
53
|
['h = {a: 1, b: 2}',
|
54
54
|
'h = {a => 1}'])
|
@@ -57,14 +57,14 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
57
57
|
'Space inside { missing.',
|
58
58
|
'Space inside } missing.'])
|
59
59
|
expect(cop.highlights).to eq(['{', '}', '{', '}'])
|
60
|
-
expect(cop.
|
60
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'no_space')
|
61
61
|
end
|
62
62
|
|
63
|
-
it 'registers an
|
63
|
+
it 'registers an offense for correct + opposite' do
|
64
64
|
inspect_source(cop,
|
65
65
|
['h = { a: 1}'])
|
66
66
|
expect(cop.messages).to eq(['Space inside } missing.'])
|
67
|
-
expect(cop.
|
67
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'auto-corrects missing space' do
|
@@ -77,20 +77,20 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
77
77
|
context 'when EnforcedStyle is no_space' do
|
78
78
|
let(:cop_config) { { 'EnforcedStyle' => 'no_space' } }
|
79
79
|
|
80
|
-
it 'registers an
|
80
|
+
it 'registers an offense for hashes with spaces' do
|
81
81
|
inspect_source(cop,
|
82
82
|
['h = { a: 1, b: 2 }'])
|
83
83
|
expect(cop.messages).to eq(['Space inside { detected.',
|
84
84
|
'Space inside } detected.'])
|
85
85
|
expect(cop.highlights).to eq([' ', ' '])
|
86
|
-
expect(cop.
|
86
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'space')
|
87
87
|
end
|
88
88
|
|
89
|
-
it 'registers an
|
89
|
+
it 'registers an offense for opposite + correct' do
|
90
90
|
inspect_source(cop,
|
91
91
|
['h = {a: 1 }'])
|
92
92
|
expect(cop.messages).to eq(['Space inside } detected.'])
|
93
|
-
expect(cop.
|
93
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'auto-corrects unwanted space' do
|
@@ -104,7 +104,7 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
104
104
|
inspect_source(cop,
|
105
105
|
['h = {a: 1, b: 2}',
|
106
106
|
'h = {a => 1}'])
|
107
|
-
expect(cop.
|
107
|
+
expect(cop.offenses).to be_empty
|
108
108
|
end
|
109
109
|
|
110
110
|
it 'accepts multiline hashes for no space' do
|
@@ -113,7 +113,7 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
113
113
|
' a: 1,',
|
114
114
|
' b: 2,',
|
115
115
|
'}'])
|
116
|
-
expect(cop.
|
116
|
+
expect(cop.offenses).to be_empty
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
@@ -121,18 +121,18 @@ describe Rubocop::Cop::Style::SpaceInsideHashLiteralBraces, :config do
|
|
121
121
|
inspect_source(cop,
|
122
122
|
['h = { a: 1, b: 2 }',
|
123
123
|
'h = { a => 1 }'])
|
124
|
-
expect(cop.
|
124
|
+
expect(cop.offenses).to be_empty
|
125
125
|
end
|
126
126
|
|
127
127
|
it 'accepts hash literals with no braces' do
|
128
128
|
inspect_source(cop, ['x(a: b.c)'])
|
129
|
-
expect(cop.
|
129
|
+
expect(cop.offenses).to be_empty
|
130
130
|
end
|
131
131
|
|
132
132
|
it 'can handle interpolation in a braceless hash literal' do
|
133
133
|
# A tricky special case where the closing brace of the
|
134
134
|
# interpolation risks getting confused for a hash literal brace.
|
135
135
|
inspect_source(cop, ['f(get: "#{x}")'])
|
136
|
-
expect(cop.
|
136
|
+
expect(cop.offenses).to be_empty
|
137
137
|
end
|
138
138
|
end
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::SpaceInsideParens do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for spaces inside parens' do
|
9
9
|
inspect_source(cop, ['f( 3)',
|
10
10
|
'g(3 )'])
|
11
11
|
expect(cop.messages).to eq(
|