rubocop 0.18.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubocop might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.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
|