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,19 +5,19 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::HandleExceptions do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for empty rescue block' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['begin',
|
11
11
|
' something',
|
12
12
|
'rescue',
|
13
13
|
' #do nothing',
|
14
14
|
'end'])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
16
|
expect(cop.messages)
|
17
17
|
.to eq(['Do not suppress exceptions.'])
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'does not register an
|
20
|
+
it 'does not register an offense for rescue with body' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['begin',
|
23
23
|
' something',
|
@@ -25,6 +25,6 @@ describe Rubocop::Cop::Lint::HandleExceptions do
|
|
25
25
|
'rescue',
|
26
26
|
' file.close',
|
27
27
|
'end'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
end
|
@@ -19,13 +19,13 @@ describe Rubocop::Cop::Lint::InvalidCharacterLiteral do
|
|
19
19
|
context 'with a non-escaped whitespace character literal ' do
|
20
20
|
let(:source) { 'p(? )' }
|
21
21
|
|
22
|
-
it 'registers an
|
22
|
+
it 'registers an offense' do
|
23
23
|
pending 'Is there a way to emit this warning without syntax errors?'
|
24
24
|
|
25
25
|
inspect_source(cop, source)
|
26
26
|
|
27
|
-
expect(cop.
|
28
|
-
expect(cop.
|
27
|
+
expect(cop.offenses.size).to eq(1)
|
28
|
+
expect(cop.offenses.first.message)
|
29
29
|
.to eq('Invalid character literal; use ?\s')
|
30
30
|
expect(cop.highlights).to eq([' '])
|
31
31
|
end
|
@@ -6,40 +6,95 @@ describe Rubocop::Cop::Lint::LiteralInCondition do
|
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
8
|
%w(1 2.0 [1] {}).each do |lit|
|
9
|
-
it "registers an
|
9
|
+
it "registers an offense for literal #{lit} in if" do
|
10
|
+
inspect_source(cop,
|
11
|
+
["if #{lit}",
|
12
|
+
' top',
|
13
|
+
'end'
|
14
|
+
])
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "registers an offense for literal #{lit} in while" do
|
19
|
+
inspect_source(cop,
|
20
|
+
["while #{lit}",
|
21
|
+
' top',
|
22
|
+
'end'
|
23
|
+
])
|
24
|
+
expect(cop.offenses.size).to eq(1)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "registers an offense for literal #{lit} in until" do
|
28
|
+
inspect_source(cop,
|
29
|
+
["until #{lit}",
|
30
|
+
' top',
|
31
|
+
'end'
|
32
|
+
])
|
33
|
+
expect(cop.offenses.size).to eq(1)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "registers an offense for literal #{lit} in case" do
|
37
|
+
inspect_source(cop,
|
38
|
+
["case #{lit}",
|
39
|
+
'when x then top',
|
40
|
+
'end'
|
41
|
+
])
|
42
|
+
expect(cop.offenses.size).to eq(1)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "registers an offense for literal #{lit} in a when " \
|
46
|
+
'of a case without anything after case keyword' do
|
47
|
+
inspect_source(cop,
|
48
|
+
['case',
|
49
|
+
"when #{lit} then top",
|
50
|
+
'end'])
|
51
|
+
expect(cop.offenses.size).to eq(1)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "accepts literal #{lit} in a when of a case with " \
|
55
|
+
'something after case keyword' do
|
56
|
+
inspect_source(cop,
|
57
|
+
['case x',
|
58
|
+
"when #{lit} then top",
|
59
|
+
'end'
|
60
|
+
])
|
61
|
+
expect(cop.offenses).to be_empty
|
62
|
+
end
|
63
|
+
|
64
|
+
it "registers an offense for literal #{lit} in &&" do
|
10
65
|
inspect_source(cop,
|
11
66
|
["if x && #{lit}",
|
12
67
|
' top',
|
13
68
|
'end'
|
14
69
|
])
|
15
|
-
expect(cop.
|
70
|
+
expect(cop.offenses.size).to eq(1)
|
16
71
|
end
|
17
72
|
|
18
|
-
it "registers an
|
73
|
+
it "registers an offense for literal #{lit} in complex cond" do
|
19
74
|
inspect_source(cop,
|
20
75
|
["if x && !(a && #{lit}) && y && z",
|
21
76
|
' top',
|
22
77
|
'end'
|
23
78
|
])
|
24
|
-
expect(cop.
|
79
|
+
expect(cop.offenses.size).to eq(1)
|
25
80
|
end
|
26
81
|
|
27
|
-
it "registers an
|
82
|
+
it "registers an offense for literal #{lit} in !" do
|
28
83
|
inspect_source(cop,
|
29
84
|
["if !#{lit}",
|
30
85
|
' top',
|
31
86
|
'end'
|
32
87
|
])
|
33
|
-
expect(cop.
|
88
|
+
expect(cop.offenses.size).to eq(1)
|
34
89
|
end
|
35
90
|
|
36
|
-
it "registers an
|
91
|
+
it "registers an offense for literal #{lit} in complex !" do
|
37
92
|
inspect_source(cop,
|
38
93
|
["if !(x && (y && #{lit}))",
|
39
94
|
' top',
|
40
95
|
'end'
|
41
96
|
])
|
42
|
-
expect(cop.
|
97
|
+
expect(cop.offenses.size).to eq(1)
|
43
98
|
end
|
44
99
|
|
45
100
|
it "accepts literal #{lit} if it's not an and/or operand" do
|
@@ -48,7 +103,7 @@ describe Rubocop::Cop::Lint::LiteralInCondition do
|
|
48
103
|
' top',
|
49
104
|
'end'
|
50
105
|
])
|
51
|
-
expect(cop.
|
106
|
+
expect(cop.offenses).to be_empty
|
52
107
|
end
|
53
108
|
|
54
109
|
it "accepts literal #{lit} in non-toplevel and/or" do
|
@@ -57,7 +112,7 @@ describe Rubocop::Cop::Lint::LiteralInCondition do
|
|
57
112
|
' top',
|
58
113
|
'end'
|
59
114
|
])
|
60
|
-
expect(cop.
|
115
|
+
expect(cop.offenses).to be_empty
|
61
116
|
end
|
62
117
|
end
|
63
118
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Rubocop::Cop::Lint::LiteralInInterpolation do
|
6
|
+
subject(:cop) { described_class.new }
|
7
|
+
|
8
|
+
%w(1 2.0 [1] {}).each do |lit|
|
9
|
+
it "registers an offense for #{lit} in interpolation" do
|
10
|
+
inspect_source(cop,
|
11
|
+
["\"this is the \#{#{lit}}\""])
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "registers an offense only for final #{lit} in interpolation" do
|
16
|
+
inspect_source(cop,
|
17
|
+
["\"this is the \#{#{lit};#{lit}}\""])
|
18
|
+
expect(cop.offenses.size).to eq(1)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -5,23 +5,23 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::Loop do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for begin/end/while' do
|
9
9
|
inspect_source(cop, ['begin something; top; end while test'])
|
10
|
-
expect(cop.
|
10
|
+
expect(cop.offenses.size).to eq(1)
|
11
11
|
end
|
12
12
|
|
13
|
-
it 'registers an
|
13
|
+
it 'registers an offense for begin/end/until' do
|
14
14
|
inspect_source(cop, ['begin something; top; end until test'])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'accepts normal while' do
|
19
19
|
inspect_source(cop, ['while test; one; two; end'])
|
20
|
-
expect(cop.
|
20
|
+
expect(cop.offenses).to be_empty
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'accepts normal until' do
|
24
24
|
inspect_source(cop, ['until test; one; two; end'])
|
25
|
-
expect(cop.
|
25
|
+
expect(cop.offenses).to be_empty
|
26
26
|
end
|
27
27
|
end
|
@@ -5,53 +5,53 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::ParenthesesAsGroupedExpression do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
9
|
-
|
8
|
+
it 'registers an offense for method call with space before the ' \
|
9
|
+
'parenthesis' do
|
10
10
|
inspect_source(cop, ['a.func (x)'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'registers an
|
15
|
-
|
14
|
+
it 'registers an offense for predicate method call with space ' \
|
15
|
+
'before the parenthesis' do
|
16
16
|
inspect_source(cop, ['is? (x)'])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'registers an
|
20
|
+
it 'registers an offense for math expression' do
|
21
21
|
inspect_source(cop, ['puts (2 + 3) * 4'])
|
22
|
-
expect(cop.
|
22
|
+
expect(cop.offenses.size).to eq(1)
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'accepts a method call without arguments' do
|
26
26
|
inspect_source(cop, ['func'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'accepts a method call with arguments but no parentheses' do
|
31
31
|
inspect_source(cop, ['puts x'])
|
32
|
-
expect(cop.
|
32
|
+
expect(cop.offenses).to be_empty
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'accepts a chain of method calls' do
|
36
36
|
inspect_source(cop, ['a.b',
|
37
37
|
'a.b 1',
|
38
38
|
'a.b(1)'])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses).to be_empty
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'accepts method with parens as arg to method without' do
|
43
43
|
inspect_source(cop, ['a b(c)'])
|
44
|
-
expect(cop.
|
44
|
+
expect(cop.offenses).to be_empty
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'accepts an operator call with argument in parentheses' do
|
48
48
|
inspect_source(cop, ['a % (b + c)',
|
49
49
|
'a.b = (c == d)'])
|
50
|
-
expect(cop.
|
50
|
+
expect(cop.offenses).to be_empty
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'accepts a space inside opening paren followed by left paren' do
|
54
54
|
inspect_source(cop, ['a( (b) )'])
|
55
|
-
expect(cop.
|
55
|
+
expect(cop.offenses).to be_empty
|
56
56
|
end
|
57
57
|
end
|
@@ -5,8 +5,8 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::RequireParentheses do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
9
|
-
|
8
|
+
it 'registers an offense for missing parentheses around expression with ' \
|
9
|
+
'&& operator' do
|
10
10
|
inspect_source(cop, ["if day.is? 'monday' && month == :jan",
|
11
11
|
' foo',
|
12
12
|
'end'])
|
@@ -16,14 +16,14 @@ describe Rubocop::Cop::Lint::RequireParentheses do
|
|
16
16
|
'precedence.'])
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'registers an
|
20
|
-
|
19
|
+
it 'registers an offense for missing parentheses around expression with ' \
|
20
|
+
'|| operator' do
|
21
21
|
inspect_source(cop, "day_is? 'tuesday' || true")
|
22
22
|
expect(cop.highlights).to eq(["day_is? 'tuesday' || true"])
|
23
23
|
end
|
24
24
|
|
25
|
-
it 'registers an
|
26
|
-
|
25
|
+
it 'registers an offense for missing parentheses around expression in ' \
|
26
|
+
'ternary' do
|
27
27
|
inspect_source(cop, "wd.include? 'tuesday' && true == true ? a : b")
|
28
28
|
expect(cop.highlights).to eq(["wd.include? 'tuesday' && true == true"])
|
29
29
|
end
|
@@ -31,7 +31,7 @@ describe Rubocop::Cop::Lint::RequireParentheses do
|
|
31
31
|
it 'accepts missing parentheses around expression with + operator' do
|
32
32
|
inspect_source(cop, ["if day_is? 'tuesday' + rest",
|
33
33
|
'end'])
|
34
|
-
expect(cop.
|
34
|
+
expect(cop.offenses).to be_empty
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'accepts method calls without parentheses followed by keyword and/or' do
|
@@ -39,44 +39,44 @@ describe Rubocop::Cop::Lint::RequireParentheses do
|
|
39
39
|
'end',
|
40
40
|
"if day.is? 'tuesday' or month == :jan",
|
41
41
|
'end'])
|
42
|
-
expect(cop.
|
42
|
+
expect(cop.offenses).to be_empty
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'accepts method calls that are all operations' do
|
46
46
|
inspect_source(cop, ['if current_level == max + 1',
|
47
47
|
'end'])
|
48
|
-
expect(cop.
|
48
|
+
expect(cop.offenses).to be_empty
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'accepts condition that is not a call' do
|
52
52
|
inspect_source(cop, ['if @debug',
|
53
53
|
'end'])
|
54
|
-
expect(cop.
|
54
|
+
expect(cop.offenses).to be_empty
|
55
55
|
end
|
56
56
|
|
57
57
|
it 'accepts parentheses around expression with boolean operator' do
|
58
58
|
inspect_source(cop, ["if day.is?('tuesday' && true == true)",
|
59
59
|
'end'])
|
60
|
-
expect(cop.
|
60
|
+
expect(cop.offenses).to be_empty
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'accepts method call with parentheses in ternary' do
|
64
64
|
inspect_source(cop, "wd.include?('tuesday' && true == true) ? a : b")
|
65
|
-
expect(cop.
|
65
|
+
expect(cop.offenses).to be_empty
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'accepts missing parentheses when method is not a predicate' do
|
69
69
|
inspect_source(cop, "weekdays.foo 'tuesday' && true == true")
|
70
|
-
expect(cop.
|
70
|
+
expect(cop.offenses).to be_empty
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'accepts calls to methods that are setters' do
|
74
74
|
inspect_source(cop, 's.version = @version || ">= 1.8.5"')
|
75
|
-
expect(cop.
|
75
|
+
expect(cop.offenses).to be_empty
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'accepts calls to methods that are operators' do
|
79
79
|
inspect_source(cop, 'a[b || c]')
|
80
|
-
expect(cop.
|
80
|
+
expect(cop.offenses).to be_empty
|
81
81
|
end
|
82
82
|
end
|
@@ -5,55 +5,55 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::RescueException do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for rescue from Exception' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['begin',
|
11
11
|
' something',
|
12
12
|
'rescue Exception',
|
13
13
|
' #do nothing',
|
14
14
|
'end'])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
16
|
expect(cop.messages)
|
17
17
|
.to eq(['Avoid rescuing the Exception class.'])
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'registers an
|
20
|
+
it 'registers an offense for rescue with ::Exception' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['begin',
|
23
23
|
' something',
|
24
24
|
'rescue ::Exception',
|
25
25
|
' #do nothing',
|
26
26
|
'end'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses.size).to eq(1)
|
28
28
|
expect(cop.messages)
|
29
29
|
.to eq(['Avoid rescuing the Exception class.'])
|
30
30
|
end
|
31
31
|
|
32
|
-
it 'registers an
|
32
|
+
it 'registers an offense for rescue with StandardError, Exception' do
|
33
33
|
inspect_source(cop,
|
34
34
|
['begin',
|
35
35
|
' something',
|
36
36
|
'rescue StandardError, Exception',
|
37
37
|
' #do nothing',
|
38
38
|
'end'])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses.size).to eq(1)
|
40
40
|
expect(cop.messages)
|
41
41
|
.to eq(['Avoid rescuing the Exception class.'])
|
42
42
|
end
|
43
43
|
|
44
|
-
it 'registers an
|
44
|
+
it 'registers an offense for rescue with Exception => e' do
|
45
45
|
inspect_source(cop,
|
46
46
|
['begin',
|
47
47
|
' something',
|
48
48
|
'rescue Exception => e',
|
49
49
|
' #do nothing',
|
50
50
|
'end'])
|
51
|
-
expect(cop.
|
51
|
+
expect(cop.offenses.size).to eq(1)
|
52
52
|
expect(cop.messages)
|
53
53
|
.to eq(['Avoid rescuing the Exception class.'])
|
54
54
|
end
|
55
55
|
|
56
|
-
it 'does not register an
|
56
|
+
it 'does not register an offense for rescue with no class' do
|
57
57
|
inspect_source(cop,
|
58
58
|
['begin',
|
59
59
|
' something',
|
@@ -61,10 +61,10 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
61
61
|
'rescue',
|
62
62
|
' file.close',
|
63
63
|
'end'])
|
64
|
-
expect(cop.
|
64
|
+
expect(cop.offenses).to be_empty
|
65
65
|
end
|
66
66
|
|
67
|
-
it 'does not register an
|
67
|
+
it 'does not register an offense for rescue with no class and => e' do
|
68
68
|
inspect_source(cop,
|
69
69
|
['begin',
|
70
70
|
' something',
|
@@ -72,10 +72,10 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
72
72
|
'rescue => e',
|
73
73
|
' file.close',
|
74
74
|
'end'])
|
75
|
-
expect(cop.
|
75
|
+
expect(cop.offenses).to be_empty
|
76
76
|
end
|
77
77
|
|
78
|
-
it 'does not register an
|
78
|
+
it 'does not register an offense for rescue with other class' do
|
79
79
|
inspect_source(cop,
|
80
80
|
['begin',
|
81
81
|
' something',
|
@@ -83,10 +83,10 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
83
83
|
'rescue ArgumentError => e',
|
84
84
|
' file.close',
|
85
85
|
'end'])
|
86
|
-
expect(cop.
|
86
|
+
expect(cop.offenses).to be_empty
|
87
87
|
end
|
88
88
|
|
89
|
-
it 'does not register an
|
89
|
+
it 'does not register an offense for rescue with other classes' do
|
90
90
|
inspect_source(cop,
|
91
91
|
['begin',
|
92
92
|
' something',
|
@@ -94,10 +94,10 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
94
94
|
'rescue EOFError, ArgumentError => e',
|
95
95
|
' file.close',
|
96
96
|
'end'])
|
97
|
-
expect(cop.
|
97
|
+
expect(cop.offenses).to be_empty
|
98
98
|
end
|
99
99
|
|
100
|
-
it 'does not register an
|
100
|
+
it 'does not register an offense for rescue with a module prefix' do
|
101
101
|
inspect_source(cop,
|
102
102
|
['begin',
|
103
103
|
' something',
|
@@ -105,7 +105,7 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
105
105
|
'rescue Test::Exception => e',
|
106
106
|
' file.close',
|
107
107
|
'end'])
|
108
|
-
expect(cop.
|
108
|
+
expect(cop.offenses).to be_empty
|
109
109
|
end
|
110
110
|
|
111
111
|
it 'does not crash when the splat operator is used in a rescue' do
|
@@ -116,16 +116,16 @@ describe Rubocop::Cop::Lint::RescueException do
|
|
116
116
|
'rescue *ERRORS',
|
117
117
|
' puts e',
|
118
118
|
'end'])
|
119
|
-
expect(cop.
|
119
|
+
expect(cop.offenses).to be_empty
|
120
120
|
end
|
121
121
|
|
122
122
|
it 'does not crash when the namespace of a rescued class is in a local ' \
|
123
|
-
|
123
|
+
'variable' do
|
124
124
|
inspect_source(cop,
|
125
125
|
['adapter = current_adapter',
|
126
126
|
'begin',
|
127
127
|
'rescue adapter::ParseError',
|
128
128
|
'end'])
|
129
|
-
expect(cop.
|
129
|
+
expect(cop.offenses).to be_empty
|
130
130
|
end
|
131
131
|
end
|