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
@@ -5,40 +5,40 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::ConstantName do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for camel case in const name' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['TopCase = 5'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'registers
|
14
|
+
it 'registers offenses for camel case in multiple const assignment' do
|
15
15
|
inspect_source(cop,
|
16
16
|
['TopCase, Test2, TEST_3 = 5, 6, 7'])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(2)
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'registers an
|
20
|
+
it 'registers an offense for snake case in const name' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['TOP_test = 5'])
|
23
|
-
expect(cop.
|
23
|
+
expect(cop.offenses.size).to eq(1)
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'allows screaming snake case in const name' do
|
27
27
|
inspect_source(cop,
|
28
28
|
['TOP_TEST = 5'])
|
29
|
-
expect(cop.
|
29
|
+
expect(cop.offenses).to be_empty
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'allows screaming snake case in multiple const assignment' do
|
33
33
|
inspect_source(cop,
|
34
34
|
['TOP_TEST, TEST_2 = 5, 6'])
|
35
|
-
expect(cop.
|
35
|
+
expect(cop.offenses).to be_empty
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'does not check names if rhs is a method call' do
|
39
39
|
inspect_source(cop,
|
40
40
|
['AnythingGoes = test'])
|
41
|
-
expect(cop.
|
41
|
+
expect(cop.offenses).to be_empty
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'does not check names if rhs is a method call with block' do
|
@@ -47,19 +47,19 @@ describe Rubocop::Cop::Style::ConstantName do
|
|
47
47
|
' do_something',
|
48
48
|
'end'
|
49
49
|
])
|
50
|
-
expect(cop.
|
50
|
+
expect(cop.offenses).to be_empty
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'does not check if rhs is another constant' do
|
54
54
|
inspect_source(cop,
|
55
55
|
['Parser::CurrentRuby = Parser::Ruby20'])
|
56
|
-
expect(cop.
|
56
|
+
expect(cop.offenses).to be_empty
|
57
57
|
end
|
58
58
|
|
59
59
|
it 'checks qualified const names' do
|
60
60
|
inspect_source(cop,
|
61
61
|
['::AnythingGoes = 30',
|
62
62
|
'a::Bar_foo = 10'])
|
63
|
-
expect(cop.
|
63
|
+
expect(cop.offenses.size).to eq(2)
|
64
64
|
end
|
65
65
|
end
|
@@ -12,7 +12,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
12
12
|
inspect_source(cop, ['def method_name',
|
13
13
|
' call_foo',
|
14
14
|
'end'])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses).to be_empty
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'accepts complex code outside of methods' do
|
@@ -25,20 +25,20 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
25
25
|
' call_foo if second_condition && third_condition',
|
26
26
|
' call_bar if fourth_condition || fifth_condition',
|
27
27
|
'end'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
|
31
|
-
it 'registers an
|
31
|
+
it 'registers an offense for an if modifier' do
|
32
32
|
inspect_source(cop, ['def self.method_name',
|
33
33
|
' call_foo if some_condition',
|
34
34
|
'end'])
|
35
35
|
expect(cop.messages)
|
36
36
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
37
37
|
expect(cop.highlights).to eq(['def'])
|
38
|
-
expect(cop.
|
38
|
+
expect(cop.config_to_allow_offenses).to eq('Max' => 2)
|
39
39
|
end
|
40
40
|
|
41
|
-
it 'registers an
|
41
|
+
it 'registers an offense for an unless modifier' do
|
42
42
|
inspect_source(cop, ['def method_name',
|
43
43
|
' call_foo unless some_condition',
|
44
44
|
'end'])
|
@@ -46,7 +46,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
46
46
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
47
47
|
end
|
48
48
|
|
49
|
-
it 'registers an
|
49
|
+
it 'registers an offense for an elsif block' do
|
50
50
|
inspect_source(cop, ['def method_name',
|
51
51
|
' if first_condition then',
|
52
52
|
' call_foo',
|
@@ -60,7 +60,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
60
60
|
.to eq(['Cyclomatic complexity for method_name is too high. [3/1]'])
|
61
61
|
end
|
62
62
|
|
63
|
-
it 'registers an
|
63
|
+
it 'registers an offense for a ternary operator' do
|
64
64
|
inspect_source(cop, ['def method_name',
|
65
65
|
' value = some_condition ? 1 : 2',
|
66
66
|
'end'])
|
@@ -68,7 +68,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
68
68
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
69
69
|
end
|
70
70
|
|
71
|
-
it 'registers an
|
71
|
+
it 'registers an offense for a while block' do
|
72
72
|
inspect_source(cop, ['def method_name',
|
73
73
|
' while some_condition do',
|
74
74
|
' call_foo',
|
@@ -78,7 +78,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
78
78
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
79
79
|
end
|
80
80
|
|
81
|
-
it 'registers an
|
81
|
+
it 'registers an offense for an until block' do
|
82
82
|
inspect_source(cop, ['def method_name',
|
83
83
|
' until some_condition do',
|
84
84
|
' call_foo',
|
@@ -88,7 +88,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
88
88
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
89
89
|
end
|
90
90
|
|
91
|
-
it 'registers an
|
91
|
+
it 'registers an offense for a for block' do
|
92
92
|
inspect_source(cop, ['def method_name',
|
93
93
|
' for i in 1..2 do',
|
94
94
|
' call_method',
|
@@ -98,7 +98,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
98
98
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
99
99
|
end
|
100
100
|
|
101
|
-
it 'registers an
|
101
|
+
it 'registers an offense for a rescue block' do
|
102
102
|
inspect_source(cop, ['def method_name',
|
103
103
|
' begin',
|
104
104
|
' call_foo',
|
@@ -110,7 +110,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
110
110
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
111
111
|
end
|
112
112
|
|
113
|
-
it 'registers an
|
113
|
+
it 'registers an offense for a case/when block' do
|
114
114
|
inspect_source(cop, ['def method_name',
|
115
115
|
' case value',
|
116
116
|
' when 1',
|
@@ -123,7 +123,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
123
123
|
.to eq(['Cyclomatic complexity for method_name is too high. [3/1]'])
|
124
124
|
end
|
125
125
|
|
126
|
-
it 'registers an
|
126
|
+
it 'registers an offense for &&' do
|
127
127
|
inspect_source(cop, ['def method_name',
|
128
128
|
' call_foo && call_bar',
|
129
129
|
'end'])
|
@@ -131,7 +131,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
131
131
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
132
132
|
end
|
133
133
|
|
134
|
-
it 'registers an
|
134
|
+
it 'registers an offense for and' do
|
135
135
|
inspect_source(cop, ['def method_name',
|
136
136
|
' call_foo and call_bar',
|
137
137
|
'end'])
|
@@ -139,7 +139,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
139
139
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
140
140
|
end
|
141
141
|
|
142
|
-
it 'registers an
|
142
|
+
it 'registers an offense for ||' do
|
143
143
|
inspect_source(cop, ['def method_name',
|
144
144
|
' call_foo || call_bar',
|
145
145
|
'end'])
|
@@ -147,7 +147,7 @@ describe Rubocop::Cop::Style::CyclomaticComplexity, :config do
|
|
147
147
|
.to eq(['Cyclomatic complexity for method_name is too high. [2/1]'])
|
148
148
|
end
|
149
149
|
|
150
|
-
it 'registers an
|
150
|
+
it 'registers an offense for or' do
|
151
151
|
inspect_source(cop, ['def method_name',
|
152
152
|
' call_foo or call_bar',
|
153
153
|
'end'])
|
@@ -5,31 +5,31 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::DefWithParentheses do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'reports an
|
8
|
+
it 'reports an offense for def with empty parens' do
|
9
9
|
src = ['def func()',
|
10
10
|
'end']
|
11
11
|
inspect_source(cop, src)
|
12
|
-
expect(cop.
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
13
|
end
|
14
14
|
|
15
|
-
it 'reports an
|
15
|
+
it 'reports an offense for class def with empty parens' do
|
16
16
|
src = ['def Test.func()',
|
17
17
|
'end']
|
18
18
|
inspect_source(cop, src)
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'accepts def with arg and parens' do
|
23
23
|
src = ['def func(a)',
|
24
24
|
'end']
|
25
25
|
inspect_source(cop, src)
|
26
|
-
expect(cop.
|
26
|
+
expect(cop.offenses).to be_empty
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'accepts empty parentheses in one liners' do
|
30
30
|
src = ["def to_s() join '/' end"]
|
31
31
|
inspect_source(cop, src)
|
32
|
-
expect(cop.
|
32
|
+
expect(cop.offenses).to be_empty
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'auto-removes unneeded parens' do
|
@@ -11,13 +11,13 @@ describe Rubocop::Cop::Style::Documentation do
|
|
11
11
|
})
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'registers an
|
14
|
+
it 'registers an offense for non-empty class' do
|
15
15
|
inspect_source(cop,
|
16
16
|
['class My_Class',
|
17
17
|
' TEST = 20',
|
18
18
|
'end'
|
19
19
|
])
|
20
|
-
expect(cop.
|
20
|
+
expect(cop.offenses.size).to eq(1)
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'does not consider comment followed by empty line to be class ' \
|
@@ -30,26 +30,26 @@ describe Rubocop::Cop::Style::Documentation do
|
|
30
30
|
' TEST = 20',
|
31
31
|
'end'
|
32
32
|
])
|
33
|
-
expect(cop.
|
33
|
+
expect(cop.offenses.size).to eq(1)
|
34
34
|
end
|
35
35
|
|
36
|
-
it 'registers an
|
36
|
+
it 'registers an offense for non-namespace' do
|
37
37
|
inspect_source(cop,
|
38
38
|
['module My_Class',
|
39
39
|
' TEST = 20',
|
40
40
|
'end'
|
41
41
|
])
|
42
|
-
expect(cop.
|
42
|
+
expect(cop.offenses.size).to eq(1)
|
43
43
|
end
|
44
44
|
|
45
|
-
it 'registers an
|
45
|
+
it 'registers an offense for empty module without documentation' do
|
46
46
|
# Because why would you have an empty module? It requires some
|
47
47
|
# explanation.
|
48
48
|
inspect_source(cop,
|
49
49
|
['module Test',
|
50
50
|
'end'
|
51
51
|
])
|
52
|
-
expect(cop.
|
52
|
+
expect(cop.offenses.size).to eq(1)
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'accepts non-empty class with documentation' do
|
@@ -59,17 +59,17 @@ describe Rubocop::Cop::Style::Documentation do
|
|
59
59
|
' TEST = 20',
|
60
60
|
'end'
|
61
61
|
])
|
62
|
-
expect(cop.
|
62
|
+
expect(cop.offenses).to be_empty
|
63
63
|
end
|
64
64
|
|
65
|
-
it 'registers an
|
65
|
+
it 'registers an offense for non-empty class with annotation comment' do
|
66
66
|
inspect_source(cop,
|
67
67
|
['# OPTIMIZE: Make this faster.',
|
68
68
|
'class My_Class',
|
69
69
|
' TEST = 20',
|
70
70
|
'end'
|
71
71
|
])
|
72
|
-
expect(cop.
|
72
|
+
expect(cop.offenses.size).to eq(1)
|
73
73
|
end
|
74
74
|
|
75
75
|
it 'accepts non-empty module with documentation' do
|
@@ -79,7 +79,7 @@ describe Rubocop::Cop::Style::Documentation do
|
|
79
79
|
' TEST = 20',
|
80
80
|
'end'
|
81
81
|
])
|
82
|
-
expect(cop.
|
82
|
+
expect(cop.offenses).to be_empty
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'accepts empty class without documentation' do
|
@@ -87,7 +87,7 @@ describe Rubocop::Cop::Style::Documentation do
|
|
87
87
|
['class My_Class',
|
88
88
|
'end'
|
89
89
|
])
|
90
|
-
expect(cop.
|
90
|
+
expect(cop.offenses).to be_empty
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'accepts namespace module without documentation' do
|
@@ -97,7 +97,7 @@ describe Rubocop::Cop::Style::Documentation do
|
|
97
97
|
' class B; end',
|
98
98
|
'end'
|
99
99
|
])
|
100
|
-
expect(cop.
|
100
|
+
expect(cop.offenses).to be_empty
|
101
101
|
end
|
102
102
|
|
103
103
|
it 'accepts namespace class without documentation' do
|
@@ -107,7 +107,7 @@ describe Rubocop::Cop::Style::Documentation do
|
|
107
107
|
' class B; end',
|
108
108
|
'end'
|
109
109
|
])
|
110
|
-
expect(cop.
|
110
|
+
expect(cop.offenses).to be_empty
|
111
111
|
end
|
112
112
|
|
113
113
|
it 'does not raise an error for an implicit match conditional' do
|
@@ -6,89 +6,86 @@ describe Rubocop::Cop::Style::DotPosition, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
|
8
8
|
context 'Leading dots style' do
|
9
|
-
let(:cop_config) { { '
|
9
|
+
let(:cop_config) { { 'EnforcedStyle' => 'leading' } }
|
10
10
|
|
11
|
-
it 'registers an
|
11
|
+
it 'registers an offense for trailing dot in multi-line call' do
|
12
12
|
inspect_source(cop, ['something.',
|
13
13
|
' method_name'])
|
14
|
-
expect(cop.
|
14
|
+
expect(cop.offenses.size).to eq(1)
|
15
15
|
expect(cop.highlights).to eq(['.'])
|
16
|
-
expect(cop.
|
16
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'trailing')
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'registers an
|
19
|
+
it 'registers an offense for correct + opposite' do
|
20
20
|
inspect_source(cop, ['something',
|
21
21
|
' .method_name',
|
22
22
|
'something.',
|
23
23
|
' method_name'])
|
24
|
-
expect(cop.
|
25
|
-
expect(cop.
|
24
|
+
expect(cop.offenses.size).to eq(1)
|
25
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'accepts leading do in multi-line method call' do
|
29
29
|
inspect_source(cop, ['something',
|
30
30
|
' .method_name'])
|
31
|
-
expect(cop.
|
31
|
+
expect(cop.offenses).to be_empty
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'does not err on method call with no dots' do
|
35
35
|
inspect_source(cop, ['puts something'])
|
36
|
-
expect(cop.
|
36
|
+
expect(cop.offenses).to be_empty
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'does not err on method call without a method name' do
|
40
40
|
inspect_source(cop, ['l.', '(1)'])
|
41
|
-
expect(cop.
|
41
|
+
expect(cop.offenses.size).to eq(1)
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'does not err on method call on same line' do
|
45
45
|
inspect_source(cop, ['something.method_name'])
|
46
|
-
expect(cop.
|
46
|
+
expect(cop.offenses).to be_empty
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
50
|
context 'Trailing dots style' do
|
51
|
-
let(:cop_config) { { '
|
51
|
+
let(:cop_config) { { 'EnforcedStyle' => 'trailing' } }
|
52
52
|
|
53
|
-
it 'registers an
|
53
|
+
it 'registers an offense for leading dot in multi-line call' do
|
54
54
|
inspect_source(cop, ['something',
|
55
55
|
' .method_name'])
|
56
56
|
expect(cop.messages)
|
57
57
|
.to eq(['Place the . on the previous line, together with the method ' \
|
58
58
|
'call receiver.'])
|
59
59
|
expect(cop.highlights).to eq(['.'])
|
60
|
-
expect(cop.
|
60
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'leading')
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'accepts trailing dot in multi-line method call' do
|
64
64
|
inspect_source(cop, ['something.',
|
65
65
|
' method_name'])
|
66
|
-
expect(cop.
|
66
|
+
expect(cop.offenses).to be_empty
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'does not err on method call with no dots' do
|
70
70
|
inspect_source(cop, ['puts something'])
|
71
|
-
expect(cop.
|
71
|
+
expect(cop.offenses).to be_empty
|
72
72
|
end
|
73
73
|
|
74
74
|
it 'does not err on method call without a method name' do
|
75
75
|
inspect_source(cop, ['l', '.(1)'])
|
76
|
-
expect(cop.
|
76
|
+
expect(cop.offenses.size).to eq(1)
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'does not err on method call on same line' do
|
80
80
|
inspect_source(cop, ['something.method_name'])
|
81
|
-
expect(cop.
|
81
|
+
expect(cop.offenses).to be_empty
|
82
82
|
end
|
83
|
-
end
|
84
|
-
|
85
|
-
context 'Unknown style' do
|
86
|
-
let(:cop_config) { { 'Style' => 'test' } }
|
87
83
|
|
88
|
-
it '
|
89
|
-
|
90
|
-
|
91
|
-
|
84
|
+
it 'does not get confused by several lines of chained methods' do
|
85
|
+
inspect_source(cop, ['File.new(something).',
|
86
|
+
'readlines.map.',
|
87
|
+
'compact.join("\n")'])
|
88
|
+
expect(cop.offenses).to be_empty
|
92
89
|
end
|
93
90
|
end
|
94
91
|
end
|