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
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Rubocop::Cop::Style::DoubleNegation do
|
6
|
+
subject(:cop) { described_class.new }
|
7
|
+
|
8
|
+
it 'registers an offense for !!' do
|
9
|
+
inspect_source(cop, '!!test.something')
|
10
|
+
expect(cop.offenses.size).to eq(1)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'does not register an offense for !' do
|
14
|
+
inspect_source(cop, '!test.something')
|
15
|
+
expect(cop.offenses).to be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'does not register an offense for not not' do
|
19
|
+
inspect_source(cop, 'not not test.something')
|
20
|
+
expect(cop.offenses).to be_empty
|
21
|
+
end
|
22
|
+
end
|
@@ -6,7 +6,7 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
6
6
|
subject(:cop) { described_class.new(config) }
|
7
7
|
let(:cop_config) { { 'AllowAdjacentOneLineDefs' => false } }
|
8
8
|
|
9
|
-
it 'finds
|
9
|
+
it 'finds offenses in inner classes' do
|
10
10
|
source = ['class K',
|
11
11
|
' def m',
|
12
12
|
' end',
|
@@ -21,8 +21,8 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
21
21
|
' end',
|
22
22
|
'end']
|
23
23
|
inspect_source(cop, source)
|
24
|
-
expect(cop.
|
25
|
-
expect(cop.
|
24
|
+
expect(cop.offenses.size).to eq(1)
|
25
|
+
expect(cop.offenses.map(&:line).sort).to eq([7])
|
26
26
|
end
|
27
27
|
|
28
28
|
# Only one def, so rule about empty line *between* defs does not
|
@@ -32,7 +32,7 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
32
32
|
'def m',
|
33
33
|
'end']
|
34
34
|
inspect_source(cop, source)
|
35
|
-
expect(cop.
|
35
|
+
expect(cop.offenses).to be_empty
|
36
36
|
end
|
37
37
|
|
38
38
|
# Only one def, so rule about empty line *between* defs does not
|
@@ -43,7 +43,7 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
43
43
|
' def m',
|
44
44
|
' end']
|
45
45
|
inspect_source(cop, source)
|
46
|
-
expect(cop.
|
46
|
+
expect(cop.offenses).to be_empty
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'accepts the first def without leading empty line in a class' do
|
@@ -52,7 +52,7 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
52
52
|
' end',
|
53
53
|
'end']
|
54
54
|
inspect_source(cop, source)
|
55
|
-
expect(cop.
|
55
|
+
expect(cop.offenses).to be_empty
|
56
56
|
end
|
57
57
|
|
58
58
|
it 'accepts a def that follows an empty line and then a comment' do
|
@@ -68,7 +68,7 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
68
68
|
'end'
|
69
69
|
]
|
70
70
|
inspect_source(cop, source)
|
71
|
-
expect(cop.
|
71
|
+
expect(cop.offenses).to be_empty
|
72
72
|
end
|
73
73
|
|
74
74
|
it 'accepts a def that is the first of a module' do
|
@@ -95,11 +95,19 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
95
95
|
expect(cop.messages).to be_empty
|
96
96
|
end
|
97
97
|
|
98
|
-
it 'registers an
|
98
|
+
it 'registers an offense for adjacent one-liners by default' do
|
99
99
|
source = ['def a; end',
|
100
100
|
'def b; end']
|
101
101
|
inspect_source(cop, source)
|
102
|
-
expect(cop.
|
102
|
+
expect(cop.offenses.size).to eq(1)
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'auto-corrects adjacent one-liners by default' do
|
106
|
+
corrected = autocorrect_source(cop, [' def a; end',
|
107
|
+
' def b; end'])
|
108
|
+
expect(corrected).to eq([' def a; end',
|
109
|
+
'',
|
110
|
+
' def b; end'].join("\n"))
|
103
111
|
end
|
104
112
|
|
105
113
|
context 'when AllowAdjacentOneLineDefs is enabled' do
|
@@ -109,19 +117,19 @@ describe Rubocop::Cop::Style::EmptyLineBetweenDefs, :config do
|
|
109
117
|
source = ['def a; end',
|
110
118
|
'def b; end']
|
111
119
|
inspect_source(cop, source)
|
112
|
-
expect(cop.
|
120
|
+
expect(cop.offenses).to be_empty
|
113
121
|
end
|
114
122
|
|
115
|
-
it 'registers an
|
123
|
+
it 'registers an offense for adjacent defs if some are multi-line' do
|
116
124
|
source = ['def a; end',
|
117
125
|
'def b; end',
|
118
|
-
'def c', # Not a one-liner, so this is an
|
126
|
+
'def c', # Not a one-liner, so this is an offense.
|
119
127
|
'end',
|
120
|
-
# Also an
|
128
|
+
# Also an offense since previous was multi-line:
|
121
129
|
'def d; end'
|
122
130
|
]
|
123
131
|
inspect_source(cop, source)
|
124
|
-
expect(cop.
|
132
|
+
expect(cop.offenses.map(&:line)).to eq([3, 5])
|
125
133
|
end
|
126
134
|
end
|
127
135
|
end
|
@@ -14,7 +14,7 @@ describe Rubocop::Cop::Style::EmptyLinesAroundAccessModifier do
|
|
14
14
|
'',
|
15
15
|
' def test; end',
|
16
16
|
'end'])
|
17
|
-
expect(cop.
|
17
|
+
expect(cop.offenses.size).to eq(1)
|
18
18
|
expect(cop.messages)
|
19
19
|
.to eq(["Keep a blank line before and after #{access_modifier}."])
|
20
20
|
end
|
@@ -27,7 +27,7 @@ describe Rubocop::Cop::Style::EmptyLinesAroundAccessModifier do
|
|
27
27
|
" #{access_modifier}",
|
28
28
|
' def test; end',
|
29
29
|
'end'])
|
30
|
-
expect(cop.
|
30
|
+
expect(cop.offenses.size).to eq(1)
|
31
31
|
expect(cop.messages)
|
32
32
|
.to eq(["Keep a blank line before and after #{access_modifier}."])
|
33
33
|
end
|
@@ -39,7 +39,7 @@ describe Rubocop::Cop::Style::EmptyLinesAroundAccessModifier do
|
|
39
39
|
'',
|
40
40
|
' def test; end',
|
41
41
|
'end'])
|
42
|
-
expect(cop.
|
42
|
+
expect(cop.offenses).to be_empty
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'recognizes blank lines with DOS style line endings' do
|
@@ -50,7 +50,7 @@ describe Rubocop::Cop::Style::EmptyLinesAroundAccessModifier do
|
|
50
50
|
"\r",
|
51
51
|
" def test; end\r",
|
52
52
|
"end\r"])
|
53
|
-
expect(cop.
|
53
|
+
expect(cop.offenses.size).to eq(0)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -5,18 +5,18 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for method body starting with a blank' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['def some_method',
|
11
11
|
'',
|
12
12
|
' do_something',
|
13
13
|
'end'])
|
14
|
-
expect(cop.
|
14
|
+
expect(cop.offenses.size).to eq(1)
|
15
15
|
end
|
16
16
|
|
17
|
-
# The cop only registers an
|
17
|
+
# The cop only registers an offense if the extra line is completely emtpy. If
|
18
18
|
# there is trailing whitespace, then that must be dealt with first. Having
|
19
|
-
# two cops registering
|
19
|
+
# two cops registering offense for the line with only spaces would cause
|
20
20
|
# havoc in auto-correction.
|
21
21
|
it 'accepts method body starting with a line with spaces' do
|
22
22
|
inspect_source(cop,
|
@@ -24,7 +24,7 @@ describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
|
24
24
|
' ',
|
25
25
|
' do_something',
|
26
26
|
'end'])
|
27
|
-
expect(cop.
|
27
|
+
expect(cop.offenses).to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'autocorrects method body starting with a blank' do
|
@@ -38,13 +38,13 @@ describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
|
38
38
|
'end'].join("\n")
|
39
39
|
end
|
40
40
|
|
41
|
-
it 'registers an
|
41
|
+
it 'registers an offense for class method body starting with a blank' do
|
42
42
|
inspect_source(cop,
|
43
43
|
['def Test.some_method',
|
44
44
|
'',
|
45
45
|
' do_something',
|
46
46
|
'end'])
|
47
|
-
expect(cop.
|
47
|
+
expect(cop.offenses.size).to eq(1)
|
48
48
|
end
|
49
49
|
|
50
50
|
it 'autocorrects class method body starting with a blank' do
|
@@ -58,31 +58,31 @@ describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
|
58
58
|
'end'].join("\n")
|
59
59
|
end
|
60
60
|
|
61
|
-
it 'registers an
|
61
|
+
it 'registers an offense for method body ending with a blank' do
|
62
62
|
inspect_source(cop,
|
63
63
|
['def some_method',
|
64
64
|
' do_something',
|
65
65
|
'',
|
66
66
|
'end'])
|
67
|
-
expect(cop.
|
67
|
+
expect(cop.offenses.size).to eq(1)
|
68
68
|
end
|
69
69
|
|
70
|
-
it 'registers an
|
70
|
+
it 'registers an offense for class method body ending with a blank' do
|
71
71
|
inspect_source(cop,
|
72
72
|
['def Test.some_method',
|
73
73
|
' do_something',
|
74
74
|
'',
|
75
75
|
'end'])
|
76
|
-
expect(cop.
|
76
|
+
expect(cop.offenses.size).to eq(1)
|
77
77
|
end
|
78
78
|
|
79
|
-
it 'registers an
|
79
|
+
it 'registers an offense for class body starting with a blank' do
|
80
80
|
inspect_source(cop,
|
81
81
|
['class SomeClass',
|
82
82
|
'',
|
83
83
|
' do_something',
|
84
84
|
'end'])
|
85
|
-
expect(cop.
|
85
|
+
expect(cop.offenses.size).to eq(1)
|
86
86
|
end
|
87
87
|
|
88
88
|
it 'autocorrects class body containing only a blank' do
|
@@ -94,31 +94,31 @@ describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
|
94
94
|
'end'].join("\n")
|
95
95
|
end
|
96
96
|
|
97
|
-
it 'registers an
|
97
|
+
it 'registers an offense for module body starting with a blank' do
|
98
98
|
inspect_source(cop,
|
99
99
|
['module SomeModule',
|
100
100
|
'',
|
101
101
|
' do_something',
|
102
102
|
'end'])
|
103
|
-
expect(cop.
|
103
|
+
expect(cop.offenses.size).to eq(1)
|
104
104
|
end
|
105
105
|
|
106
|
-
it 'registers an
|
106
|
+
it 'registers an offense for class body ending with a blank' do
|
107
107
|
inspect_source(cop,
|
108
108
|
['class SomeClass',
|
109
109
|
' do_something',
|
110
110
|
'',
|
111
111
|
'end'])
|
112
|
-
expect(cop.
|
112
|
+
expect(cop.offenses.size).to eq(1)
|
113
113
|
end
|
114
114
|
|
115
|
-
it 'registers an
|
115
|
+
it 'registers an offense for module body ending with a blank' do
|
116
116
|
inspect_source(cop,
|
117
117
|
['module SomeModule',
|
118
118
|
' do_something',
|
119
119
|
'',
|
120
120
|
'end'])
|
121
|
-
expect(cop.
|
121
|
+
expect(cop.offenses.size).to eq(1)
|
122
122
|
end
|
123
123
|
|
124
124
|
it 'is not fooled by single line methods' do
|
@@ -126,6 +126,6 @@ describe Rubocop::Cop::Style::EmptyLinesAroundBody do
|
|
126
126
|
['def some_method; do_something; end',
|
127
127
|
'',
|
128
128
|
'something_else'])
|
129
|
-
expect(cop.
|
129
|
+
expect(cop.offenses).to be_empty
|
130
130
|
end
|
131
131
|
end
|
@@ -5,10 +5,10 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::EmptyLines do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense for consecutive empty lines' do
|
9
9
|
inspect_source(cop,
|
10
10
|
['test = 5', '', '', '', 'top'])
|
11
|
-
expect(cop.
|
11
|
+
expect(cop.offenses.size).to eq(2)
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'auto-corrects consecutive empty lines' do
|
@@ -20,21 +20,32 @@ describe Rubocop::Cop::Style::EmptyLines do
|
|
20
20
|
it 'works when there are no tokens' do
|
21
21
|
inspect_source(cop,
|
22
22
|
['#comment'])
|
23
|
-
expect(cop.
|
23
|
+
expect(cop.offenses).to be_empty
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'handles comments' do
|
27
27
|
inspect_source(cop,
|
28
28
|
['test', '', '#comment', 'top'])
|
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 empty lines in a string' do
|
33
33
|
inspect_source(cop, ['result = "test
|
34
34
|
|
35
35
|
|
36
36
|
|
37
37
|
string"'])
|
38
|
-
expect(cop.
|
38
|
+
expect(cop.offenses).to be_empty
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'does not register an offense for heredocs with empty lines inside' do
|
42
|
+
inspect_source(cop, ['str = <<-TEXT',
|
43
|
+
'line 1',
|
44
|
+
'',
|
45
|
+
'',
|
46
|
+
'line 2',
|
47
|
+
'TEXT',
|
48
|
+
'puts str'])
|
49
|
+
expect(cop.offenses).to be_empty
|
39
50
|
end
|
40
51
|
end
|
@@ -6,26 +6,26 @@ describe Rubocop::Cop::Style::EmptyLiteral do
|
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
8
|
describe 'Empty Array' do
|
9
|
-
it 'registers an
|
9
|
+
it 'registers an offense for Array.new()' do
|
10
10
|
inspect_source(cop,
|
11
11
|
['test = Array.new()'])
|
12
|
-
expect(cop.
|
12
|
+
expect(cop.offenses.size).to eq(1)
|
13
13
|
expect(cop.messages)
|
14
14
|
.to eq(['Use array literal [] instead of Array.new.'])
|
15
15
|
end
|
16
16
|
|
17
|
-
it 'registers an
|
17
|
+
it 'registers an offense for Array.new' do
|
18
18
|
inspect_source(cop,
|
19
19
|
['test = Array.new'])
|
20
|
-
expect(cop.
|
20
|
+
expect(cop.offenses.size).to eq(1)
|
21
21
|
expect(cop.messages)
|
22
22
|
.to eq(['Use array literal [] instead of Array.new.'])
|
23
23
|
end
|
24
24
|
|
25
|
-
it 'does not register an
|
25
|
+
it 'does not register an offense for Array.new(3)' do
|
26
26
|
inspect_source(cop,
|
27
27
|
['test = Array.new(3)'])
|
28
|
-
expect(cop.
|
28
|
+
expect(cop.offenses).to be_empty
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'auto-corrects Array.new to []' do
|
@@ -35,32 +35,32 @@ describe Rubocop::Cop::Style::EmptyLiteral do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
describe 'Empty Hash' do
|
38
|
-
it 'registers an
|
38
|
+
it 'registers an offense for Hash.new()' do
|
39
39
|
inspect_source(cop,
|
40
40
|
['test = Hash.new()'])
|
41
|
-
expect(cop.
|
41
|
+
expect(cop.offenses.size).to eq(1)
|
42
42
|
expect(cop.messages)
|
43
43
|
.to eq(['Use hash literal {} instead of Hash.new.'])
|
44
44
|
end
|
45
45
|
|
46
|
-
it 'registers an
|
46
|
+
it 'registers an offense for Hash.new' do
|
47
47
|
inspect_source(cop,
|
48
48
|
['test = Hash.new'])
|
49
|
-
expect(cop.
|
49
|
+
expect(cop.offenses.size).to eq(1)
|
50
50
|
expect(cop.messages)
|
51
51
|
.to eq(['Use hash literal {} instead of Hash.new.'])
|
52
52
|
end
|
53
53
|
|
54
|
-
it 'does not register an
|
54
|
+
it 'does not register an offense for Hash.new(3)' do
|
55
55
|
inspect_source(cop,
|
56
56
|
['test = Hash.new(3)'])
|
57
|
-
expect(cop.
|
57
|
+
expect(cop.offenses).to be_empty
|
58
58
|
end
|
59
59
|
|
60
|
-
it 'does not register an
|
60
|
+
it 'does not register an offense for Hash.new { block }' do
|
61
61
|
inspect_source(cop,
|
62
62
|
['test = Hash.new { block }'])
|
63
|
-
expect(cop.
|
63
|
+
expect(cop.offenses).to be_empty
|
64
64
|
end
|
65
65
|
|
66
66
|
it 'auto-corrects Hash.new to {}' do
|
@@ -70,26 +70,26 @@ describe Rubocop::Cop::Style::EmptyLiteral do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
describe 'Empty String' do
|
73
|
-
it 'registers an
|
73
|
+
it 'registers an offense for String.new()' do
|
74
74
|
inspect_source(cop,
|
75
75
|
['test = String.new()'])
|
76
|
-
expect(cop.
|
76
|
+
expect(cop.offenses.size).to eq(1)
|
77
77
|
expect(cop.messages)
|
78
78
|
.to eq(["Use string literal '' instead of String.new."])
|
79
79
|
end
|
80
80
|
|
81
|
-
it 'registers an
|
81
|
+
it 'registers an offense for String.new' do
|
82
82
|
inspect_source(cop,
|
83
83
|
['test = String.new'])
|
84
|
-
expect(cop.
|
84
|
+
expect(cop.offenses.size).to eq(1)
|
85
85
|
expect(cop.messages)
|
86
86
|
.to eq(["Use string literal '' instead of String.new."])
|
87
87
|
end
|
88
88
|
|
89
|
-
it 'does not register an
|
89
|
+
it 'does not register an offense for String.new("top")' do
|
90
90
|
inspect_source(cop,
|
91
91
|
['test = String.new("top")'])
|
92
|
-
expect(cop.
|
92
|
+
expect(cop.offenses).to be_empty
|
93
93
|
end
|
94
94
|
|
95
95
|
it 'auto-corrects String.new to empty string literal' do
|
@@ -5,7 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Rubocop::Cop::Style::Encoding do
|
6
6
|
subject(:cop) { described_class.new }
|
7
7
|
|
8
|
-
it 'registers an
|
8
|
+
it 'registers an offense when no encoding present', ruby: 1.9 do
|
9
9
|
inspect_source(cop, ['def foo() end'])
|
10
10
|
|
11
11
|
expect(cop.messages).to eq(
|
@@ -16,7 +16,7 @@ describe Rubocop::Cop::Style::Encoding do
|
|
16
16
|
inspect_source(cop, ['# encoding: utf-8',
|
17
17
|
'def foo() end'])
|
18
18
|
|
19
|
-
expect(cop.
|
19
|
+
expect(cop.offenses).to be_empty
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'accepts encoding on second line when shebang present', ruby: 1.9 do
|
@@ -27,7 +27,7 @@ describe Rubocop::Cop::Style::Encoding do
|
|
27
27
|
expect(cop.messages).to be_empty
|
28
28
|
end
|
29
29
|
|
30
|
-
it 'books an
|
30
|
+
it 'books an offense when encoding is in the wrong place', ruby: 1.9 do
|
31
31
|
inspect_source(cop, ['def foo() end',
|
32
32
|
'# encoding: utf-8'])
|
33
33
|
|
@@ -35,10 +35,10 @@ describe Rubocop::Cop::Style::Encoding do
|
|
35
35
|
['Missing utf-8 encoding comment.'])
|
36
36
|
end
|
37
37
|
|
38
|
-
it 'does not register an
|
38
|
+
it 'does not register an offense on Ruby 2.0', ruby: 2.0 do
|
39
39
|
inspect_source(cop, ['def foo() end'])
|
40
40
|
|
41
|
-
expect(cop.
|
41
|
+
expect(cop.offenses).to be_empty
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'accepts encoding inserted by magic_encoding gem', ruby: 1.9 do
|