rubocop 0.29.1 → 0.30.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/CHANGELOG.md +73 -1
- data/README.md +11 -2
- data/config/default.yml +194 -6
- data/config/disabled.yml +25 -1
- data/config/enabled.yml +74 -12
- data/lib/rubocop.rb +19 -2
- data/lib/rubocop/config.rb +23 -3
- data/lib/rubocop/config_loader.rb +9 -1
- data/lib/rubocop/cop/autocorrect_logic.rb +26 -0
- data/lib/rubocop/cop/cop.rb +33 -17
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +16 -4
- data/lib/rubocop/cop/lint/block_alignment.rb +5 -14
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +61 -0
- data/lib/rubocop/cop/lint/void.rb +11 -3
- data/lib/rubocop/cop/mixin/on_normal_if_unless.rb +17 -0
- data/lib/rubocop/cop/performance/detect.rb +72 -0
- data/lib/rubocop/cop/performance/flat_map.rb +64 -0
- data/lib/rubocop/cop/performance/reverse_each.rb +43 -0
- data/lib/rubocop/cop/performance/sample.rb +58 -0
- data/lib/rubocop/cop/performance/size.rb +64 -0
- data/lib/rubocop/cop/rails/date.rb +121 -0
- data/lib/rubocop/cop/rails/find_by.rb +52 -0
- data/lib/rubocop/cop/rails/find_each.rb +41 -0
- data/lib/rubocop/cop/rails/time_zone.rb +93 -0
- data/lib/rubocop/cop/style/auto_resource_cleanup.rb +45 -0
- data/lib/rubocop/cop/style/block_delimiters.rb +186 -0
- data/lib/rubocop/cop/style/closing_parenthesis_indentation.rb +76 -0
- data/lib/rubocop/cop/style/command_literal.rb +120 -0
- data/lib/rubocop/cop/style/copyright.rb +87 -0
- data/lib/rubocop/cop/style/documentation.rb +32 -0
- data/lib/rubocop/cop/style/empty_else.rb +85 -16
- data/lib/rubocop/cop/style/encoding.rb +14 -2
- data/lib/rubocop/cop/style/end_of_line.rb +5 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +86 -23
- data/lib/rubocop/cop/style/if_unless_modifier.rb +15 -0
- data/lib/rubocop/cop/style/indentation_consistency.rb +13 -6
- data/lib/rubocop/cop/style/indentation_width.rb +34 -10
- data/lib/rubocop/cop/style/lambda.rb +32 -17
- data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -0
- data/lib/rubocop/cop/style/missing_else.rb +72 -0
- data/lib/rubocop/cop/style/regexp_literal.rb +89 -58
- data/lib/rubocop/cop/style/space_around_operators.rb +13 -2
- data/lib/rubocop/cop/style/space_before_block_braces.rb +3 -3
- data/lib/rubocop/cop/style/space_inside_block_braces.rb +9 -5
- data/lib/rubocop/cop/style/symbol_literal.rb +36 -0
- data/lib/rubocop/cop/style/trailing_blank_lines.rb +7 -0
- data/lib/rubocop/cop/style/trailing_comma.rb +21 -7
- data/lib/rubocop/cop/style/trivial_accessors.rb +17 -3
- data/lib/rubocop/cop/style/unneeded_capital_w.rb +4 -6
- data/lib/rubocop/cop/style/while_until_modifier.rb +10 -0
- data/lib/rubocop/cop/util.rb +24 -19
- data/lib/rubocop/cop/variable_force.rb +14 -0
- data/lib/rubocop/cop/variable_force/reference.rb +10 -4
- data/lib/rubocop/formatter/html_formatter.rb +10 -4
- data/lib/rubocop/formatter/text_util.rb +5 -7
- data/lib/rubocop/options.rb +47 -45
- data/lib/rubocop/path_util.rb +12 -8
- data/lib/rubocop/processed_source.rb +12 -1
- data/lib/rubocop/rake_task.rb +2 -2
- data/lib/rubocop/version.rb +1 -1
- data/relnotes/v0.30.0.md +145 -0
- data/rubocop.gemspec +15 -3
- metadata +22 -545
- data/.gitignore +0 -54
- data/.rspec +0 -1
- data/.rubocop.yml +0 -11
- data/.rubocop_todo.yml +0 -28
- data/.travis.yml +0 -22
- data/Gemfile +0 -15
- data/Rakefile +0 -41
- data/lib/rubocop/cop/style/blocks.rb +0 -80
- data/lib/rubocop/cop/style/unneeded_percent_x.rb +0 -25
- data/logo/rubocop-final-logo.eps +0 -0
- data/spec/.rubocop.yml +0 -5
- data/spec/fixtures/html_formatter/expected.html +0 -495
- data/spec/fixtures/html_formatter/project/app/controllers/application_controller.rb +0 -5
- data/spec/fixtures/html_formatter/project/app/controllers/books_controller.rb +0 -74
- data/spec/fixtures/html_formatter/project/app/models/book.rb +0 -5
- data/spec/isolated_environment_spec.rb +0 -24
- data/spec/project_spec.rb +0 -119
- data/spec/rubocop/cli_spec.rb +0 -2740
- data/spec/rubocop/comment_config_spec.rb +0 -105
- data/spec/rubocop/config_loader_spec.rb +0 -377
- data/spec/rubocop/config_spec.rb +0 -235
- data/spec/rubocop/config_store_spec.rb +0 -53
- data/spec/rubocop/cop/commissioner_spec.rb +0 -85
- data/spec/rubocop/cop/cop_spec.rb +0 -135
- data/spec/rubocop/cop/corrector_spec.rb +0 -59
- data/spec/rubocop/cop/force_spec.rb +0 -29
- data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +0 -113
- data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +0 -35
- data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +0 -130
- data/spec/rubocop/cop/lint/block_alignment_spec.rb +0 -533
- data/spec/rubocop/cop/lint/condition_position_spec.rb +0 -51
- data/spec/rubocop/cop/lint/debugger_spec.rb +0 -73
- data/spec/rubocop/cop/lint/def_end_alignment_spec.rb +0 -108
- data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +0 -38
- data/spec/rubocop/cop/lint/duplicate_methods_spec.rb +0 -189
- data/spec/rubocop/cop/lint/else_layout_spec.rb +0 -65
- data/spec/rubocop/cop/lint/empty_ensure_spec.rb +0 -27
- data/spec/rubocop/cop/lint/empty_interpolation_spec.rb +0 -18
- data/spec/rubocop/cop/lint/end_alignment_spec.rb +0 -91
- data/spec/rubocop/cop/lint/end_in_method_spec.rb +0 -29
- data/spec/rubocop/cop/lint/ensure_return_spec.rb +0 -39
- data/spec/rubocop/cop/lint/eval_spec.rb +0 -33
- data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +0 -30
- data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +0 -33
- data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +0 -172
- data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +0 -31
- data/spec/rubocop/cop/lint/loop_spec.rb +0 -27
- data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +0 -57
- data/spec/rubocop/cop/lint/require_parentheses_spec.rb +0 -82
- data/spec/rubocop/cop/lint/rescue_exception_spec.rb +0 -123
- data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +0 -237
- data/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +0 -66
- data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +0 -51
- data/spec/rubocop/cop/lint/syntax_spec.rb +0 -34
- data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +0 -179
- data/spec/rubocop/cop/lint/unreachable_code_spec.rb +0 -63
- data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +0 -231
- data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +0 -278
- data/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +0 -192
- data/spec/rubocop/cop/lint/useless_assignment_spec.rb +0 -1778
- data/spec/rubocop/cop/lint/useless_comparison_spec.rb +0 -30
- data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +0 -48
- data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +0 -211
- data/spec/rubocop/cop/lint/void_spec.rb +0 -64
- data/spec/rubocop/cop/metrics/abc_size_spec.rb +0 -109
- data/spec/rubocop/cop/metrics/block_nesting_spec.rb +0 -156
- data/spec/rubocop/cop/metrics/class_length_spec.rb +0 -131
- data/spec/rubocop/cop/metrics/cyclomatic_complexity_spec.rb +0 -204
- data/spec/rubocop/cop/metrics/line_length_spec.rb +0 -136
- data/spec/rubocop/cop/metrics/method_length_spec.rb +0 -147
- data/spec/rubocop/cop/metrics/parameter_lists_spec.rb +0 -44
- data/spec/rubocop/cop/metrics/perceived_complexity_spec.rb +0 -222
- data/spec/rubocop/cop/offense_spec.rb +0 -133
- data/spec/rubocop/cop/rails/action_filter_spec.rb +0 -64
- data/spec/rubocop/cop/rails/default_scope_spec.rb +0 -37
- data/spec/rubocop/cop/rails/delegate_spec.rb +0 -177
- data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +0 -13
- data/spec/rubocop/cop/rails/output_spec.rb +0 -37
- data/spec/rubocop/cop/rails/read_write_attribute_spec.rb +0 -130
- data/spec/rubocop/cop/rails/scope_args_spec.rb +0 -25
- data/spec/rubocop/cop/rails/validation_spec.rb +0 -28
- data/spec/rubocop/cop/severity_spec.rb +0 -113
- data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +0 -421
- data/spec/rubocop/cop/style/accessor_method_name_spec.rb +0 -81
- data/spec/rubocop/cop/style/alias_spec.rb +0 -59
- data/spec/rubocop/cop/style/align_array_spec.rb +0 -123
- data/spec/rubocop/cop/style/align_hash_spec.rb +0 -411
- data/spec/rubocop/cop/style/align_parameters_spec.rb +0 -431
- data/spec/rubocop/cop/style/and_or_spec.rb +0 -235
- data/spec/rubocop/cop/style/array_join_spec.rb +0 -29
- data/spec/rubocop/cop/style/ascii_comments_spec.rb +0 -21
- data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +0 -36
- data/spec/rubocop/cop/style/attr_spec.rb +0 -29
- data/spec/rubocop/cop/style/bare_percent_literals_spec.rb +0 -132
- data/spec/rubocop/cop/style/begin_block_spec.rb +0 -13
- data/spec/rubocop/cop/style/block_comments_spec.rb +0 -45
- data/spec/rubocop/cop/style/block_end_newline_spec.rb +0 -61
- data/spec/rubocop/cop/style/blocks_spec.rb +0 -121
- data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +0 -288
- data/spec/rubocop/cop/style/case_equality_spec.rb +0 -13
- data/spec/rubocop/cop/style/case_indentation_spec.rb +0 -293
- data/spec/rubocop/cop/style/character_literal_spec.rb +0 -37
- data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +0 -40
- data/spec/rubocop/cop/style/class_and_module_children_spec.rb +0 -133
- data/spec/rubocop/cop/style/class_check_spec.rb +0 -41
- data/spec/rubocop/cop/style/class_methods_spec.rb +0 -80
- data/spec/rubocop/cop/style/class_vars_spec.rb +0 -19
- data/spec/rubocop/cop/style/collection_methods_spec.rb +0 -48
- data/spec/rubocop/cop/style/colon_method_call_spec.rb +0 -65
- data/spec/rubocop/cop/style/comment_annotation_spec.rb +0 -86
- data/spec/rubocop/cop/style/comment_indentation_spec.rb +0 -179
- data/spec/rubocop/cop/style/constant_name_spec.rb +0 -65
- data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +0 -43
- data/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +0 -45
- data/spec/rubocop/cop/style/documentation_spec.rb +0 -146
- data/spec/rubocop/cop/style/dot_position_spec.rb +0 -132
- data/spec/rubocop/cop/style/double_negation_spec.rb +0 -22
- data/spec/rubocop/cop/style/each_with_object_spec.rb +0 -73
- data/spec/rubocop/cop/style/else_alignment_spec.rb +0 -506
- data/spec/rubocop/cop/style/empty_else_spec.rb +0 -100
- data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +0 -135
- data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +0 -178
- data/spec/rubocop/cop/style/empty_lines_around_block_body_spec.rb +0 -103
- data/spec/rubocop/cop/style/empty_lines_around_class_body_spec.rb +0 -135
- data/spec/rubocop/cop/style/empty_lines_around_method_body_spec.rb +0 -90
- data/spec/rubocop/cop/style/empty_lines_around_module_body_spec.rb +0 -79
- data/spec/rubocop/cop/style/empty_lines_spec.rb +0 -51
- data/spec/rubocop/cop/style/empty_literal_spec.rb +0 -117
- data/spec/rubocop/cop/style/encoding_spec.rb +0 -139
- data/spec/rubocop/cop/style/end_block_spec.rb +0 -13
- data/spec/rubocop/cop/style/end_of_line_spec.rb +0 -65
- data/spec/rubocop/cop/style/even_odd_spec.rb +0 -164
- data/spec/rubocop/cop/style/extra_spacing_spec.rb +0 -68
- data/spec/rubocop/cop/style/file_name_spec.rb +0 -84
- data/spec/rubocop/cop/style/first_parameter_indentation_spec.rb +0 -304
- data/spec/rubocop/cop/style/flip_flop_spec.rb +0 -23
- data/spec/rubocop/cop/style/for_spec.rb +0 -105
- data/spec/rubocop/cop/style/format_string_spec.rb +0 -184
- data/spec/rubocop/cop/style/global_vars_spec.rb +0 -34
- data/spec/rubocop/cop/style/guard_clause_spec.rb +0 -172
- data/spec/rubocop/cop/style/hash_syntax_spec.rb +0 -137
- data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +0 -146
- data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +0 -24
- data/spec/rubocop/cop/style/indent_array_spec.rb +0 -173
- data/spec/rubocop/cop/style/indent_hash_spec.rb +0 -367
- data/spec/rubocop/cop/style/indentation_consistency_spec.rb +0 -509
- data/spec/rubocop/cop/style/indentation_width_spec.rb +0 -885
- data/spec/rubocop/cop/style/infinite_loop_spec.rb +0 -48
- data/spec/rubocop/cop/style/inline_comment_spec.rb +0 -13
- data/spec/rubocop/cop/style/lambda_call_spec.rb +0 -65
- data/spec/rubocop/cop/style/lambda_spec.rb +0 -76
- data/spec/rubocop/cop/style/leading_comment_space_spec.rb +0 -64
- data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +0 -184
- data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +0 -59
- data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +0 -60
- data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +0 -108
- data/spec/rubocop/cop/style/method_name_spec.rb +0 -125
- data/spec/rubocop/cop/style/module_function_spec.rb +0 -24
- data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +0 -78
- data/spec/rubocop/cop/style/multiline_block_layout_spec.rb +0 -199
- data/spec/rubocop/cop/style/multiline_if_then_spec.rb +0 -134
- data/spec/rubocop/cop/style/multiline_operation_indentation_spec.rb +0 -464
- data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +0 -18
- data/spec/rubocop/cop/style/negated_if_spec.rb +0 -102
- data/spec/rubocop/cop/style/negated_while_spec.rb +0 -64
- data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +0 -21
- data/spec/rubocop/cop/style/next_spec.rb +0 -301
- data/spec/rubocop/cop/style/nil_comparison_spec.rb +0 -29
- data/spec/rubocop/cop/style/non_nil_check_spec.rb +0 -132
- data/spec/rubocop/cop/style/not_spec.rb +0 -28
- data/spec/rubocop/cop/style/numeric_literals_spec.rb +0 -80
- data/spec/rubocop/cop/style/one_line_conditional_spec.rb +0 -13
- data/spec/rubocop/cop/style/op_method_spec.rb +0 -85
- data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +0 -161
- data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +0 -316
- data/spec/rubocop/cop/style/percent_q_literals_spec.rb +0 -122
- data/spec/rubocop/cop/style/perl_backrefs_spec.rb +0 -22
- data/spec/rubocop/cop/style/predicate_name_spec.rb +0 -57
- data/spec/rubocop/cop/style/proc_spec.rb +0 -27
- data/spec/rubocop/cop/style/raise_args_spec.rb +0 -87
- data/spec/rubocop/cop/style/redundant_begin_spec.rb +0 -121
- data/spec/rubocop/cop/style/redundant_exception_spec.rb +0 -59
- data/spec/rubocop/cop/style/redundant_return_spec.rb +0 -171
- data/spec/rubocop/cop/style/redundant_self_spec.rb +0 -186
- data/spec/rubocop/cop/style/regexp_literal_spec.rb +0 -188
- data/spec/rubocop/cop/style/rescue_modifier_spec.rb +0 -116
- data/spec/rubocop/cop/style/self_assignment_spec.rb +0 -49
- data/spec/rubocop/cop/style/semicolon_spec.rb +0 -114
- data/spec/rubocop/cop/style/signal_exception_spec.rb +0 -289
- data/spec/rubocop/cop/style/single_line_block_params_spec.rb +0 -82
- data/spec/rubocop/cop/style/single_line_methods_spec.rb +0 -94
- data/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +0 -63
- data/spec/rubocop/cop/style/space_after_colon_spec.rb +0 -55
- data/spec/rubocop/cop/style/space_after_comma_spec.rb +0 -30
- data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +0 -84
- data/spec/rubocop/cop/style/space_after_method_name_spec.rb +0 -70
- data/spec/rubocop/cop/style/space_after_not_spec.rb +0 -22
- data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +0 -23
- data/spec/rubocop/cop/style/space_around_block_parameters_spec.rb +0 -155
- data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +0 -95
- data/spec/rubocop/cop/style/space_around_operators_spec.rb +0 -330
- data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +0 -73
- data/spec/rubocop/cop/style/space_before_comma_spec.rb +0 -42
- data/spec/rubocop/cop/style/space_before_comment_spec.rb +0 -34
- data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +0 -70
- data/spec/rubocop/cop/style/space_before_semicolon_spec.rb +0 -28
- data/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +0 -317
- data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +0 -83
- data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +0 -147
- data/spec/rubocop/cop/style/space_inside_parens_spec.rb +0 -44
- data/spec/rubocop/cop/style/space_inside_range_literal_spec.rb +0 -64
- data/spec/rubocop/cop/style/special_global_vars_spec.rb +0 -62
- data/spec/rubocop/cop/style/string_literals_in_interpolation_spec.rb +0 -99
- data/spec/rubocop/cop/style/string_literals_spec.rb +0 -228
- data/spec/rubocop/cop/style/struct_inheritance_spec.rb +0 -44
- data/spec/rubocop/cop/style/symbol_array_spec.rb +0 -37
- data/spec/rubocop/cop/style/symbol_proc_spec.rb +0 -100
- data/spec/rubocop/cop/style/tab_spec.rb +0 -47
- data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +0 -83
- data/spec/rubocop/cop/style/trailing_comma_spec.rb +0 -390
- data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +0 -31
- data/spec/rubocop/cop/style/trivial_accessors_spec.rb +0 -558
- data/spec/rubocop/cop/style/unless_else_spec.rb +0 -23
- data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +0 -90
- data/spec/rubocop/cop/style/unneeded_percent_q_spec.rb +0 -127
- data/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +0 -34
- data/spec/rubocop/cop/style/variable_interpolation_spec.rb +0 -76
- data/spec/rubocop/cop/style/variable_name_spec.rb +0 -107
- data/spec/rubocop/cop/style/when_then_spec.rb +0 -42
- data/spec/rubocop/cop/style/while_until_do_spec.rb +0 -55
- data/spec/rubocop/cop/style/while_until_modifier_spec.rb +0 -93
- data/spec/rubocop/cop/style/word_array_spec.rb +0 -117
- data/spec/rubocop/cop/team_spec.rb +0 -190
- data/spec/rubocop/cop/util_spec.rb +0 -102
- data/spec/rubocop/cop/variable_force/assignment_spec.rb +0 -200
- data/spec/rubocop/cop/variable_force/locatable_spec.rb +0 -699
- data/spec/rubocop/cop/variable_force/reference_spec.rb +0 -19
- data/spec/rubocop/cop/variable_force/scope_spec.rb +0 -319
- data/spec/rubocop/cop/variable_force/variable_spec.rb +0 -59
- data/spec/rubocop/cop/variable_force/variable_table_spec.rb +0 -276
- data/spec/rubocop/cop/variable_force_spec.rb +0 -26
- data/spec/rubocop/formatter/base_formatter_spec.rb +0 -191
- data/spec/rubocop/formatter/clang_style_formatter_spec.rb +0 -114
- data/spec/rubocop/formatter/colorizable_spec.rb +0 -107
- data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +0 -50
- data/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +0 -67
- data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +0 -63
- data/spec/rubocop/formatter/file_list_formatter_spec.rb +0 -33
- data/spec/rubocop/formatter/formatter_set_spec.rb +0 -141
- data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +0 -129
- data/spec/rubocop/formatter/html_formatter_spec.rb +0 -48
- data/spec/rubocop/formatter/json_formatter_spec.rb +0 -152
- data/spec/rubocop/formatter/offense_count_formatter_spec.rb +0 -75
- data/spec/rubocop/formatter/progress_formatter_spec.rb +0 -182
- data/spec/rubocop/formatter/simple_text_formatter_spec.rb +0 -135
- data/spec/rubocop/formatter/text_util_spec.rb +0 -55
- data/spec/rubocop/options_spec.rb +0 -181
- data/spec/rubocop/path_util_spec.rb +0 -77
- data/spec/rubocop/processed_source_spec.rb +0 -184
- data/spec/rubocop/rake_task_spec.rb +0 -122
- data/spec/rubocop/runner_spec.rb +0 -99
- data/spec/rubocop/string_util_spec.rb +0 -46
- data/spec/rubocop/target_finder_spec.rb +0 -245
- data/spec/rubocop/token_spec.rb +0 -29
- data/spec/spec_helper.rb +0 -39
- data/spec/support/cop_helper.rb +0 -75
- data/spec/support/cops/class_must_be_a_module_cop.rb +0 -19
- data/spec/support/cops/module_must_be_a_class_cop.rb +0 -19
- data/spec/support/coverage.rb +0 -15
- data/spec/support/custom_matchers.rb +0 -58
- data/spec/support/file_helper.rb +0 -23
- data/spec/support/jruby_workaround.rb +0 -15
- data/spec/support/mri_syntax_checker.rb +0 -73
- data/spec/support/shared_contexts.rb +0 -53
- data/spec/support/shared_examples.rb +0 -55
- data/spec/support/statement_modifier_helper.rb +0 -41
@@ -1,135 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::EmptyLinesAroundClassBody, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
context 'when EnforcedStyle is no_empty_lines' do
|
9
|
-
let(:cop_config) { { 'EnforcedStyle' => 'no_empty_lines' } }
|
10
|
-
|
11
|
-
it 'registers an offense for class body starting with a blank' do
|
12
|
-
inspect_source(cop,
|
13
|
-
['class SomeClass',
|
14
|
-
'',
|
15
|
-
' do_something',
|
16
|
-
'end'])
|
17
|
-
expect(cop.messages)
|
18
|
-
.to eq(['Extra empty line detected at class body beginning.'])
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'autocorrects class body containing only a blank' do
|
22
|
-
corrected = autocorrect_source(cop,
|
23
|
-
['class SomeClass',
|
24
|
-
'',
|
25
|
-
'end'])
|
26
|
-
expect(corrected).to eq ['class SomeClass',
|
27
|
-
'end'].join("\n")
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'registers an offense for class body ending with a blank' do
|
31
|
-
inspect_source(cop,
|
32
|
-
['class SomeClass',
|
33
|
-
' do_something',
|
34
|
-
'',
|
35
|
-
'end'])
|
36
|
-
expect(cop.messages)
|
37
|
-
.to eq(['Extra empty line detected at class body end.'])
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'registers an offense for singleton class body starting with a blank' do
|
41
|
-
inspect_source(cop,
|
42
|
-
['class << self',
|
43
|
-
'',
|
44
|
-
' do_something',
|
45
|
-
'end'])
|
46
|
-
expect(cop.messages)
|
47
|
-
.to eq(['Extra empty line detected at class body beginning.'])
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'autocorrects singleton class body containing only a blank' do
|
51
|
-
corrected = autocorrect_source(cop,
|
52
|
-
['class << self',
|
53
|
-
'',
|
54
|
-
'end'])
|
55
|
-
expect(corrected).to eq ['class << self',
|
56
|
-
'end'].join("\n")
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'registers an offense for singleton class body ending with a blank' do
|
60
|
-
inspect_source(cop,
|
61
|
-
['class << self',
|
62
|
-
' do_something',
|
63
|
-
'',
|
64
|
-
'end'])
|
65
|
-
expect(cop.messages)
|
66
|
-
.to eq(['Extra empty line detected at class body end.'])
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
context 'when EnforcedStyle is empty_lines' do
|
71
|
-
let(:cop_config) { { 'EnforcedStyle' => 'empty_lines' } }
|
72
|
-
|
73
|
-
it 'registers an offense for class body not starting or ending with a ' \
|
74
|
-
'blank' do
|
75
|
-
inspect_source(cop,
|
76
|
-
['class SomeClass',
|
77
|
-
' do_something',
|
78
|
-
'end'])
|
79
|
-
expect(cop.messages).to eq(['Empty line missing at class body beginning.',
|
80
|
-
'Empty line missing at class body end.'])
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'autocorrects class body containing nothing' do
|
84
|
-
corrected = autocorrect_source(cop,
|
85
|
-
['class SomeClass',
|
86
|
-
'end'])
|
87
|
-
expect(corrected).to eq ['class SomeClass',
|
88
|
-
'',
|
89
|
-
'end'].join("\n")
|
90
|
-
end
|
91
|
-
|
92
|
-
it 'autocorrects beginning and end' do
|
93
|
-
new_source = autocorrect_source(cop,
|
94
|
-
['class SomeClass',
|
95
|
-
' do_something',
|
96
|
-
'end'])
|
97
|
-
expect(new_source).to eq(['class SomeClass',
|
98
|
-
'',
|
99
|
-
' do_something',
|
100
|
-
'',
|
101
|
-
'end'].join("\n"))
|
102
|
-
end
|
103
|
-
|
104
|
-
it 'registers an offense for singleton class body not starting or ending ' \
|
105
|
-
'with a blank' do
|
106
|
-
inspect_source(cop,
|
107
|
-
['class << self',
|
108
|
-
' do_something',
|
109
|
-
'end'])
|
110
|
-
expect(cop.messages).to eq(['Empty line missing at class body beginning.',
|
111
|
-
'Empty line missing at class body end.'])
|
112
|
-
end
|
113
|
-
|
114
|
-
it 'autocorrects singleton class body containing nothing' do
|
115
|
-
corrected = autocorrect_source(cop,
|
116
|
-
['class << self',
|
117
|
-
'end'])
|
118
|
-
expect(corrected).to eq ['class << self',
|
119
|
-
'',
|
120
|
-
'end'].join("\n")
|
121
|
-
end
|
122
|
-
|
123
|
-
it 'autocorrects beginning and end' do
|
124
|
-
new_source = autocorrect_source(cop,
|
125
|
-
['class << self',
|
126
|
-
' do_something',
|
127
|
-
'end'])
|
128
|
-
expect(new_source).to eq(['class << self',
|
129
|
-
'',
|
130
|
-
' do_something',
|
131
|
-
'',
|
132
|
-
'end'].join("\n"))
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
@@ -1,90 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::EmptyLinesAroundMethodBody do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'registers an offense for method body starting with a blank' do
|
9
|
-
inspect_source(cop,
|
10
|
-
['def some_method',
|
11
|
-
'',
|
12
|
-
' do_something',
|
13
|
-
'end'])
|
14
|
-
expect(cop.messages)
|
15
|
-
.to eq(['Extra empty line detected at method body beginning.'])
|
16
|
-
end
|
17
|
-
|
18
|
-
# The cop only registers an offense if the extra line is completely empty. If
|
19
|
-
# there is trailing whitespace, then that must be dealt with first. Having
|
20
|
-
# two cops registering offense for the line with only spaces would cause
|
21
|
-
# havoc in auto-correction.
|
22
|
-
it 'accepts method body starting with a line with spaces' do
|
23
|
-
inspect_source(cop,
|
24
|
-
['def some_method',
|
25
|
-
' ',
|
26
|
-
' do_something',
|
27
|
-
'end'])
|
28
|
-
expect(cop.offenses).to be_empty
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'autocorrects method body starting with a blank' do
|
32
|
-
corrected = autocorrect_source(cop,
|
33
|
-
['def some_method',
|
34
|
-
'',
|
35
|
-
' do_something',
|
36
|
-
'end'])
|
37
|
-
expect(corrected).to eq ['def some_method',
|
38
|
-
' do_something',
|
39
|
-
'end'].join("\n")
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'registers an offense for class method body starting with a blank' do
|
43
|
-
inspect_source(cop,
|
44
|
-
['def Test.some_method',
|
45
|
-
'',
|
46
|
-
' do_something',
|
47
|
-
'end'])
|
48
|
-
expect(cop.messages)
|
49
|
-
.to eq(['Extra empty line detected at method body beginning.'])
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'autocorrects class method body starting with a blank' do
|
53
|
-
corrected = autocorrect_source(cop,
|
54
|
-
['def Test.some_method',
|
55
|
-
'',
|
56
|
-
' do_something',
|
57
|
-
'end'])
|
58
|
-
expect(corrected).to eq ['def Test.some_method',
|
59
|
-
' do_something',
|
60
|
-
'end'].join("\n")
|
61
|
-
end
|
62
|
-
|
63
|
-
it 'registers an offense for method body ending with a blank' do
|
64
|
-
inspect_source(cop,
|
65
|
-
['def some_method',
|
66
|
-
' do_something',
|
67
|
-
'',
|
68
|
-
'end'])
|
69
|
-
expect(cop.messages)
|
70
|
-
.to eq(['Extra empty line detected at method body end.'])
|
71
|
-
end
|
72
|
-
|
73
|
-
it 'registers an offense for class method body ending with a blank' do
|
74
|
-
inspect_source(cop,
|
75
|
-
['def Test.some_method',
|
76
|
-
' do_something',
|
77
|
-
'',
|
78
|
-
'end'])
|
79
|
-
expect(cop.messages)
|
80
|
-
.to eq(['Extra empty line detected at method body end.'])
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'is not fooled by single line methods' do
|
84
|
-
inspect_source(cop,
|
85
|
-
['def some_method; do_something; end',
|
86
|
-
'',
|
87
|
-
'something_else'])
|
88
|
-
expect(cop.offenses).to be_empty
|
89
|
-
end
|
90
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::EmptyLinesAroundModuleBody, :config do
|
6
|
-
subject(:cop) { described_class.new(config) }
|
7
|
-
|
8
|
-
context 'when EnforcedStyle is no_empty_lines' do
|
9
|
-
let(:cop_config) { { 'EnforcedStyle' => 'no_empty_lines' } }
|
10
|
-
|
11
|
-
it 'registers an offense for module body starting with a blank' do
|
12
|
-
inspect_source(cop,
|
13
|
-
['module SomeModule',
|
14
|
-
'',
|
15
|
-
' do_something',
|
16
|
-
'end'])
|
17
|
-
expect(cop.messages)
|
18
|
-
.to eq(['Extra empty line detected at module body beginning.'])
|
19
|
-
end
|
20
|
-
|
21
|
-
it 'registers an offense for module body ending with a blank' do
|
22
|
-
inspect_source(cop,
|
23
|
-
['module SomeModule',
|
24
|
-
' do_something',
|
25
|
-
'',
|
26
|
-
'end'])
|
27
|
-
expect(cop.messages)
|
28
|
-
.to eq(['Extra empty line detected at module body end.'])
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'autocorrects beginning and end' do
|
32
|
-
new_source = autocorrect_source(cop,
|
33
|
-
['module SomeModule',
|
34
|
-
'',
|
35
|
-
' do_something',
|
36
|
-
'',
|
37
|
-
'end'])
|
38
|
-
expect(new_source).to eq(['module SomeModule',
|
39
|
-
' do_something',
|
40
|
-
'end'].join("\n"))
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
context 'when EnforcedStyle is empty_lines' do
|
45
|
-
let(:cop_config) { { 'EnforcedStyle' => 'empty_lines' } }
|
46
|
-
|
47
|
-
it 'registers an offense for module body not starting or ending with a ' \
|
48
|
-
'blank' do
|
49
|
-
inspect_source(cop,
|
50
|
-
['module SomeModule',
|
51
|
-
' do_something',
|
52
|
-
'end'])
|
53
|
-
expect(cop.messages)
|
54
|
-
.to eq(['Empty line missing at module body beginning.',
|
55
|
-
'Empty line missing at module body end.'])
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'registers an offense for module body not ending with a blank' do
|
59
|
-
inspect_source(cop,
|
60
|
-
['module SomeModule',
|
61
|
-
'',
|
62
|
-
' do_something',
|
63
|
-
'end'])
|
64
|
-
expect(cop.messages).to eq(['Empty line missing at module body end.'])
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'autocorrects beginning and end' do
|
68
|
-
new_source = autocorrect_source(cop,
|
69
|
-
['module SomeModule',
|
70
|
-
' do_something',
|
71
|
-
'end'])
|
72
|
-
expect(new_source).to eq(['module SomeModule',
|
73
|
-
'',
|
74
|
-
' do_something',
|
75
|
-
'',
|
76
|
-
'end'].join("\n"))
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::EmptyLines do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
it 'registers an offense for consecutive empty lines' do
|
9
|
-
inspect_source(cop,
|
10
|
-
['test = 5', '', '', '', 'top'])
|
11
|
-
expect(cop.offenses.size).to eq(2)
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'auto-corrects consecutive empty lines' do
|
15
|
-
corrected = autocorrect_source(cop,
|
16
|
-
['test = 5', '', '', '', 'top'])
|
17
|
-
expect(corrected).to eq ['test = 5', '', 'top'].join("\n")
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'works when there are no tokens' do
|
21
|
-
inspect_source(cop,
|
22
|
-
'#comment')
|
23
|
-
expect(cop.offenses).to be_empty
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'handles comments' do
|
27
|
-
inspect_source(cop,
|
28
|
-
['test', '', '#comment', 'top'])
|
29
|
-
expect(cop.offenses).to be_empty
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'does not register an offense for empty lines in a string' do
|
33
|
-
inspect_source(cop, 'result = "test
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
string"')
|
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
|
50
|
-
end
|
51
|
-
end
|
@@ -1,117 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe RuboCop::Cop::Style::EmptyLiteral do
|
6
|
-
subject(:cop) { described_class.new }
|
7
|
-
|
8
|
-
describe 'Empty Array' do
|
9
|
-
it 'registers an offense for Array.new()' do
|
10
|
-
inspect_source(cop,
|
11
|
-
'test = Array.new()')
|
12
|
-
expect(cop.offenses.size).to eq(1)
|
13
|
-
expect(cop.messages)
|
14
|
-
.to eq(['Use array literal `[]` instead of `Array.new`.'])
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'registers an offense for Array.new' do
|
18
|
-
inspect_source(cop,
|
19
|
-
'test = Array.new')
|
20
|
-
expect(cop.offenses.size).to eq(1)
|
21
|
-
expect(cop.messages)
|
22
|
-
.to eq(['Use array literal `[]` instead of `Array.new`.'])
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'does not register an offense for Array.new(3)' do
|
26
|
-
inspect_source(cop,
|
27
|
-
'test = Array.new(3)')
|
28
|
-
expect(cop.offenses).to be_empty
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'auto-corrects Array.new to []' do
|
32
|
-
new_source = autocorrect_source(cop, 'test = Array.new')
|
33
|
-
expect(new_source).to eq('test = []')
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe 'Empty Hash' do
|
38
|
-
it 'registers an offense for Hash.new()' do
|
39
|
-
inspect_source(cop,
|
40
|
-
'test = Hash.new()')
|
41
|
-
expect(cop.offenses.size).to eq(1)
|
42
|
-
expect(cop.messages)
|
43
|
-
.to eq(['Use hash literal `{}` instead of `Hash.new`.'])
|
44
|
-
end
|
45
|
-
|
46
|
-
it 'registers an offense for Hash.new' do
|
47
|
-
inspect_source(cop,
|
48
|
-
'test = Hash.new')
|
49
|
-
expect(cop.offenses.size).to eq(1)
|
50
|
-
expect(cop.messages)
|
51
|
-
.to eq(['Use hash literal `{}` instead of `Hash.new`.'])
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'does not register an offense for Hash.new(3)' do
|
55
|
-
inspect_source(cop,
|
56
|
-
'test = Hash.new(3)')
|
57
|
-
expect(cop.offenses).to be_empty
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'does not register an offense for Hash.new { block }' do
|
61
|
-
inspect_source(cop,
|
62
|
-
'test = Hash.new { block }')
|
63
|
-
expect(cop.offenses).to be_empty
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'auto-corrects Hash.new to {}' do
|
67
|
-
new_source = autocorrect_source(cop, 'Hash.new')
|
68
|
-
expect(new_source).to eq('{}')
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'auto-corrects Hash.new to {} in various contexts' do
|
72
|
-
new_source =
|
73
|
-
autocorrect_source(cop, ['test = Hash.new',
|
74
|
-
'Hash.new.merge("a" => 3)',
|
75
|
-
'yadayada.map { a }.reduce(Hash.new, :merge)'])
|
76
|
-
expect(new_source)
|
77
|
-
.to eq(['test = {}',
|
78
|
-
'{}.merge("a" => 3)',
|
79
|
-
'yadayada.map { a }.reduce({}, :merge)'].join("\n"))
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'does not auto-correct Hash.new to {} if changing code meaning' do
|
83
|
-
source = 'yadayada.map { a }.reduce Hash.new, :merge'
|
84
|
-
new_source = autocorrect_source(cop, source)
|
85
|
-
expect(new_source).to eq(source)
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
describe 'Empty String' do
|
90
|
-
it 'registers an offense for String.new()' do
|
91
|
-
inspect_source(cop,
|
92
|
-
'test = String.new()')
|
93
|
-
expect(cop.offenses.size).to eq(1)
|
94
|
-
expect(cop.messages)
|
95
|
-
.to eq(["Use string literal `''` instead of `String.new`."])
|
96
|
-
end
|
97
|
-
|
98
|
-
it 'registers an offense for String.new' do
|
99
|
-
inspect_source(cop,
|
100
|
-
'test = String.new')
|
101
|
-
expect(cop.offenses.size).to eq(1)
|
102
|
-
expect(cop.messages)
|
103
|
-
.to eq(["Use string literal `''` instead of `String.new`."])
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'does not register an offense for String.new("top")' do
|
107
|
-
inspect_source(cop,
|
108
|
-
'test = String.new("top")')
|
109
|
-
expect(cop.offenses).to be_empty
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'auto-corrects String.new to empty string literal' do
|
113
|
-
new_source = autocorrect_source(cop, 'test = String.new')
|
114
|
-
expect(new_source).to eq("test = ''")
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|