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,38 +5,38 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::WhileUntilDo do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for do in multiline while' do
|
9
9
|
inspect_source(cop, ['while cond do',
|
10
10
|
'end'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'registers an
|
14
|
+
it 'registers an offense for do in multiline until' do
|
15
15
|
inspect_source(cop, ['until cond do',
|
16
16
|
'end'])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'accepts do in single-line while' do
|
21
21
|
inspect_source(cop, ['while cond do something end'])
|
22
|
-
expect(cop.
|
22
|
+
expect(cop.offenses).to be_empty
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'accepts do in single-line until' do
|
26
26
|
inspect_source(cop, ['until cond do something end'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'it accepts multi-line while without do' do
|
31
31
|
inspect_source(cop, ['while cond',
|
32
32
|
'end'])
|
33
|
-
expect(cop.
|
33
|
+
expect(cop.offenses).to be_empty
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'it accepts multi-line until without do' do
|
37
37
|
inspect_source(cop, ['until cond',
|
38
38
|
'end'])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses).to be_empty
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'auto-corrects the usage of "do" in multiline while' do
|
@@ -19,7 +19,7 @@ describe Rubocop::Cop::Style::WhileUntilModifier do
|
|
19
19
|
check_short_multiline(cop, 'unless')
|
20
20
|
end
|
21
21
|
|
22
|
-
it 'registers an
|
22
|
+
it 'registers an offense for multiline while that fits on one line' do
|
23
23
|
check_really_short(cop, 'while')
|
24
24
|
end
|
25
25
|
|
@@ -36,17 +36,17 @@ describe Rubocop::Cop::Style::WhileUntilModifier do
|
|
36
36
|
'while (line = lines.shift)',
|
37
37
|
' puts line',
|
38
38
|
'end'])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses).to be_empty
|
40
40
|
end
|
41
41
|
|
42
|
-
it 'registers an
|
42
|
+
it 'registers an offense for oneline while when assignment is in body' do
|
43
43
|
inspect_source(cop, ['while true',
|
44
44
|
' x = 0',
|
45
45
|
'end'])
|
46
|
-
expect(cop.
|
46
|
+
expect(cop.offenses.size).to eq(1)
|
47
47
|
end
|
48
48
|
|
49
|
-
it 'registers an
|
49
|
+
it 'registers an offense for multiline until that fits on one line' do
|
50
50
|
check_really_short(cop, 'until')
|
51
51
|
end
|
52
52
|
|
@@ -65,11 +65,29 @@ describe Rubocop::Cop::Style::WhileUntilModifier do
|
|
65
65
|
|
66
66
|
it 'accepts modifier while' do
|
67
67
|
inspect_source(cop, ['ala while bala'])
|
68
|
-
expect(cop.
|
68
|
+
expect(cop.offenses).to be_empty
|
69
69
|
end
|
70
70
|
|
71
71
|
it 'accepts modifier until' do
|
72
72
|
inspect_source(cop, ['ala until bala'])
|
73
|
-
expect(cop.
|
73
|
+
expect(cop.offenses).to be_empty
|
74
|
+
end
|
75
|
+
|
76
|
+
context 'when the maximum line length is specified by the cop itself' do
|
77
|
+
let(:config) do
|
78
|
+
hash = {
|
79
|
+
'LineLength' => { 'Max' => 100 },
|
80
|
+
'WhileUntilModifier' => { 'MaxLineLength' => 79 }
|
81
|
+
}
|
82
|
+
Rubocop::Config.new(hash)
|
83
|
+
end
|
84
|
+
|
85
|
+
it "accepts multiline while that doesn't fit on one line" do
|
86
|
+
check_too_long(cop, 'while')
|
87
|
+
end
|
88
|
+
|
89
|
+
it "accepts multiline until that doesn't fit on one line" do
|
90
|
+
check_too_long(cop, 'until')
|
91
|
+
end
|
74
92
|
end
|
75
93
|
end
|
@@ -6,64 +6,64 @@ describe Rubocop::Cop::Style::WordArray, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
let(:cop_config) { { 'MinSize' => 0 } }
|
8
8
|
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for arrays of single quoted strings' do
|
10
10
|
inspect_source(cop,
|
11
11
|
["['one', 'two', 'three']"])
|
12
|
-
expect(cop.
|
13
|
-
expect(cop.
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
|
+
expect(cop.config_to_allow_offenses).to eq('MinSize' => 3)
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'registers an
|
16
|
+
it 'registers an offense for arrays of double quoted strings' do
|
17
17
|
inspect_source(cop,
|
18
18
|
['["one", "two", "three"]'])
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
20
20
|
end
|
21
21
|
|
22
|
-
it 'registers an
|
22
|
+
it 'registers an offense for arrays with character constants' do
|
23
23
|
inspect_source(cop,
|
24
24
|
['["one", ?\n]'])
|
25
|
-
expect(cop.
|
25
|
+
expect(cop.offenses.size).to eq(1)
|
26
26
|
end
|
27
27
|
|
28
|
-
it 'does not register an
|
28
|
+
it 'does not register an offense for array of non-words' do
|
29
29
|
inspect_source(cop,
|
30
30
|
['["one space", "two", "three"]'])
|
31
|
-
expect(cop.
|
31
|
+
expect(cop.offenses).to be_empty
|
32
32
|
end
|
33
33
|
|
34
|
-
it 'does not register an
|
34
|
+
it 'does not register an offense for array containing non-string' do
|
35
35
|
inspect_source(cop,
|
36
36
|
['["one", "two", 3]'])
|
37
|
-
expect(cop.
|
37
|
+
expect(cop.offenses).to be_empty
|
38
38
|
end
|
39
39
|
|
40
|
-
it 'does not register an
|
40
|
+
it 'does not register an offense for array starting with %w' do
|
41
41
|
inspect_source(cop,
|
42
42
|
['%w(one two three)'])
|
43
|
-
expect(cop.
|
43
|
+
expect(cop.offenses).to be_empty
|
44
44
|
end
|
45
45
|
|
46
|
-
it 'does not register an
|
46
|
+
it 'does not register an offense for array with one element' do
|
47
47
|
inspect_source(cop,
|
48
48
|
['["three"]'])
|
49
|
-
expect(cop.
|
49
|
+
expect(cop.offenses).to be_empty
|
50
50
|
end
|
51
51
|
|
52
|
-
it 'does not register an
|
52
|
+
it 'does not register an offense for array with empty strings' do
|
53
53
|
inspect_source(cop,
|
54
54
|
['["", "two", "three"]'])
|
55
|
-
expect(cop.
|
55
|
+
expect(cop.offenses).to be_empty
|
56
56
|
end
|
57
57
|
|
58
|
-
it 'does not register an
|
58
|
+
it 'does not register an offense for array with allowed number of strings' do
|
59
59
|
cop_config['MinSize'] = 3
|
60
60
|
|
61
61
|
inspect_source(cop,
|
62
62
|
['["one", "two", "three"]'])
|
63
|
-
expect(cop.
|
63
|
+
expect(cop.offenses).to be_empty
|
64
64
|
end
|
65
65
|
|
66
|
-
it 'does not register an
|
66
|
+
it 'does not register an offense for an array with comments in it' do
|
67
67
|
inspect_source(cop,
|
68
68
|
['[',
|
69
69
|
'"foo", # comment here',
|
@@ -71,10 +71,10 @@ describe Rubocop::Cop::Style::WordArray, :config do
|
|
71
71
|
'"baz" # do not delete this line',
|
72
72
|
']'])
|
73
73
|
|
74
|
-
expect(cop.
|
74
|
+
expect(cop.offenses).to be_empty
|
75
75
|
end
|
76
76
|
|
77
|
-
it 'registers an
|
77
|
+
it 'registers an offense for an array with comments outside of it' do
|
78
78
|
inspect_source(cop,
|
79
79
|
['[',
|
80
80
|
'"foo",',
|
@@ -82,7 +82,7 @@ describe Rubocop::Cop::Style::WordArray, :config do
|
|
82
82
|
'"baz"',
|
83
83
|
'] # test'])
|
84
84
|
|
85
|
-
expect(cop.
|
85
|
+
expect(cop.offenses.size).to eq(1)
|
86
86
|
end
|
87
87
|
|
88
88
|
it 'auto-corrects an array of words' do
|
@@ -40,7 +40,7 @@ describe Rubocop::Cop::Team do
|
|
40
40
|
include FileHelper
|
41
41
|
|
42
42
|
let(:file_path) { 'example.rb' }
|
43
|
-
let(:
|
43
|
+
let(:offenses) { team.inspect_file(file_path) }
|
44
44
|
|
45
45
|
before do
|
46
46
|
create_file(file_path, [
|
@@ -49,9 +49,9 @@ describe Rubocop::Cop::Team do
|
|
49
49
|
])
|
50
50
|
end
|
51
51
|
|
52
|
-
it 'returns
|
53
|
-
expect(
|
54
|
-
expect(
|
52
|
+
it 'returns offenses' do
|
53
|
+
expect(offenses).not_to be_empty
|
54
|
+
expect(offenses.all? { |o| o.is_a?(Rubocop::Cop::Offense) }).to be_true
|
55
55
|
end
|
56
56
|
|
57
57
|
context 'when Parser cannot parse the file' do
|
@@ -62,11 +62,11 @@ describe Rubocop::Cop::Team do
|
|
62
62
|
])
|
63
63
|
end
|
64
64
|
|
65
|
-
it 'returns only error
|
66
|
-
expect(
|
67
|
-
|
68
|
-
expect(
|
69
|
-
expect(
|
65
|
+
it 'returns only error offenses' do
|
66
|
+
expect(offenses.size).to eq(1)
|
67
|
+
offense = offenses.first
|
68
|
+
expect(offense.cop_name).to eq('Syntax')
|
69
|
+
expect(offense.severity).to eq(:error)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
@@ -79,13 +79,13 @@ describe Rubocop::Cop::Team do
|
|
79
79
|
])
|
80
80
|
end
|
81
81
|
|
82
|
-
let(:cop_names) {
|
82
|
+
let(:cop_names) { offenses.map(&:cop_name) }
|
83
83
|
|
84
|
-
it 'returns Parser warning
|
84
|
+
it 'returns Parser warning offenses' do
|
85
85
|
expect(cop_names).to include('AmbiguousOperator')
|
86
86
|
end
|
87
87
|
|
88
|
-
it 'returns
|
88
|
+
it 'returns offenses from cops' do
|
89
89
|
expect(cop_names).to include('LineLength')
|
90
90
|
end
|
91
91
|
end
|
@@ -110,8 +110,8 @@ describe Rubocop::Cop::Team do
|
|
110
110
|
].join("\n"))
|
111
111
|
end
|
112
112
|
|
113
|
-
it 'still returns
|
114
|
-
expect(
|
113
|
+
it 'still returns offenses' do
|
114
|
+
expect(offenses.first.cop_name).to eq('StringLiterals')
|
115
115
|
end
|
116
116
|
end
|
117
117
|
end
|
@@ -2,14 +2,16 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
module Rubocop
|
6
|
+
class FileInspector
|
7
|
+
attr_writer :errors # Needed only for testing.
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
describe Rubocop::FileInspector do
|
10
12
|
subject(:inspector) { described_class.new(options) }
|
11
13
|
let(:options) { {} }
|
12
|
-
let(:
|
14
|
+
let(:offenses) { [] }
|
13
15
|
let(:errors) { [] }
|
14
16
|
|
15
17
|
before(:each) do
|
@@ -18,7 +20,7 @@ describe Rubocop::FileInspector do
|
|
18
20
|
|
19
21
|
allow(inspector).to receive(:inspect_file) do
|
20
22
|
inspector.errors = errors
|
21
|
-
|
23
|
+
[offenses, !:updated_source_file]
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
@@ -41,16 +43,16 @@ describe Rubocop::FileInspector do
|
|
41
43
|
end
|
42
44
|
|
43
45
|
describe '#process_files' do
|
44
|
-
context 'if there are no
|
46
|
+
context 'if there are no offenses in inspected files' do
|
45
47
|
it 'returns false' do
|
46
48
|
result = inspector.process_files(['file.rb'], nil) {}
|
47
49
|
expect(result).to eq(false)
|
48
50
|
end
|
49
51
|
end
|
50
52
|
|
51
|
-
context 'if there is an
|
52
|
-
let(:
|
53
|
-
[Rubocop::Cop::
|
53
|
+
context 'if there is an offense in an inspected file' do
|
54
|
+
let(:offenses) do
|
55
|
+
[Rubocop::Cop::Offense.new(:convention,
|
54
56
|
Struct.new(:line, :column,
|
55
57
|
:source_line).new(1, 0, ''),
|
56
58
|
'Use alias_method instead of alias.',
|
@@ -61,17 +63,17 @@ describe Rubocop::FileInspector do
|
|
61
63
|
expect(inspector.process_files(['file.rb'], nil) {}).to eq(true)
|
62
64
|
end
|
63
65
|
|
64
|
-
it 'sends the
|
66
|
+
it 'sends the offense to a formatter' do
|
65
67
|
inspector.process_files(['file.rb'], nil) {}
|
66
68
|
expect($stdout.string.split("\n"))
|
67
69
|
.to eq(['Inspecting 1 file',
|
68
70
|
'C',
|
69
71
|
'',
|
70
|
-
'
|
72
|
+
'Offenses:',
|
71
73
|
'',
|
72
|
-
"file.rb:1:1: C: #{
|
74
|
+
"file.rb:1:1: C: #{offenses.first.message}",
|
73
75
|
'',
|
74
|
-
'1 file inspected, 1
|
76
|
+
'1 file inspected, 1 offense detected'])
|
75
77
|
end
|
76
78
|
end
|
77
79
|
end
|
@@ -13,12 +13,12 @@ module Rubocop
|
|
13
13
|
let(:output) { $stdout.string }
|
14
14
|
|
15
15
|
before do
|
16
|
-
create_file('
|
16
|
+
create_file('1_offense.rb', [
|
17
17
|
'# encoding: utf-8',
|
18
18
|
'#' * 90
|
19
19
|
])
|
20
20
|
|
21
|
-
create_file('
|
21
|
+
create_file('4_offenses.rb', [
|
22
22
|
'# encoding: utf-8',
|
23
23
|
'puts x ',
|
24
24
|
'test;',
|
@@ -26,7 +26,7 @@ module Rubocop
|
|
26
26
|
'#' * 90
|
27
27
|
])
|
28
28
|
|
29
|
-
create_file('
|
29
|
+
create_file('no_offense.rb', [
|
30
30
|
'# encoding: utf-8'
|
31
31
|
])
|
32
32
|
|
@@ -71,9 +71,9 @@ module Rubocop
|
|
71
71
|
shared_examples 'receives all file paths' do |method_name|
|
72
72
|
it 'receives all file paths' do
|
73
73
|
expected_paths = [
|
74
|
-
'
|
75
|
-
'
|
76
|
-
'
|
74
|
+
'1_offense.rb',
|
75
|
+
'4_offenses.rb',
|
76
|
+
'no_offense.rb'
|
77
77
|
].map { |path| File.expand_path(path) }.sort
|
78
78
|
|
79
79
|
expect(formatter).to receive(method_name) do |all_files|
|
@@ -109,7 +109,7 @@ module Rubocop
|
|
109
109
|
class << formatter
|
110
110
|
attr_reader :processed_file_count
|
111
111
|
|
112
|
-
def file_finished(file,
|
112
|
+
def file_finished(file, offenses)
|
113
113
|
@processed_file_count ||= 0
|
114
114
|
@processed_file_count += 1
|
115
115
|
end
|
@@ -131,13 +131,13 @@ module Rubocop
|
|
131
131
|
shared_examples 'receives a file path' do |method_name|
|
132
132
|
it 'receives a file path' do
|
133
133
|
expect(formatter).to receive(method_name)
|
134
|
-
.with(File.expand_path('
|
134
|
+
.with(File.expand_path('1_offense.rb'), anything)
|
135
135
|
|
136
136
|
expect(formatter).to receive(method_name)
|
137
|
-
.with(File.expand_path('
|
137
|
+
.with(File.expand_path('4_offenses.rb'), anything)
|
138
138
|
|
139
139
|
expect(formatter).to receive(method_name)
|
140
|
-
.with(File.expand_path('
|
140
|
+
.with(File.expand_path('no_offense.rb'), anything)
|
141
141
|
|
142
142
|
run
|
143
143
|
end
|
@@ -166,20 +166,20 @@ module Rubocop
|
|
166
166
|
describe '#file_finished' do
|
167
167
|
include_examples 'receives a file path', :file_finished
|
168
168
|
|
169
|
-
it 'receives an array of detected
|
169
|
+
it 'receives an array of detected offenses for the file' do
|
170
170
|
expect(formatter).to receive(:file_finished)
|
171
|
-
.exactly(3).times do |file,
|
171
|
+
.exactly(3).times do |file, offenses|
|
172
172
|
case File.basename(file)
|
173
|
-
when '
|
174
|
-
expect(
|
175
|
-
when '
|
176
|
-
expect(
|
177
|
-
when '
|
178
|
-
expect(
|
173
|
+
when '1_offense.rb'
|
174
|
+
expect(offenses.size).to eq(1)
|
175
|
+
when '4_offenses.rb'
|
176
|
+
expect(offenses.size).to eq(4)
|
177
|
+
when 'no_offense.rb'
|
178
|
+
expect(offenses).to be_empty
|
179
179
|
else
|
180
180
|
fail
|
181
181
|
end
|
182
|
-
expect(
|
182
|
+
expect(offenses.all? { |o| o.is_a?(Rubocop::Cop::Offense) })
|
183
183
|
.to be_true
|
184
184
|
end
|
185
185
|
run
|
@@ -14,14 +14,14 @@ module Rubocop
|
|
14
14
|
cop = Cop::Cop.new
|
15
15
|
source_buffer = Parser::Source::Buffer.new('test', 1)
|
16
16
|
source_buffer.source = ('aa'..'az').to_a.join($RS)
|
17
|
-
cop.
|
17
|
+
cop.add_offense(nil,
|
18
18
|
Parser::Source::Range.new(source_buffer, 0, 2),
|
19
19
|
'message 1')
|
20
|
-
cop.
|
20
|
+
cop.add_offense(nil,
|
21
21
|
Parser::Source::Range.new(source_buffer, 30, 32),
|
22
22
|
'message 2')
|
23
23
|
|
24
|
-
formatter.report_file('test', cop.
|
24
|
+
formatter.report_file('test', cop.offenses)
|
25
25
|
expect(output.string).to eq ['test:1:1: C: message 1',
|
26
26
|
'aa',
|
27
27
|
'^^',
|
@@ -36,14 +36,14 @@ module Rubocop
|
|
36
36
|
cop = Cop::Cop.new
|
37
37
|
source_buffer = Parser::Source::Buffer.new('test', 1)
|
38
38
|
source_buffer.source = ([' ', 'yaba']).to_a.join($RS)
|
39
|
-
cop.
|
39
|
+
cop.add_offense(nil,
|
40
40
|
Parser::Source::Range.new(source_buffer, 0, 2),
|
41
41
|
'message 1')
|
42
|
-
cop.
|
42
|
+
cop.add_offense(nil,
|
43
43
|
Parser::Source::Range.new(source_buffer, 6, 10),
|
44
44
|
'message 2')
|
45
45
|
|
46
|
-
formatter.report_file('test', cop.
|
46
|
+
formatter.report_file('test', cop.offenses)
|
47
47
|
expect(output.string).to eq ['test:1:1: C: message 1',
|
48
48
|
'test:2:1: C: message 2',
|
49
49
|
'yaba',
|
@@ -66,9 +66,9 @@ module Rubocop
|
|
66
66
|
source.index(']') + 1)
|
67
67
|
|
68
68
|
cop = Cop::Cop.new
|
69
|
-
cop.
|
69
|
+
cop.add_offense(nil, location, 'message 1')
|
70
70
|
|
71
|
-
formatter.report_file('test', cop.
|
71
|
+
formatter.report_file('test', cop.offenses)
|
72
72
|
expect(output.string).to eq ['test:1:14: C: message 1',
|
73
73
|
'do_something([this,',
|
74
74
|
' ^^^^^^',
|
@@ -78,8 +78,8 @@ module Rubocop
|
|
78
78
|
|
79
79
|
let(:file) { '/path/to/file' }
|
80
80
|
|
81
|
-
let(:
|
82
|
-
Cop::
|
81
|
+
let(:offense) do
|
82
|
+
Cop::Offense.new(:convention, location,
|
83
83
|
'This is a message.', 'CopName', corrected)
|
84
84
|
end
|
85
85
|
|
@@ -89,21 +89,21 @@ module Rubocop
|
|
89
89
|
Parser::Source::Range.new(source_buffer, 0, 1)
|
90
90
|
end
|
91
91
|
|
92
|
-
context 'when the
|
92
|
+
context 'when the offense is not corrected' do
|
93
93
|
let(:corrected) { false }
|
94
94
|
|
95
95
|
it 'prints message as-is' do
|
96
|
-
formatter.report_file(file, [
|
96
|
+
formatter.report_file(file, [offense])
|
97
97
|
expect(output.string)
|
98
98
|
.to include(': This is a message.')
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
-
context 'when the
|
102
|
+
context 'when the offense is automatically corrected' do
|
103
103
|
let(:corrected) { true }
|
104
104
|
|
105
105
|
it 'prints [Corrected] along with message' do
|
106
|
-
formatter.report_file(file, [
|
106
|
+
formatter.report_file(file, [offense])
|
107
107
|
expect(output.string)
|
108
108
|
.to include(': [Corrected] This is a message.')
|
109
109
|
end
|