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
@@ -6,17 +6,17 @@ describe Rubocop::Cop::Style::MethodName, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
|
8
8
|
shared_examples 'never accepted' do
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for mixed snake case and camel case' do
|
10
10
|
inspect_source(cop, ['def visit_Arel_Nodes_SelectStatement',
|
11
11
|
'end'])
|
12
|
-
expect(cop.
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
13
|
expect(cop.highlights).to eq(['visit_Arel_Nodes_SelectStatement'])
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'registers an
|
16
|
+
it 'registers an offense for capitalized camel case' do
|
17
17
|
inspect_source(cop, ['def MyMethod',
|
18
18
|
'end'])
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses.size).to eq(1)
|
20
20
|
expect(cop.highlights).to eq(['MyMethod'])
|
21
21
|
end
|
22
22
|
end
|
@@ -24,51 +24,51 @@ describe Rubocop::Cop::Style::MethodName, :config do
|
|
24
24
|
shared_examples 'always accepted' do
|
25
25
|
it 'accepts one line methods' do
|
26
26
|
inspect_source(cop, "def body; '' end")
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'accepts operator definitions' do
|
31
31
|
inspect_source(cop, ['def +(other)',
|
32
32
|
' # ...',
|
33
33
|
'end'])
|
34
|
-
expect(cop.
|
34
|
+
expect(cop.offenses).to be_empty
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
38
|
context 'when configured for snake_case' do
|
39
39
|
let(:cop_config) { { 'EnforcedStyle' => 'snake_case' } }
|
40
40
|
|
41
|
-
it 'registers an
|
41
|
+
it 'registers an offense for camel case in instance method name' do
|
42
42
|
inspect_source(cop, ['def myMethod',
|
43
43
|
' # ...',
|
44
44
|
'end'])
|
45
|
-
expect(cop.
|
45
|
+
expect(cop.offenses.size).to eq(1)
|
46
46
|
expect(cop.highlights).to eq(['myMethod'])
|
47
|
-
expect(cop.
|
47
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
48
48
|
'camelCase')
|
49
49
|
end
|
50
50
|
|
51
|
-
it 'registers an
|
51
|
+
it 'registers an offense for opposite + correct' do
|
52
52
|
inspect_source(cop, ['def my_method',
|
53
53
|
'end',
|
54
54
|
'def myMethod',
|
55
55
|
'end'])
|
56
56
|
expect(cop.highlights).to eq(['myMethod'])
|
57
|
-
expect(cop.
|
57
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
58
58
|
end
|
59
59
|
|
60
|
-
it 'registers an
|
60
|
+
it 'registers an offense for camel case in singleton method name' do
|
61
61
|
inspect_source(cop, ['def self.myMethod',
|
62
62
|
' # ...',
|
63
63
|
'end'])
|
64
|
-
expect(cop.
|
64
|
+
expect(cop.offenses.size).to eq(1)
|
65
65
|
expect(cop.highlights).to eq(['myMethod'])
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'accepts snake case in names' do
|
69
69
|
inspect_source(cop, ['def my_method',
|
70
70
|
'end'])
|
71
|
-
expect(cop.
|
71
|
+
expect(cop.offenses).to be_empty
|
72
72
|
end
|
73
73
|
|
74
74
|
include_examples 'never accepted'
|
@@ -82,32 +82,32 @@ describe Rubocop::Cop::Style::MethodName, :config do
|
|
82
82
|
inspect_source(cop, ['def myMethod',
|
83
83
|
' # ...',
|
84
84
|
'end'])
|
85
|
-
expect(cop.
|
85
|
+
expect(cop.offenses).to be_empty
|
86
86
|
end
|
87
87
|
|
88
88
|
it 'accepts camel case in singleton method name' do
|
89
89
|
inspect_source(cop, ['def self.myMethod',
|
90
90
|
' # ...',
|
91
91
|
'end'])
|
92
|
-
expect(cop.
|
92
|
+
expect(cop.offenses).to be_empty
|
93
93
|
end
|
94
94
|
|
95
|
-
it 'registers an
|
95
|
+
it 'registers an offense for snake case in names' do
|
96
96
|
inspect_source(cop, ['def my_method',
|
97
97
|
'end'])
|
98
|
-
expect(cop.
|
98
|
+
expect(cop.offenses.size).to eq(1)
|
99
99
|
expect(cop.highlights).to eq(['my_method'])
|
100
|
-
expect(cop.
|
100
|
+
expect(cop.config_to_allow_offenses).to eq('EnforcedStyle' =>
|
101
101
|
'snake_case')
|
102
102
|
end
|
103
103
|
|
104
|
-
it 'registers an
|
104
|
+
it 'registers an offense for correct + opposite' do
|
105
105
|
inspect_source(cop, ['def my_method',
|
106
106
|
'end',
|
107
107
|
'def myMethod',
|
108
108
|
'end'])
|
109
109
|
expect(cop.highlights).to eq(['my_method'])
|
110
|
-
expect(cop.
|
110
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
111
111
|
end
|
112
112
|
|
113
113
|
include_examples 'always accepted'
|
@@ -5,13 +5,13 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::ModuleFunction do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for extend self in module' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['module Test',
|
11
11
|
' extend self',
|
12
12
|
' def test; end',
|
13
13
|
'end'])
|
14
|
-
expect(cop.
|
14
|
+
expect(cop.offenses.size).to eq(1)
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'accepts extend self in class' do
|
@@ -19,6 +19,6 @@ describe Rubocop::Cop::Style::ModuleFunction do
|
|
19
19
|
['class Test',
|
20
20
|
' extend self',
|
21
21
|
'end'])
|
22
|
-
expect(cop.
|
22
|
+
expect(cop.offenses).to be_empty
|
23
23
|
end
|
24
24
|
end
|
@@ -6,27 +6,27 @@ describe Rubocop::Cop::Style::MultilineBlockChain do
|
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
8
|
context 'with multi-line block chaining' do
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for a simple case' do
|
10
10
|
inspect_source(cop, ['a do',
|
11
11
|
' b',
|
12
12
|
'end.c do',
|
13
13
|
' d',
|
14
14
|
'end'])
|
15
|
-
expect(cop.
|
15
|
+
expect(cop.offenses.size).to eq(1)
|
16
16
|
expect(cop.highlights).to eq(['end.c'])
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'registers an
|
19
|
+
it 'registers an offense for a slightly more complicated case' do
|
20
20
|
inspect_source(cop, ['a do',
|
21
21
|
' b',
|
22
22
|
'end.c1.c2 do',
|
23
23
|
' d',
|
24
24
|
'end'])
|
25
|
-
expect(cop.
|
25
|
+
expect(cop.offenses.size).to eq(1)
|
26
26
|
expect(cop.highlights).to eq(['end.c1.c2'])
|
27
27
|
end
|
28
28
|
|
29
|
-
it 'registers two
|
29
|
+
it 'registers two offenses for a chain of three blocks' do
|
30
30
|
inspect_source(cop, ['a do',
|
31
31
|
' b',
|
32
32
|
'end.c do',
|
@@ -34,16 +34,16 @@ describe Rubocop::Cop::Style::MultilineBlockChain do
|
|
34
34
|
'end.e do',
|
35
35
|
' f',
|
36
36
|
'end'])
|
37
|
-
expect(cop.
|
37
|
+
expect(cop.offenses.size).to eq(2)
|
38
38
|
expect(cop.highlights).to eq(['end.c', 'end.e'])
|
39
39
|
end
|
40
40
|
|
41
|
-
it 'registers an
|
42
|
-
|
41
|
+
it 'registers an offense for a chain where the second block is ' \
|
42
|
+
'single-line' do
|
43
43
|
inspect_source(cop, ['Thread.list.find_all { |t|',
|
44
44
|
' t.alive?',
|
45
45
|
'}.map { |thread| thread.object_id }'])
|
46
|
-
expect(cop.
|
46
|
+
expect(cop.offenses.size).to eq(1)
|
47
47
|
expect(cop.highlights).to eq(['}.map'])
|
48
48
|
end
|
49
49
|
|
@@ -52,27 +52,27 @@ describe Rubocop::Cop::Style::MultilineBlockChain do
|
|
52
52
|
['Thread.list.find_all { |t| t.alive? }.map { |t| ',
|
53
53
|
' t.object_id',
|
54
54
|
'}'])
|
55
|
-
expect(cop.
|
55
|
+
expect(cop.offenses).to be_empty
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
59
|
it 'accepts a chain of blocks spanning one line' do
|
60
60
|
inspect_source(cop, ['a { b }.c { d }',
|
61
61
|
'w do x end.y do z end'])
|
62
|
-
expect(cop.
|
62
|
+
expect(cop.offenses).to be_empty
|
63
63
|
end
|
64
64
|
|
65
65
|
it 'accepts a multi-line block chained with calls on one line' do
|
66
66
|
inspect_source(cop, ['a do',
|
67
67
|
' b',
|
68
68
|
'end.c.d'])
|
69
|
-
expect(cop.
|
69
|
+
expect(cop.offenses).to be_empty
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'accepts a chain of calls followed by a multi-line block' do
|
73
73
|
inspect_source(cop, ['a1.a2.a3 do',
|
74
74
|
' b',
|
75
75
|
'end'])
|
76
|
-
expect(cop.
|
76
|
+
expect(cop.offenses).to be_empty
|
77
77
|
end
|
78
78
|
end
|
@@ -7,7 +7,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
7
7
|
|
8
8
|
# if
|
9
9
|
|
10
|
-
it 'registers an
|
10
|
+
it 'registers an offense for then in multiline if' do
|
11
11
|
inspect_source(cop, ['if cond then',
|
12
12
|
'end',
|
13
13
|
"if cond then\t",
|
@@ -19,13 +19,13 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
19
19
|
'end',
|
20
20
|
'if cond then # bad',
|
21
21
|
'end'])
|
22
|
-
expect(cop.
|
22
|
+
expect(cop.offenses.map(&:line)).to eq([1, 3, 5, 7, 10])
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'accepts multiline if without then' do
|
26
26
|
inspect_source(cop, ['if cond',
|
27
27
|
'end'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'accepts table style if/then/elsif/ends' do
|
@@ -35,7 +35,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
35
35
|
'elsif @io == $stderr then str << "$stderr"',
|
36
36
|
'else str << @io.class.to_s',
|
37
37
|
'end'])
|
38
|
-
expect(cop.
|
38
|
+
expect(cop.offenses).to be_empty
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'does not get confused by a then in a when' do
|
@@ -45,7 +45,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
45
45
|
' when c then',
|
46
46
|
' end',
|
47
47
|
'end'])
|
48
|
-
expect(cop.
|
48
|
+
expect(cop.offenses).to be_empty
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'does not get confused by a commented-out then' do
|
@@ -55,7 +55,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
55
55
|
'end',
|
56
56
|
'if c # then',
|
57
57
|
'end'])
|
58
|
-
expect(cop.
|
58
|
+
expect(cop.offenses).to be_empty
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'does not raise an error for an implicit match if' do
|
@@ -68,7 +68,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
68
68
|
|
69
69
|
# unless
|
70
70
|
|
71
|
-
it 'registers an
|
71
|
+
it 'registers an offense for then in multiline unless' do
|
72
72
|
inspect_source(cop, ['unless cond then',
|
73
73
|
'end'])
|
74
74
|
expect(cop.messages).to eq(
|
@@ -78,14 +78,14 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
78
78
|
it 'accepts multiline unless without then' do
|
79
79
|
inspect_source(cop, ['unless cond',
|
80
80
|
'end'])
|
81
|
-
expect(cop.
|
81
|
+
expect(cop.offenses).to be_empty
|
82
82
|
end
|
83
83
|
|
84
84
|
it 'does not get confused by a postfix unless' do
|
85
85
|
inspect_source(cop,
|
86
86
|
['two unless one'
|
87
87
|
])
|
88
|
-
expect(cop.
|
88
|
+
expect(cop.offenses).to be_empty
|
89
89
|
end
|
90
90
|
|
91
91
|
it 'does not get confused by a nested postfix unless' do
|
@@ -94,7 +94,7 @@ describe Rubocop::Cop::Style::MultilineIfThen do
|
|
94
94
|
' puts 1',
|
95
95
|
'end unless two'
|
96
96
|
])
|
97
|
-
expect(cop.
|
97
|
+
expect(cop.offenses).to be_empty
|
98
98
|
end
|
99
99
|
|
100
100
|
it 'does not raise an error for an implicit match unless' do
|
@@ -5,14 +5,14 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::MultilineTernaryOperator do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers
|
8
|
+
it 'registers offense for a multiline ternary operator expression' do
|
9
9
|
inspect_source(cop, ['a = cond ?',
|
10
10
|
' b : c'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'accepts a single line ternary operator expression' do
|
15
15
|
inspect_source(cop, ['a = cond ? b : c'])
|
16
|
-
expect(cop.
|
16
|
+
expect(cop.offenses).to be_empty
|
17
17
|
end
|
18
18
|
end
|
@@ -5,9 +5,9 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::NestedTernaryOperator do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for a nested ternary operator expression' do
|
9
9
|
inspect_source(cop, ['a ? (b ? b1 : b2) : a2'])
|
10
|
-
expect(cop.
|
10
|
+
expect(cop.offenses.size).to eq(1)
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'accepts a non-nested ternary operator within an if' do
|
@@ -16,6 +16,6 @@ describe Rubocop::Cop::Style::NestedTernaryOperator do
|
|
16
16
|
'else',
|
17
17
|
' d',
|
18
18
|
'end'])
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses).to be_empty
|
20
20
|
end
|
21
21
|
end
|
@@ -5,26 +5,26 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::NilComparison do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for == nil' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['x == nil'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
12
|
end
|
13
13
|
|
14
|
-
it 'registers an
|
14
|
+
it 'registers an offense for === nil' do
|
15
15
|
inspect_source(cop,
|
16
16
|
['x === nil'])
|
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 === nil' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['x != nil'])
|
23
|
-
expect(cop.
|
23
|
+
expect(cop.offenses.size).to eq(1)
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'works with lambda.()' do
|
27
27
|
inspect_source(cop, ['a.(x) == nil'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses.size).to eq(1)
|
29
29
|
end
|
30
30
|
end
|
@@ -5,18 +5,13 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::Not do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
9
|
-
inspect_source(cop,
|
10
|
-
expect(cop.
|
8
|
+
it 'registers an offense for not' do
|
9
|
+
inspect_source(cop, 'not test')
|
10
|
+
expect(cop.offenses.size).to eq(1)
|
11
11
|
end
|
12
12
|
|
13
|
-
it 'does not register an
|
14
|
-
inspect_source(cop,
|
15
|
-
expect(cop.
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'does not register an offence for :not' do
|
19
|
-
inspect_source(cop, ['[:not, :if, :else]'])
|
20
|
-
expect(cop.offences).to be_empty
|
13
|
+
it 'does not register an offense for !' do
|
14
|
+
inspect_source(cop, '!test')
|
15
|
+
expect(cop.offenses).to be_empty
|
21
16
|
end
|
22
17
|
end
|
@@ -6,16 +6,16 @@ describe Rubocop::Cop::Style::NumericLiterals, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
let(:cop_config) { { 'MinDigits' => 5 } }
|
8
8
|
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for a long integer without underscores' do
|
10
10
|
inspect_source(cop, ['a = 123456'])
|
11
|
-
expect(cop.
|
12
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(1)
|
12
|
+
expect(cop.config_to_allow_offenses).to eq('MinDigits' => 6)
|
13
13
|
end
|
14
14
|
|
15
|
-
it 'registers an
|
15
|
+
it 'registers an offense for an integer with misplaced underscore' do
|
16
16
|
inspect_source(cop, ['a = 123_456_78_90_00'])
|
17
|
-
expect(cop.
|
18
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
18
|
+
expect(cop.config_to_allow_offenses).to eq('Enabled' => false)
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'accepts long numbers with underscore' do
|
@@ -44,10 +44,10 @@ describe Rubocop::Cop::Style::NumericLiterals, :config do
|
|
44
44
|
inspect_source(cop, ['a = 0b1010101010101',
|
45
45
|
'b = 01717171717171',
|
46
46
|
'c = 0xab11111111bb'])
|
47
|
-
expect(cop.
|
47
|
+
expect(cop.offenses).to be_empty
|
48
48
|
end
|
49
49
|
|
50
|
-
it 'autocorrects a long integer
|
50
|
+
it 'autocorrects a long integer offense' do
|
51
51
|
corrected = autocorrect_source(cop, ['a = 123456'])
|
52
52
|
expect(corrected).to eq 'a = 123_456'
|
53
53
|
end
|