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
@@ -8,24 +8,24 @@ describe Rubocop::Cop::Style::LambdaCall, :config do
|
|
8
8
|
context 'when style is set to call' do
|
9
9
|
let(:cop_config) { { 'EnforcedStyle' => 'call' } }
|
10
10
|
|
11
|
-
it 'registers an
|
11
|
+
it 'registers an offense for x.()' do
|
12
12
|
inspect_source(cop,
|
13
13
|
['x.(a, b)'])
|
14
|
-
expect(cop.
|
15
|
-
expect(cop.
|
14
|
+
expect(cop.offenses.size).to eq(1)
|
15
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'braces')
|
16
16
|
end
|
17
17
|
|
18
|
-
it 'registers an
|
18
|
+
it 'registers an offense for correct + opposite' do
|
19
19
|
inspect_source(cop,
|
20
20
|
['x.call(a, b)',
|
21
21
|
'x.(a, b)'])
|
22
|
-
expect(cop.
|
23
|
-
expect(cop.
|
22
|
+
expect(cop.offenses.size).to eq(1)
|
23
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'accepts x.call()' do
|
27
27
|
inspect_source(cop, ['x.call(a, b)'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'auto-corrects x.() to x.call()' do
|
@@ -37,24 +37,24 @@ describe Rubocop::Cop::Style::LambdaCall, :config do
|
|
37
37
|
context 'when style is set to braces' do
|
38
38
|
let(:cop_config) { { 'EnforcedStyle' => 'braces' } }
|
39
39
|
|
40
|
-
it 'registers an
|
40
|
+
it 'registers an offense for x.call()' do
|
41
41
|
inspect_source(cop,
|
42
42
|
['x.call(a, b)'])
|
43
|
-
expect(cop.
|
44
|
-
expect(cop.
|
43
|
+
expect(cop.offenses.size).to eq(1)
|
44
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' => 'call')
|
45
45
|
end
|
46
46
|
|
47
|
-
it 'registers an
|
47
|
+
it 'registers an offense for opposite + correct' do
|
48
48
|
inspect_source(cop,
|
49
49
|
['x.call(a, b)',
|
50
50
|
'x.(a, b)'])
|
51
|
-
expect(cop.
|
52
|
-
expect(cop.
|
51
|
+
expect(cop.offenses.size).to eq(1)
|
52
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'accepts x.()' do
|
56
56
|
inspect_source(cop, ['x.(a, b)'])
|
57
|
-
expect(cop.
|
57
|
+
expect(cop.offenses).to be_empty
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'auto-corrects x.call() to x.()' do
|
@@ -5,9 +5,9 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::Lambda do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for an old single-line lambda call' do
|
9
9
|
inspect_source(cop, ['f = lambda { |x| x }'])
|
10
|
-
expect(cop.
|
10
|
+
expect(cop.offenses.size).to eq(1)
|
11
11
|
expect(cop.messages)
|
12
12
|
.to eq(['Use the new lambda literal syntax ->(params) {...}.'])
|
13
13
|
end
|
@@ -15,14 +15,14 @@ describe Rubocop::Cop::Style::Lambda do
|
|
15
15
|
it 'accepts the new lambda literal with single-line body' do
|
16
16
|
inspect_source(cop, ['lambda = ->(x) { x }',
|
17
17
|
'lambda.(1)'])
|
18
|
-
expect(cop.
|
18
|
+
expect(cop.offenses).to be_empty
|
19
19
|
end
|
20
20
|
|
21
|
-
it 'registers an
|
21
|
+
it 'registers an offense for a new multi-line lambda call' do
|
22
22
|
inspect_source(cop, ['f = ->(x) do',
|
23
23
|
' x',
|
24
24
|
'end'])
|
25
|
-
expect(cop.
|
25
|
+
expect(cop.offenses.size).to eq(1)
|
26
26
|
expect(cop.messages)
|
27
27
|
.to eq(['Use the lambda method for multi-line lambdas.'])
|
28
28
|
end
|
@@ -31,11 +31,11 @@ describe Rubocop::Cop::Style::Lambda do
|
|
31
31
|
inspect_source(cop, ['l = lambda do |x|',
|
32
32
|
' x',
|
33
33
|
'end'])
|
34
|
-
expect(cop.
|
34
|
+
expect(cop.offenses).to be_empty
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'accepts the lambda call outside of block' do
|
38
38
|
inspect_source(cop, ['l = lambda.test'])
|
39
|
-
expect(cop.
|
39
|
+
expect(cop.offenses).to be_empty
|
40
40
|
end
|
41
41
|
end
|
@@ -5,47 +5,47 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::LeadingCommentSpace do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for comment without leading space' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['#missing space'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'does not register an
|
14
|
+
it 'does not register an offense for # followed by no text' do
|
15
15
|
inspect_source(cop,
|
16
16
|
['#'])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses).to be_empty
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'does not register an
|
20
|
+
it 'does not register an offense for more than one space' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['# heavily indented'])
|
23
|
-
expect(cop.
|
23
|
+
expect(cop.offenses).to be_empty
|
24
24
|
end
|
25
25
|
|
26
|
-
it 'does not register an
|
26
|
+
it 'does not register an offense for more than one #' do
|
27
27
|
inspect_source(cop,
|
28
28
|
['###### heavily indented'])
|
29
|
-
expect(cop.
|
29
|
+
expect(cop.offenses).to be_empty
|
30
30
|
end
|
31
31
|
|
32
|
-
it 'does not register an
|
32
|
+
it 'does not register an offense for only #s' do
|
33
33
|
inspect_source(cop,
|
34
34
|
['######'])
|
35
|
-
expect(cop.
|
35
|
+
expect(cop.offenses).to be_empty
|
36
36
|
end
|
37
37
|
|
38
|
-
it 'does not register an
|
38
|
+
it 'does not register an offense for #! on first line' do
|
39
39
|
inspect_source(cop,
|
40
40
|
['#!/usr/bin/ruby',
|
41
41
|
'test'])
|
42
|
-
expect(cop.
|
42
|
+
expect(cop.offenses).to be_empty
|
43
43
|
end
|
44
44
|
|
45
|
-
it 'registers an
|
45
|
+
it 'registers an offense for #! after the first line' do
|
46
46
|
inspect_source(cop,
|
47
47
|
['test', '#!/usr/bin/ruby'])
|
48
|
-
expect(cop.
|
48
|
+
expect(cop.offenses.size).to eq(1)
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'accepts rdoc syntax' do
|
@@ -54,7 +54,7 @@ describe Rubocop::Cop::Style::LeadingCommentSpace do
|
|
54
54
|
'#--',
|
55
55
|
'#:nodoc:'])
|
56
56
|
|
57
|
-
expect(cop.
|
57
|
+
expect(cop.offenses).to be_empty
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'auto-corrects missing space' do
|
@@ -5,24 +5,31 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::LineEndConcatenation do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for string concat at line end' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['top = "test" +',
|
11
11
|
'"top"'])
|
12
|
-
expect(cop.
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'registers an offense for dynamic string concat at line end' do
|
16
|
+
inspect_source(cop,
|
17
|
+
['top = "test#{x}" +',
|
18
|
+
'"top"'])
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
13
20
|
end
|
14
21
|
|
15
22
|
it 'accepts string concat on the same line' do
|
16
23
|
inspect_source(cop,
|
17
24
|
['top = "test" + "top"'])
|
18
|
-
expect(cop.
|
25
|
+
expect(cop.offenses).to be_empty
|
19
26
|
end
|
20
27
|
|
21
28
|
it 'accepts string concat at line end when followed by comment' do
|
22
29
|
inspect_source(cop,
|
23
30
|
['top = "test" + # something',
|
24
31
|
'"top"'])
|
25
|
-
expect(cop.
|
32
|
+
expect(cop.offenses).to be_empty
|
26
33
|
end
|
27
34
|
|
28
35
|
it 'autocorrects by replacing + with \\' do
|
@@ -6,15 +6,15 @@ describe Rubocop::Cop::Style::LineLength, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
let(:cop_config) { { 'Max' => 79 } }
|
8
8
|
|
9
|
-
it "registers an
|
9
|
+
it "registers an offense for a line that's 80 characters wide" do
|
10
10
|
inspect_source(cop, ['#' * 80])
|
11
|
-
expect(cop.
|
12
|
-
expect(cop.
|
13
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
|
+
expect(cop.offenses.first.message).to eq('Line is too long. [80/79]')
|
13
|
+
expect(cop.config_to_allow_offenses).to eq('Max' => 80)
|
14
14
|
end
|
15
15
|
|
16
16
|
it "accepts a line that's 79 characters wide" do
|
17
17
|
inspect_source(cop, ['#' * 79])
|
18
|
-
expect(cop.
|
18
|
+
expect(cop.offenses).to be_empty
|
19
19
|
end
|
20
20
|
end
|
@@ -8,24 +8,24 @@ describe Rubocop::Cop::Style::MethodCallParentheses, :config do
|
|
8
8
|
Rubocop::Config.new('EmptyLiteral' => { 'Enabled' => true })
|
9
9
|
end
|
10
10
|
|
11
|
-
it 'registers an
|
11
|
+
it 'registers an offense for parens in method call without args' do
|
12
12
|
inspect_source(cop, ['top.test()'])
|
13
|
-
expect(cop.
|
13
|
+
expect(cop.offenses.size).to eq(1)
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'accepts parentheses for methods starting with an upcase letter' do
|
17
17
|
inspect_source(cop, ['Test()'])
|
18
|
-
expect(cop.
|
18
|
+
expect(cop.offenses).to be_empty
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'accepts no parens in method call without args' do
|
22
22
|
inspect_source(cop, ['top.test'])
|
23
|
-
expect(cop.
|
23
|
+
expect(cop.offenses).to be_empty
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'accepts parens in method call with args' do
|
27
27
|
inspect_source(cop, ['top.test(a)'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'auto-corrects by removing unneeded braces' do
|
@@ -6,11 +6,11 @@ describe Rubocop::Cop::Style::MethodCalledOnDoEndBlock do
|
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
8
|
context 'with a multi-line do..end block' do
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for a chained call' do
|
10
10
|
inspect_source(cop, ['a do',
|
11
11
|
' b',
|
12
12
|
'end.c'])
|
13
|
-
expect(cop.
|
13
|
+
expect(cop.offenses.size).to eq(1)
|
14
14
|
expect(cop.highlights).to eq(['end.c'])
|
15
15
|
end
|
16
16
|
|
@@ -18,7 +18,7 @@ describe Rubocop::Cop::Style::MethodCalledOnDoEndBlock do
|
|
18
18
|
inspect_source(cop, ['a do',
|
19
19
|
' b',
|
20
20
|
'end'])
|
21
|
-
expect(cop.
|
21
|
+
expect(cop.offenses).to be_empty
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'accepts a chained block' do
|
@@ -27,20 +27,20 @@ describe Rubocop::Cop::Style::MethodCalledOnDoEndBlock do
|
|
27
27
|
'end.c do',
|
28
28
|
' d',
|
29
29
|
'end'])
|
30
|
-
expect(cop.
|
30
|
+
expect(cop.offenses).to be_empty
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
context 'with a single-line do..end block' do
|
35
|
-
it 'registers an
|
35
|
+
it 'registers an offense for a chained call' do
|
36
36
|
inspect_source(cop, ['a do b end.c'])
|
37
|
-
expect(cop.
|
37
|
+
expect(cop.offenses.size).to eq(1)
|
38
38
|
expect(cop.highlights).to eq(['end.c'])
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'accepts a single-line do..end block with a chained block' do
|
42
42
|
inspect_source(cop, ['a do b end.c do d end'])
|
43
|
-
expect(cop.
|
43
|
+
expect(cop.offenses).to be_empty
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -49,12 +49,12 @@ describe Rubocop::Cop::Style::MethodCalledOnDoEndBlock do
|
|
49
49
|
inspect_source(cop, ['a {',
|
50
50
|
' b',
|
51
51
|
'}.c'])
|
52
|
-
expect(cop.
|
52
|
+
expect(cop.offenses).to be_empty
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'accepts a single-line block with a chained call' do
|
56
56
|
inspect_source(cop, ['a { b }.c'])
|
57
|
-
expect(cop.
|
57
|
+
expect(cop.offenses).to be_empty
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
@@ -8,37 +8,37 @@ describe Rubocop::Cop::Style::MethodDefParentheses, :config do
|
|
8
8
|
context 'require_parentheses' do
|
9
9
|
let(:cop_config) { { 'EnforcedStyle' => 'require_parentheses' } }
|
10
10
|
|
11
|
-
it 'reports an
|
11
|
+
it 'reports an offense for def with parameters but no parens' do
|
12
12
|
src = ['def func a, b',
|
13
13
|
'end']
|
14
14
|
inspect_source(cop, src)
|
15
|
-
expect(cop.
|
16
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
17
17
|
'require_no_parentheses')
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'reports an
|
20
|
+
it 'reports an offense for correct + opposite' do
|
21
21
|
src = ['def func(a, b)',
|
22
22
|
'end',
|
23
23
|
'def func a, b',
|
24
24
|
'end']
|
25
25
|
inspect_source(cop, src)
|
26
|
-
expect(cop.
|
27
|
-
expect(cop.
|
26
|
+
expect(cop.offenses.size).to eq(1)
|
27
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
28
28
|
end
|
29
29
|
|
30
|
-
it 'reports an
|
30
|
+
it 'reports an offense for class def with parameters but no parens' do
|
31
31
|
src = ['def Test.func a, b',
|
32
32
|
'end']
|
33
33
|
inspect_source(cop, src)
|
34
|
-
expect(cop.
|
34
|
+
expect(cop.offenses.size).to eq(1)
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'accepts def with no args and no parens' do
|
38
38
|
src = ['def func',
|
39
39
|
'end']
|
40
40
|
inspect_source(cop, src)
|
41
|
-
expect(cop.
|
41
|
+
expect(cop.offenses).to be_empty
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'auto-adds required parens for a def' do
|
@@ -60,37 +60,37 @@ describe Rubocop::Cop::Style::MethodDefParentheses, :config do
|
|
60
60
|
context 'require_no_parentheses' do
|
61
61
|
let(:cop_config) { { 'EnforcedStyle' => 'require_no_parentheses' } }
|
62
62
|
|
63
|
-
it 'reports an
|
63
|
+
it 'reports an offense for def with parameters with parens' do
|
64
64
|
src = ['def func(a, b)',
|
65
65
|
'end']
|
66
66
|
inspect_source(cop, src)
|
67
|
-
expect(cop.
|
68
|
-
expect(cop.
|
67
|
+
expect(cop.offenses.size).to eq(1)
|
68
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
69
69
|
'require_parentheses')
|
70
70
|
end
|
71
71
|
|
72
|
-
it 'reports an
|
72
|
+
it 'reports an offense for opposite + correct' do
|
73
73
|
src = ['def func(a, b)',
|
74
74
|
'end',
|
75
75
|
'def func a, b',
|
76
76
|
'end']
|
77
77
|
inspect_source(cop, src)
|
78
|
-
expect(cop.
|
79
|
-
expect(cop.
|
78
|
+
expect(cop.offenses.size).to eq(1)
|
79
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
80
80
|
end
|
81
81
|
|
82
|
-
it 'reports an
|
82
|
+
it 'reports an offense for class def with parameters with parens' do
|
83
83
|
src = ['def Test.func(a, b)',
|
84
84
|
'end']
|
85
85
|
inspect_source(cop, src)
|
86
|
-
expect(cop.
|
86
|
+
expect(cop.offenses.size).to eq(1)
|
87
87
|
end
|
88
88
|
|
89
|
-
it 'reports an
|
89
|
+
it 'reports an offense for def with no args and parens' do
|
90
90
|
src = ['def func()',
|
91
91
|
'end']
|
92
92
|
inspect_source(cop, src)
|
93
|
-
expect(cop.
|
93
|
+
expect(cop.offenses.size).to eq(1)
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'auto-removes the parens' do
|
@@ -15,9 +15,9 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
15
15
|
' a = 5',
|
16
16
|
' a = 6',
|
17
17
|
'end'])
|
18
|
-
expect(cop.
|
19
|
-
expect(cop.
|
20
|
-
expect(cop.
|
18
|
+
expect(cop.offenses.size).to eq(1)
|
19
|
+
expect(cop.offenses.map(&:line).sort).to eq([1])
|
20
|
+
expect(cop.config_to_allow_offenses).to eq('Max' => 6)
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'accepts a method with less than 5 lines' do
|
@@ -27,7 +27,7 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
27
27
|
' a = 3',
|
28
28
|
' a = 4',
|
29
29
|
'end'])
|
30
|
-
expect(cop.
|
30
|
+
expect(cop.offenses).to be_empty
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'does not count blank lines' do
|
@@ -40,13 +40,13 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
40
40
|
'',
|
41
41
|
' a = 7',
|
42
42
|
'end'])
|
43
|
-
expect(cop.
|
43
|
+
expect(cop.offenses).to be_empty
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'accepts empty methods' do
|
47
47
|
inspect_source(cop, ['def m()',
|
48
48
|
'end'])
|
49
|
-
expect(cop.
|
49
|
+
expect(cop.offenses).to be_empty
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'is not fooled by one-liner methods, syntax #1' do
|
@@ -58,7 +58,7 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
58
58
|
' a = 5',
|
59
59
|
' a = 6',
|
60
60
|
'end'])
|
61
|
-
expect(cop.
|
61
|
+
expect(cop.offenses).to be_empty
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'is not fooled by one-liner methods, syntax #2' do
|
@@ -70,7 +70,7 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
70
70
|
' a = 5',
|
71
71
|
' a = 6',
|
72
72
|
'end'])
|
73
|
-
expect(cop.
|
73
|
+
expect(cop.offenses).to be_empty
|
74
74
|
end
|
75
75
|
|
76
76
|
it 'checks class methods, syntax #1' do
|
@@ -82,8 +82,8 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
82
82
|
' a = 5',
|
83
83
|
' a = 6',
|
84
84
|
'end'])
|
85
|
-
expect(cop.
|
86
|
-
expect(cop.
|
85
|
+
expect(cop.offenses.size).to eq(1)
|
86
|
+
expect(cop.offenses.map(&:line).sort).to eq([1])
|
87
87
|
end
|
88
88
|
|
89
89
|
it 'checks class methods, syntax #2' do
|
@@ -99,8 +99,8 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
99
99
|
' end',
|
100
100
|
' end',
|
101
101
|
'end'])
|
102
|
-
expect(cop.
|
103
|
-
expect(cop.
|
102
|
+
expect(cop.offenses.size).to eq(1)
|
103
|
+
expect(cop.offenses.map(&:line).sort).to eq([3])
|
104
104
|
end
|
105
105
|
|
106
106
|
it 'properly counts lines when method ends with block' do
|
@@ -112,8 +112,8 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
112
112
|
' a = 5',
|
113
113
|
' end',
|
114
114
|
'end'])
|
115
|
-
expect(cop.
|
116
|
-
expect(cop.
|
115
|
+
expect(cop.offenses.size).to eq(1)
|
116
|
+
expect(cop.offenses.map(&:line).sort).to eq([1])
|
117
117
|
end
|
118
118
|
|
119
119
|
it 'does not count commented lines by default' do
|
@@ -125,7 +125,7 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
125
125
|
' a = 5',
|
126
126
|
' a = 6',
|
127
127
|
'end'])
|
128
|
-
expect(cop.
|
128
|
+
expect(cop.offenses).to be_empty
|
129
129
|
end
|
130
130
|
|
131
131
|
context 'when CountComments is enabled' do
|
@@ -140,8 +140,8 @@ describe Rubocop::Cop::Style::MethodLength, :config do
|
|
140
140
|
' a = 5',
|
141
141
|
' a = 6',
|
142
142
|
'end'])
|
143
|
-
expect(cop.
|
144
|
-
expect(cop.
|
143
|
+
expect(cop.offenses.size).to eq(1)
|
144
|
+
expect(cop.offenses.map(&:line).sort).to eq([1])
|
145
145
|
end
|
146
146
|
end
|
147
147
|
end
|