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
@@ -6,13 +6,13 @@ describe Rubocop::Cop::Lint::ConditionPosition do
|
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
8
|
%w(if unless while until).each do |keyword|
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for condition on the next line' do
|
10
10
|
inspect_source(cop,
|
11
11
|
["#{keyword}",
|
12
12
|
'x == 10',
|
13
13
|
'end'
|
14
14
|
])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'accepts condition on the same line' do
|
@@ -21,11 +21,11 @@ describe Rubocop::Cop::Lint::ConditionPosition do
|
|
21
21
|
' bala',
|
22
22
|
'end'
|
23
23
|
])
|
24
|
-
expect(cop.
|
24
|
+
expect(cop.offenses).to be_empty
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
it 'registers an
|
28
|
+
it 'registers an offense for elsif condition on the next line' do
|
29
29
|
inspect_source(cop,
|
30
30
|
['if something',
|
31
31
|
' test',
|
@@ -34,16 +34,16 @@ describe Rubocop::Cop::Lint::ConditionPosition do
|
|
34
34
|
' test',
|
35
35
|
'end'
|
36
36
|
])
|
37
|
-
expect(cop.
|
37
|
+
expect(cop.offenses.size).to eq(1)
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'handles ternary ops' do
|
41
41
|
inspect_source(cop, ['x ? a : b'])
|
42
|
-
expect(cop.
|
42
|
+
expect(cop.offenses).to be_empty
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'handles modifier forms' do
|
46
46
|
inspect_source(cop, ['x if something'])
|
47
|
-
expect(cop.
|
47
|
+
expect(cop.offenses).to be_empty
|
48
48
|
end
|
49
49
|
end
|
@@ -5,35 +5,35 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::Debugger do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'reports an
|
8
|
+
it 'reports an offense for a debugger call' do
|
9
9
|
src = ['debugger']
|
10
10
|
inspect_source(cop, src)
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'reports an
|
14
|
+
it 'reports an offense for pry bindings' do
|
15
15
|
src = ['binding.pry',
|
16
16
|
'binding.remote_pry']
|
17
17
|
inspect_source(cop, src)
|
18
|
-
expect(cop.
|
18
|
+
expect(cop.offenses.size).to eq(2)
|
19
19
|
end
|
20
20
|
|
21
|
-
it 'does not report an
|
21
|
+
it 'does not report an offense for non-pry binding' do
|
22
22
|
src = ['binding.pirate']
|
23
23
|
inspect_source(cop, src)
|
24
|
-
expect(cop.
|
24
|
+
expect(cop.offenses).to be_empty
|
25
25
|
end
|
26
26
|
|
27
|
-
it 'does not report an
|
27
|
+
it 'does not report an offense for debugger in comments' do
|
28
28
|
src = ['# debugger']
|
29
29
|
inspect_source(cop, src)
|
30
|
-
expect(cop.
|
30
|
+
expect(cop.offenses).to be_empty
|
31
31
|
end
|
32
32
|
|
33
|
-
it 'does not report an
|
33
|
+
it 'does not report an offense for a debugger or pry method' do
|
34
34
|
src = ['code.debugger',
|
35
35
|
'door.pry']
|
36
36
|
inspect_source(cop, src)
|
37
|
-
expect(cop.
|
37
|
+
expect(cop.offenses).to be_empty
|
38
38
|
end
|
39
39
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Rubocop::Cop::Lint::DeprecatedClassMethods do
|
6
|
+
subject(:cop) { described_class.new }
|
7
|
+
|
8
|
+
it 'registers an offense for File.exists?' do
|
9
|
+
inspect_source(cop,
|
10
|
+
['File.exists?(o)'])
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
|
+
expect(cop.messages)
|
13
|
+
.to eq(['File.exists? is deprecated in favor of File.exist?.'])
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'registers an offense for Dir.exists?' do
|
17
|
+
inspect_source(cop,
|
18
|
+
['Dir.exists?(o)'])
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
20
|
+
expect(cop.messages)
|
21
|
+
.to eq(['Dir.exists? is deprecated in favor of Dir.exist?.'])
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'auto-corrects File.exists? with File.exist?' do
|
25
|
+
new_source = autocorrect_source(cop, 'File.exists?(something)')
|
26
|
+
expect(new_source).to eq('File.exist?(something)')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'auto-corrects Dir.exists? with Dir.exist?' do
|
30
|
+
new_source = autocorrect_source(cop, 'Dir.exists?(something)')
|
31
|
+
expect(new_source).to eq('Dir.exist?(something)')
|
32
|
+
end
|
33
|
+
end
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::ElseLayout do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for expr on same line as else' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['if something',
|
11
11
|
' test',
|
@@ -14,7 +14,7 @@ describe Rubocop::Cop::Lint::ElseLayout do
|
|
14
14
|
' test',
|
15
15
|
'end'
|
16
16
|
])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'accepts proper else' do
|
@@ -26,7 +26,7 @@ describe Rubocop::Cop::Lint::ElseLayout do
|
|
26
26
|
' test',
|
27
27
|
'end'
|
28
28
|
])
|
29
|
-
expect(cop.
|
29
|
+
expect(cop.offenses).to be_empty
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'accepts single-expr else regardless of layout' do
|
@@ -36,7 +36,7 @@ describe Rubocop::Cop::Lint::ElseLayout do
|
|
36
36
|
'else bala',
|
37
37
|
'end'
|
38
38
|
])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses).to be_empty
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'can handle elsifs' do
|
@@ -50,16 +50,16 @@ describe Rubocop::Cop::Lint::ElseLayout do
|
|
50
50
|
' test',
|
51
51
|
'end'
|
52
52
|
])
|
53
|
-
expect(cop.
|
53
|
+
expect(cop.offenses.size).to eq(1)
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'handles ternary ops' do
|
57
57
|
inspect_source(cop, 'x ? a : b')
|
58
|
-
expect(cop.
|
58
|
+
expect(cop.offenses).to be_empty
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'handles modifier forms' do
|
62
62
|
inspect_source(cop, 'x if something')
|
63
|
-
expect(cop.
|
63
|
+
expect(cop.offenses).to be_empty
|
64
64
|
end
|
65
65
|
end
|
@@ -5,16 +5,16 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::EmptyEnsure do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for empty ensure' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['begin',
|
11
11
|
' something',
|
12
12
|
'ensure',
|
13
13
|
'end'])
|
14
|
-
expect(cop.
|
14
|
+
expect(cop.offenses.size).to eq(1)
|
15
15
|
end
|
16
16
|
|
17
|
-
it 'does not register an
|
17
|
+
it 'does not register an offense for non-empty ensure' do
|
18
18
|
inspect_source(cop,
|
19
19
|
['begin',
|
20
20
|
' something',
|
@@ -22,6 +22,6 @@ describe Rubocop::Cop::Lint::EmptyEnsure do
|
|
22
22
|
'ensure',
|
23
23
|
' file.close',
|
24
24
|
'end'])
|
25
|
-
expect(cop.
|
25
|
+
expect(cop.offenses).to be_empty
|
26
26
|
end
|
27
27
|
end
|
@@ -4,22 +4,21 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe Rubocop::Cop::Lint::EndAlignment, :config do
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
|
-
let(:cop_config) { {} }
|
8
7
|
let(:cop_config) { { 'AlignWith' => 'keyword' } }
|
9
8
|
let(:opposite) do
|
10
9
|
cop_config['AlignWith'] == 'keyword' ? 'variable' : 'keyword'
|
11
10
|
end
|
12
11
|
|
13
|
-
shared_examples 'misaligned' do |alignment_base, arg, end_kw, name|
|
12
|
+
shared_examples 'misaligned' do |prefix, alignment_base, arg, end_kw, name|
|
14
13
|
name ||= alignment_base
|
15
|
-
it "registers an
|
16
|
-
inspect_source(cop, ["#{alignment_base} #{arg}",
|
14
|
+
it "registers an offense for mismatched #{name} ... end" do
|
15
|
+
inspect_source(cop, ["#{prefix}#{alignment_base} #{arg}",
|
17
16
|
end_kw])
|
18
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
19
18
|
expect(cop.messages.first)
|
20
19
|
.to match(/end at 2, \d+ is not aligned with #{alignment_base} at 1,/)
|
21
20
|
expect(cop.highlights.first).to eq('end')
|
22
|
-
expect(cop.
|
21
|
+
expect(cop.config_to_allow_offenses).to eq('AlignWith' => opposite)
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
@@ -28,18 +27,18 @@ describe Rubocop::Cop::Lint::EndAlignment, :config do
|
|
28
27
|
it "accepts matching #{name} ... end" do
|
29
28
|
inspect_source(cop, ["#{alignment_base} #{arg}",
|
30
29
|
end_kw])
|
31
|
-
expect(cop.
|
30
|
+
expect(cop.offenses).to be_empty
|
32
31
|
end
|
33
32
|
end
|
34
33
|
|
35
|
-
include_examples 'misaligned', 'class', 'Test', ' end'
|
36
|
-
include_examples 'misaligned', 'module', 'Test', ' end'
|
37
|
-
include_examples 'misaligned', 'def', 'test', ' end'
|
38
|
-
include_examples 'misaligned', 'def', 'Test.test', ' end', 'defs'
|
39
|
-
include_examples 'misaligned', 'if', 'test', ' end'
|
40
|
-
include_examples 'misaligned', 'unless', 'test', ' end'
|
41
|
-
include_examples 'misaligned', 'while', 'test', ' end'
|
42
|
-
include_examples 'misaligned', 'until', 'test', ' end'
|
34
|
+
include_examples 'misaligned', '', 'class', 'Test', ' end'
|
35
|
+
include_examples 'misaligned', '', 'module', 'Test', ' end'
|
36
|
+
include_examples 'misaligned', '', 'def', 'test', ' end'
|
37
|
+
include_examples 'misaligned', '', 'def', 'Test.test', ' end', 'defs'
|
38
|
+
include_examples 'misaligned', '', 'if', 'test', ' end'
|
39
|
+
include_examples 'misaligned', '', 'unless', 'test', ' end'
|
40
|
+
include_examples 'misaligned', '', 'while', 'test', ' end'
|
41
|
+
include_examples 'misaligned', '', 'until', 'test', ' end'
|
43
42
|
|
44
43
|
include_examples 'aligned', 'class', 'Test', 'end'
|
45
44
|
include_examples 'aligned', 'module', 'Test', 'end'
|
@@ -56,50 +55,50 @@ describe Rubocop::Cop::Lint::EndAlignment, :config do
|
|
56
55
|
include_examples 'aligned', 'private def', 'test', 'end'
|
57
56
|
include_examples 'aligned', 'module_function def', 'test', 'end'
|
58
57
|
|
59
|
-
include_examples('misaligned',
|
58
|
+
include_examples('misaligned', '',
|
60
59
|
'public def', 'test',
|
61
60
|
' end')
|
62
|
-
include_examples('misaligned',
|
61
|
+
include_examples('misaligned', '',
|
63
62
|
'protected def', 'test',
|
64
63
|
' end')
|
65
|
-
include_examples('misaligned',
|
64
|
+
include_examples('misaligned', '',
|
66
65
|
'private def', 'test',
|
67
66
|
' end')
|
68
|
-
include_examples('misaligned',
|
67
|
+
include_examples('misaligned', '',
|
69
68
|
'module_function def', 'test',
|
70
69
|
' end')
|
71
70
|
end
|
72
71
|
|
73
72
|
it 'can handle ternary if' do
|
74
73
|
inspect_source(cop, 'a = cond ? x : y')
|
75
|
-
expect(cop.
|
74
|
+
expect(cop.offenses).to be_empty
|
76
75
|
end
|
77
76
|
|
78
77
|
it 'can handle modifier if' do
|
79
78
|
inspect_source(cop, 'a = x if cond')
|
80
|
-
expect(cop.
|
79
|
+
expect(cop.offenses).to be_empty
|
81
80
|
end
|
82
81
|
|
83
|
-
it 'registers an
|
82
|
+
it 'registers an offense for correct + opposite' do
|
84
83
|
inspect_source(cop, ['x = if a',
|
85
84
|
' a1',
|
86
85
|
' end',
|
87
86
|
'y = if b',
|
88
87
|
' b1',
|
89
88
|
'end'])
|
90
|
-
expect(cop.
|
89
|
+
expect(cop.offenses.size).to eq(1)
|
91
90
|
expect(cop.messages.first)
|
92
|
-
.to eq('end at 6, 0 is not aligned with
|
91
|
+
.to eq('end at 6, 0 is not aligned with if at 4, 4')
|
93
92
|
expect(cop.highlights.first).to eq('end')
|
94
|
-
expect(cop.
|
93
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
95
94
|
end
|
96
95
|
|
97
96
|
context 'regarding assignment' do
|
98
97
|
context 'when AlignWith is keyword' do
|
99
|
-
include_examples 'misaligned', 'var = if', 'test', 'end'
|
100
|
-
include_examples 'misaligned', 'var = unless', 'test', 'end'
|
101
|
-
include_examples 'misaligned', 'var = while', 'test', 'end'
|
102
|
-
include_examples 'misaligned', 'var = until', 'test', 'end'
|
98
|
+
include_examples 'misaligned', 'var = ', 'if', 'test', 'end'
|
99
|
+
include_examples 'misaligned', 'var = ', 'unless', 'test', 'end'
|
100
|
+
include_examples 'misaligned', 'var = ', 'while', 'test', 'end'
|
101
|
+
include_examples 'misaligned', 'var = ', 'until', 'test', 'end'
|
103
102
|
|
104
103
|
include_examples 'aligned', 'var = if', 'test', ' end'
|
105
104
|
include_examples 'aligned', 'var = unless', 'test', ' end'
|
@@ -117,11 +116,11 @@ describe Rubocop::Cop::Lint::EndAlignment, :config do
|
|
117
116
|
include_examples 'aligned', 'var = until', 'test', 'end.abc.join("")'
|
118
117
|
include_examples 'aligned', 'var = until', 'test', 'end.abc.tap {}'
|
119
118
|
|
120
|
-
include_examples 'misaligned', 'var = if', 'test', ' end'
|
121
|
-
include_examples 'misaligned', 'var = unless', 'test', ' end'
|
122
|
-
include_examples 'misaligned', 'var = while', 'test', ' end'
|
123
|
-
include_examples 'misaligned', 'var = until', 'test', ' end'
|
124
|
-
include_examples 'misaligned', 'var = until', 'test', ' end.
|
119
|
+
include_examples 'misaligned', '', 'var = if', 'test', ' end'
|
120
|
+
include_examples 'misaligned', '', 'var = unless', 'test', ' end'
|
121
|
+
include_examples 'misaligned', '', 'var = while', 'test', ' end'
|
122
|
+
include_examples 'misaligned', '', 'var = until', 'test', ' end'
|
123
|
+
include_examples 'misaligned', '', 'var = until', 'test', ' end.j'
|
125
124
|
|
126
125
|
include_examples 'aligned', '@var = if', 'test', 'end'
|
127
126
|
include_examples 'aligned', '@@var = if', 'test', 'end'
|
@@ -5,25 +5,25 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::EndInMethod do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'reports an
|
8
|
+
it 'reports an offense for def with an END inside' do
|
9
9
|
src = ['def test',
|
10
10
|
' END { something }',
|
11
11
|
'end']
|
12
12
|
inspect_source(cop, src)
|
13
|
-
expect(cop.
|
13
|
+
expect(cop.offenses.size).to eq(1)
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'reports an
|
16
|
+
it 'reports an offense for defs with an END inside' do
|
17
17
|
src = ['def self.test',
|
18
18
|
' END { something }',
|
19
19
|
'end']
|
20
20
|
inspect_source(cop, src)
|
21
|
-
expect(cop.
|
21
|
+
expect(cop.offenses.size).to eq(1)
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'accepts END outside of def(s)' do
|
25
25
|
src = ['END { something }']
|
26
26
|
inspect_source(cop, src)
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
end
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::EnsureReturn do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for return in ensure' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['begin',
|
11
11
|
' something',
|
@@ -13,10 +13,10 @@ describe Rubocop::Cop::Lint::EnsureReturn do
|
|
13
13
|
' file.close',
|
14
14
|
' return',
|
15
15
|
'end'])
|
16
|
-
expect(cop.
|
16
|
+
expect(cop.offenses.size).to eq(1)
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'does not register an
|
19
|
+
it 'does not register an offense for return outside ensure' do
|
20
20
|
inspect_source(cop,
|
21
21
|
['begin',
|
22
22
|
' something',
|
@@ -24,7 +24,7 @@ describe Rubocop::Cop::Lint::EnsureReturn do
|
|
24
24
|
'ensure',
|
25
25
|
' file.close',
|
26
26
|
'end'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'does not check when ensure block has no body' do
|
@@ -5,31 +5,31 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Lint::Eval do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for eval as function' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['eval(something)'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
expect(cop.messages)
|
13
13
|
.to eq(['The use of eval is a serious security risk.'])
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'registers an
|
16
|
+
it 'registers an offense for eval as command' do
|
17
17
|
inspect_source(cop,
|
18
18
|
['eval something'])
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
20
20
|
expect(cop.messages)
|
21
21
|
.to eq(['The use of eval is a serious security risk.'])
|
22
22
|
end
|
23
23
|
|
24
|
-
it 'does not register an
|
24
|
+
it 'does not register an offense for eval as variable' do
|
25
25
|
inspect_source(cop,
|
26
26
|
['eval = something'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
|
-
it 'does not register an
|
30
|
+
it 'does not register an offense for eval as method' do
|
31
31
|
inspect_source(cop,
|
32
32
|
['something.eval'])
|
33
|
-
expect(cop.
|
33
|
+
expect(cop.offenses).to be_empty
|
34
34
|
end
|
35
35
|
end
|