rubocop 0.8.3 → 0.9.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 +0 -4
- data/.yardopts +2 -0
- data/CHANGELOG.md +70 -1
- data/README.md +101 -11
- data/config/default.yml +10 -2
- data/config/enabled.yml +85 -11
- data/lib/rubocop.rb +97 -73
- data/lib/rubocop/cli.rb +177 -92
- data/lib/rubocop/config.rb +56 -11
- data/lib/rubocop/config_store.rb +2 -0
- data/lib/rubocop/cop/cop.rb +52 -8
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +54 -0
- data/lib/rubocop/cop/lint/end_alignment.rb +180 -0
- data/lib/rubocop/cop/lint/end_in_method.rb +30 -0
- data/lib/rubocop/cop/lint/ensure_return.rb +22 -0
- data/lib/rubocop/cop/lint/eval.rb +22 -0
- data/lib/rubocop/cop/lint/handle_exceptions.rb +20 -0
- data/lib/rubocop/cop/lint/literal_in_condition.rb +63 -0
- data/lib/rubocop/cop/lint/loop.rb +29 -0
- data/lib/rubocop/cop/lint/rescue_exception.rb +29 -0
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +33 -0
- data/lib/rubocop/cop/lint/unreachable_code.rb +35 -0
- data/lib/rubocop/cop/lint/unused_local_variable.rb +32 -0
- data/lib/rubocop/cop/lint/void.rb +58 -0
- data/lib/rubocop/cop/offence.rb +112 -12
- data/lib/rubocop/cop/rails/validation.rb +34 -0
- data/lib/rubocop/cop/style/access_control.rb +58 -0
- data/lib/rubocop/cop/style/alias.rb +28 -0
- data/lib/rubocop/cop/style/align_parameters.rb +39 -0
- data/lib/rubocop/cop/style/and_or.rb +45 -0
- data/lib/rubocop/cop/style/ascii_comments.rb +21 -0
- data/lib/rubocop/cop/style/ascii_identifiers.rb +22 -0
- data/lib/rubocop/cop/style/attr.rb +20 -0
- data/lib/rubocop/cop/style/avoid_class_vars.rb +20 -0
- data/lib/rubocop/cop/style/avoid_for.rb +18 -0
- data/lib/rubocop/cop/style/avoid_global_vars.rb +65 -0
- data/lib/rubocop/cop/style/avoid_perl_backrefs.rb +21 -0
- data/lib/rubocop/cop/style/avoid_perlisms.rb +50 -0
- data/lib/rubocop/cop/style/begin_block.rb +18 -0
- data/lib/rubocop/cop/style/block_comments.rb +20 -0
- data/lib/rubocop/cop/style/block_nesting.rb +47 -0
- data/lib/rubocop/cop/style/blocks.rb +27 -0
- data/lib/rubocop/cop/style/case_equality.rb +22 -0
- data/lib/rubocop/cop/style/case_indentation.rb +28 -0
- data/lib/rubocop/cop/style/character_literal.rb +37 -0
- data/lib/rubocop/cop/style/class_and_module_camel_case.rb +33 -0
- data/lib/rubocop/cop/style/class_methods.rb +22 -0
- data/lib/rubocop/cop/style/collection_methods.rb +37 -0
- data/lib/rubocop/cop/style/colon_method_call.rb +29 -0
- data/lib/rubocop/cop/style/constant_name.rb +31 -0
- data/lib/rubocop/cop/style/def_parentheses.rb +70 -0
- data/lib/rubocop/cop/style/documentation.rb +58 -0
- data/lib/rubocop/cop/style/dot_position.rb +25 -0
- data/lib/rubocop/cop/style/empty_line_between_defs.rb +26 -0
- data/lib/rubocop/cop/style/empty_lines.rb +40 -0
- data/lib/rubocop/cop/style/empty_literal.rb +53 -0
- data/lib/rubocop/cop/style/encoding.rb +29 -0
- data/lib/rubocop/cop/style/end_block.rb +18 -0
- data/lib/rubocop/cop/style/end_of_line.rb +23 -0
- data/lib/rubocop/cop/style/favor_join.rb +29 -0
- data/lib/rubocop/cop/style/favor_modifier.rb +118 -0
- data/lib/rubocop/cop/style/favor_sprintf.rb +28 -0
- data/lib/rubocop/cop/style/favor_unless_over_negated_if.rb +54 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +47 -0
- data/lib/rubocop/cop/style/if_then_else.rb +80 -0
- data/lib/rubocop/cop/style/lambda.rb +47 -0
- data/lib/rubocop/cop/style/leading_comment_space.rb +25 -0
- data/lib/rubocop/cop/style/line_continuation.rb +26 -0
- data/lib/rubocop/cop/style/line_length.rb +30 -0
- data/lib/rubocop/cop/style/method_and_variable_snake_case.rb +61 -0
- data/lib/rubocop/cop/style/method_call_parentheses.rb +22 -0
- data/lib/rubocop/cop/style/method_length.rb +57 -0
- data/lib/rubocop/cop/style/not.rb +24 -0
- data/lib/rubocop/cop/style/numeric_literals.rb +25 -0
- data/lib/rubocop/cop/{op_method.rb → style/op_method.rb} +4 -3
- data/lib/rubocop/cop/style/parameter_lists.rb +42 -0
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +42 -0
- data/lib/rubocop/cop/style/proc.rb +30 -0
- data/lib/rubocop/cop/style/reduce_arguments.rb +34 -0
- data/lib/rubocop/cop/style/regexp_literal.rb +39 -0
- data/lib/rubocop/cop/style/rescue_modifier.rb +55 -0
- data/lib/rubocop/cop/style/semicolon.rb +51 -0
- data/lib/rubocop/cop/style/single_line_methods.rb +48 -0
- data/lib/rubocop/cop/style/space_after_comma_etc.rb +69 -0
- data/lib/rubocop/cop/style/space_after_control_keyword.rb +32 -0
- data/lib/rubocop/cop/style/string_literals.rb +36 -0
- data/lib/rubocop/cop/style/surrounding_space.rb +314 -0
- data/lib/rubocop/cop/style/symbol_array.rb +31 -0
- data/lib/rubocop/cop/style/symbol_name.rb +27 -0
- data/lib/rubocop/cop/style/tab.rb +25 -0
- data/lib/rubocop/cop/style/ternary_operator.rb +49 -0
- data/lib/rubocop/cop/style/trailing_whitespace.rb +24 -0
- data/lib/rubocop/cop/style/trivial_accessors.rb +32 -0
- data/lib/rubocop/cop/style/unless_else.rb +26 -0
- data/lib/rubocop/cop/style/variable_interpolation.rb +32 -0
- data/lib/rubocop/cop/style/when_then.rb +25 -0
- data/lib/rubocop/cop/style/while_until_do.rb +45 -0
- data/lib/rubocop/cop/style/word_array.rb +44 -0
- data/lib/rubocop/cop/util.rb +1 -0
- data/lib/rubocop/cop/variable_inspector.rb +280 -0
- data/lib/rubocop/formatter/base_formatter.rb +119 -0
- data/lib/rubocop/formatter/clang_style_formatter.rb +21 -0
- data/lib/rubocop/formatter/emacs_style_formatter.rb +17 -0
- data/lib/rubocop/formatter/formatter_set.rb +77 -0
- data/lib/rubocop/formatter/json_formatter.rb +76 -0
- data/lib/rubocop/formatter/progress_formatter.rb +63 -0
- data/lib/rubocop/formatter/simple_text_formatter.rb +62 -0
- data/lib/rubocop/version.rb +15 -1
- data/rubocop.gemspec +1 -2
- data/spec/.rubocop.yml +5 -0
- data/spec/project_spec.rb +4 -7
- data/spec/rubocop/cli_spec.rb +383 -146
- data/spec/rubocop/config_spec.rb +61 -0
- data/spec/rubocop/config_store_spec.rb +2 -2
- data/spec/rubocop/cops/cop_spec.rb +14 -7
- data/spec/rubocop/cops/lint/assignment_in_condition_spec.rb +111 -0
- data/spec/rubocop/cops/lint/end_alignment_spec.rb +426 -0
- data/spec/rubocop/cops/lint/end_in_method_spec.rb +35 -0
- data/spec/rubocop/cops/lint/ensure_return_spec.rb +37 -0
- data/spec/rubocop/cops/lint/eval_spec.rb +41 -0
- data/spec/rubocop/cops/lint/handle_exceptions_spec.rb +36 -0
- data/spec/rubocop/cops/lint/literal_in_condition_spec.rb +35 -0
- data/spec/rubocop/cops/lint/loop_spec.rb +33 -0
- data/spec/rubocop/cops/lint/rescue_exception_spec.rb +127 -0
- data/spec/rubocop/cops/lint/shadowing_outer_local_variable_spec.rb +180 -0
- data/spec/rubocop/cops/lint/unreachable_code_spec.rb +69 -0
- data/spec/rubocop/cops/lint/unused_local_variable_spec.rb +484 -0
- data/spec/rubocop/cops/lint/void_spec.rb +63 -0
- data/spec/rubocop/cops/offence_spec.rb +107 -10
- data/spec/rubocop/cops/rails/validation_spec.rb +27 -0
- data/spec/rubocop/cops/style/access_control_spec.rb +142 -0
- data/spec/rubocop/cops/style/alias_spec.rb +47 -0
- data/spec/rubocop/cops/style/align_parameters_spec.rb +199 -0
- data/spec/rubocop/cops/style/and_or_spec.rb +39 -0
- data/spec/rubocop/cops/style/ascii_comments_spec.rb +28 -0
- data/spec/rubocop/cops/style/ascii_identifiers_spec.rb +28 -0
- data/spec/rubocop/cops/style/attr_spec.rb +20 -0
- data/spec/rubocop/cops/style/avoid_class_vars_spec.rb +27 -0
- data/spec/rubocop/cops/style/avoid_for_spec.rb +37 -0
- data/spec/rubocop/cops/style/avoid_global_vars_spec.rb +34 -0
- data/spec/rubocop/cops/style/avoid_perl_backrefs_spec.rb +20 -0
- data/spec/rubocop/cops/style/avoid_perlisms_spec.rb +47 -0
- data/spec/rubocop/cops/style/begin_block_spec.rb +19 -0
- data/spec/rubocop/cops/style/block_comments_spec.rb +27 -0
- data/spec/rubocop/cops/style/block_nesting_spec.rb +159 -0
- data/spec/rubocop/cops/style/blocks_spec.rb +35 -0
- data/spec/rubocop/cops/style/case_equality_spec.rb +18 -0
- data/spec/rubocop/cops/style/case_indentation_spec.rb +88 -0
- data/spec/rubocop/cops/style/character_literal_spec.rb +28 -0
- data/spec/rubocop/cops/style/class_and_module_camel_case_spec.rb +46 -0
- data/spec/rubocop/cops/style/class_methods_spec.rb +51 -0
- data/spec/rubocop/cops/style/collection_methods_spec.rb +46 -0
- data/spec/rubocop/cops/style/colon_method_call_spec.rb +55 -0
- data/spec/rubocop/cops/style/constant_name_spec.rb +56 -0
- data/spec/rubocop/cops/style/def_with_parentheses_spec.rb +40 -0
- data/spec/rubocop/cops/style/def_without_parentheses_spec.rb +34 -0
- data/spec/rubocop/cops/style/documentation_spec.rb +79 -0
- data/spec/rubocop/cops/style/dot_position_spec.rb +30 -0
- data/spec/rubocop/cops/style/empty_line_between_defs_spec.rb +85 -0
- data/spec/rubocop/cops/style/empty_lines_spec.rb +40 -0
- data/spec/rubocop/cops/style/empty_literal_spec.rb +91 -0
- data/spec/rubocop/cops/style/encoding_spec.rb +49 -0
- data/spec/rubocop/cops/style/end_block_spec.rb +19 -0
- data/spec/rubocop/cops/style/end_of_line_spec.rb +25 -0
- data/spec/rubocop/cops/style/favor_join_spec.rb +37 -0
- data/spec/rubocop/cops/style/favor_modifier_spec.rb +160 -0
- data/spec/rubocop/cops/style/favor_sprintf_spec.rb +53 -0
- data/spec/rubocop/cops/style/favor_unless_over_negated_if_spec.rb +64 -0
- data/spec/rubocop/cops/style/favor_until_over_negated_while_spec.rb +47 -0
- data/spec/rubocop/cops/style/hash_syntax_spec.rb +51 -0
- data/spec/rubocop/cops/style/if_with_semicolon_spec.rb +25 -0
- data/spec/rubocop/cops/style/lambda_spec.rb +45 -0
- data/spec/rubocop/cops/style/leading_comment_space_spec.rb +65 -0
- data/spec/rubocop/cops/style/line_continuation_spec.rb +26 -0
- data/spec/rubocop/cops/style/line_length_spec.rb +25 -0
- data/spec/rubocop/cops/style/method_and_variable_snake_case_spec.rb +95 -0
- data/spec/rubocop/cops/style/method_call_parentheses_spec.rb +25 -0
- data/spec/rubocop/cops/style/method_length_spec.rb +151 -0
- data/spec/rubocop/cops/style/multiline_if_then_spec.rb +81 -0
- data/spec/rubocop/cops/style/not_spec.rb +28 -0
- data/spec/rubocop/cops/style/numeric_literals_spec.rb +51 -0
- data/spec/rubocop/cops/style/one_line_conditional_spec.rb +18 -0
- data/spec/rubocop/cops/style/op_method_spec.rb +80 -0
- data/spec/rubocop/cops/style/parameter_lists_spec.rb +49 -0
- data/spec/rubocop/cops/style/parentheses_around_condition_spec.rb +59 -0
- data/spec/rubocop/cops/style/proc_spec.rb +28 -0
- data/spec/rubocop/cops/style/reduce_arguments_spec.rb +59 -0
- data/spec/rubocop/cops/style/regexp_literal_spec.rb +83 -0
- data/spec/rubocop/cops/style/rescue_modifier_spec.rb +122 -0
- data/spec/rubocop/cops/style/semicolon_spec.rb +95 -0
- data/spec/rubocop/cops/style/single_line_methods_spec.rb +54 -0
- data/spec/rubocop/cops/style/space_after_colon_spec.rb +29 -0
- data/spec/rubocop/cops/style/space_after_comma_spec.rb +31 -0
- data/spec/rubocop/cops/style/space_after_control_keyword_spec.rb +69 -0
- data/spec/rubocop/cops/style/space_after_semicolon_spec.rb +24 -0
- data/spec/rubocop/cops/style/space_around_braces_spec.rb +49 -0
- data/spec/rubocop/cops/style/space_around_equals_in_default_parameter_spec.rb +34 -0
- data/spec/rubocop/cops/style/space_around_operators_spec.rb +216 -0
- data/spec/rubocop/cops/style/space_inside_brackets_spec.rb +51 -0
- data/spec/rubocop/cops/style/space_inside_hash_literal_braces_spec.rb +99 -0
- data/spec/rubocop/cops/style/space_inside_parens_spec.rb +33 -0
- data/spec/rubocop/cops/style/string_literals_spec.rb +62 -0
- data/spec/rubocop/cops/style/symbol_array_spec.rb +45 -0
- data/spec/rubocop/cops/style/symbol_name_spec.rb +122 -0
- data/spec/rubocop/cops/style/tab_spec.rb +23 -0
- data/spec/rubocop/cops/style/ternary_operator_spec.rb +42 -0
- data/spec/rubocop/cops/style/trailing_whitespace_spec.rb +29 -0
- data/spec/rubocop/cops/style/trivial_accessors_spec.rb +338 -0
- data/spec/rubocop/cops/style/unless_else_spec.rb +31 -0
- data/spec/rubocop/cops/style/variable_interpolation_spec.rb +53 -0
- data/spec/rubocop/cops/style/when_then_spec.rb +40 -0
- data/spec/rubocop/cops/style/while_until_do_spec.rb +47 -0
- data/spec/rubocop/cops/style/word_array_spec.rb +61 -0
- data/spec/rubocop/cops/variable_inspector_spec.rb +374 -0
- data/spec/rubocop/formatter/base_formatter_spec.rb +190 -0
- data/spec/rubocop/formatter/clang_style_formatter_spec.rb +70 -0
- data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +32 -0
- data/spec/rubocop/formatter/formatter_set_spec.rb +132 -0
- data/spec/rubocop/formatter/json_formatter_spec.rb +142 -0
- data/spec/rubocop/formatter/progress_formatter_spec.rb +196 -0
- data/spec/rubocop/formatter/simple_text_formatter_spec.rb +74 -0
- data/spec/spec_helper.rb +23 -8
- data/spec/support/mri_syntax_checker.rb +69 -0
- data/spec/support/shared_examples.rb +33 -0
- metadata +315 -243
- data/lib/rubocop/cop/access_control.rb +0 -41
- data/lib/rubocop/cop/alias.rb +0 -17
- data/lib/rubocop/cop/align_parameters.rb +0 -37
- data/lib/rubocop/cop/and_or.rb +0 -36
- data/lib/rubocop/cop/ascii_comments.rb +0 -17
- data/lib/rubocop/cop/ascii_identifiers.rb +0 -19
- data/lib/rubocop/cop/avoid_class_vars.rb +0 -15
- data/lib/rubocop/cop/avoid_for.rb +0 -17
- data/lib/rubocop/cop/avoid_global_vars.rb +0 -61
- data/lib/rubocop/cop/avoid_perl_backrefs.rb +0 -17
- data/lib/rubocop/cop/avoid_perlisms.rb +0 -47
- data/lib/rubocop/cop/block_comments.rb +0 -17
- data/lib/rubocop/cop/block_nesting.rb +0 -35
- data/lib/rubocop/cop/blocks.rb +0 -23
- data/lib/rubocop/cop/case_indentation.rb +0 -22
- data/lib/rubocop/cop/class_and_module_camel_case.rb +0 -29
- data/lib/rubocop/cop/class_methods.rb +0 -15
- data/lib/rubocop/cop/collection_methods.rb +0 -29
- data/lib/rubocop/cop/colon_method_call.rb +0 -20
- data/lib/rubocop/cop/constant_name.rb +0 -24
- data/lib/rubocop/cop/def_parentheses.rb +0 -62
- data/lib/rubocop/cop/empty_line_between_defs.rb +0 -22
- data/lib/rubocop/cop/empty_lines.rb +0 -34
- data/lib/rubocop/cop/empty_literal.rb +0 -49
- data/lib/rubocop/cop/encoding.rb +0 -19
- data/lib/rubocop/cop/end_of_line.rb +0 -15
- data/lib/rubocop/cop/ensure_return.rb +0 -19
- data/lib/rubocop/cop/eval.rb +0 -19
- data/lib/rubocop/cop/favor_join.rb +0 -22
- data/lib/rubocop/cop/favor_modifier.rb +0 -92
- data/lib/rubocop/cop/favor_percent_r.rb +0 -19
- data/lib/rubocop/cop/favor_sprintf.rb +0 -21
- data/lib/rubocop/cop/favor_unless_over_negated_if.rb +0 -49
- data/lib/rubocop/cop/handle_exceptions.rb +0 -17
- data/lib/rubocop/cop/hash_syntax.rb +0 -41
- data/lib/rubocop/cop/if_then_else.rb +0 -75
- data/lib/rubocop/cop/lambda.rb +0 -42
- data/lib/rubocop/cop/leading_comment_space.rb +0 -19
- data/lib/rubocop/cop/line_continuation.rb +0 -15
- data/lib/rubocop/cop/line_length.rb +0 -23
- data/lib/rubocop/cop/loop.rb +0 -33
- data/lib/rubocop/cop/method_and_variable_snake_case.rb +0 -55
- data/lib/rubocop/cop/method_length.rb +0 -52
- data/lib/rubocop/cop/not.rb +0 -21
- data/lib/rubocop/cop/numeric_literals.rb +0 -21
- data/lib/rubocop/cop/parameter_lists.rb +0 -23
- data/lib/rubocop/cop/parentheses_around_condition.rb +0 -40
- data/lib/rubocop/cop/percent_r.rb +0 -19
- data/lib/rubocop/cop/proc.rb +0 -26
- data/lib/rubocop/cop/reduce_arguments.rb +0 -29
- data/lib/rubocop/cop/rescue_exception.rb +0 -26
- data/lib/rubocop/cop/rescue_modifier.rb +0 -15
- data/lib/rubocop/cop/semicolon.rb +0 -31
- data/lib/rubocop/cop/single_line_methods.rb +0 -44
- data/lib/rubocop/cop/space_after_comma_etc.rb +0 -62
- data/lib/rubocop/cop/space_after_control_keyword.rb +0 -29
- data/lib/rubocop/cop/string_literals.rb +0 -25
- data/lib/rubocop/cop/surrounding_space.rb +0 -285
- data/lib/rubocop/cop/symbol_array.rb +0 -31
- data/lib/rubocop/cop/symbol_name.rb +0 -23
- data/lib/rubocop/cop/syntax.rb +0 -49
- data/lib/rubocop/cop/tab.rb +0 -15
- data/lib/rubocop/cop/ternary_operator.rb +0 -43
- data/lib/rubocop/cop/trailing_whitespace.rb +0 -15
- data/lib/rubocop/cop/trivial_accessors.rb +0 -26
- data/lib/rubocop/cop/unless_else.rb +0 -23
- data/lib/rubocop/cop/variable_interpolation.rb +0 -29
- data/lib/rubocop/cop/when_then.rb +0 -17
- data/lib/rubocop/cop/word_array.rb +0 -37
- data/lib/rubocop/report/emacs_style.rb +0 -17
- data/lib/rubocop/report/plain_text.rb +0 -18
- data/lib/rubocop/report/report.rb +0 -44
- data/spec/rubocop/cops/access_control_spec.rb +0 -129
- data/spec/rubocop/cops/alias_spec.rb +0 -39
- data/spec/rubocop/cops/align_parameters_spec.rb +0 -197
- data/spec/rubocop/cops/and_or_spec.rb +0 -37
- data/spec/rubocop/cops/ascii_comments_spec.rb +0 -26
- data/spec/rubocop/cops/ascii_identifiers_spec.rb +0 -26
- data/spec/rubocop/cops/avoid_class_vars_spec.rb +0 -25
- data/spec/rubocop/cops/avoid_for_spec.rb +0 -35
- data/spec/rubocop/cops/avoid_global_vars_spec.rb +0 -32
- data/spec/rubocop/cops/avoid_perl_backrefs_spec.rb +0 -18
- data/spec/rubocop/cops/avoid_perlisms_spec.rb +0 -44
- data/spec/rubocop/cops/block_comments_spec.rb +0 -25
- data/spec/rubocop/cops/block_nesting_spec.rb +0 -148
- data/spec/rubocop/cops/blocks_spec.rb +0 -33
- data/spec/rubocop/cops/case_indentation_spec.rb +0 -86
- data/spec/rubocop/cops/class_and_module_camel_case_spec.rb +0 -44
- data/spec/rubocop/cops/class_methods_spec.rb +0 -49
- data/spec/rubocop/cops/collection_methods_spec.rb +0 -44
- data/spec/rubocop/cops/colon_method_call_spec.rb +0 -53
- data/spec/rubocop/cops/constant_name_spec.rb +0 -42
- data/spec/rubocop/cops/def_with_parentheses_spec.rb +0 -38
- data/spec/rubocop/cops/def_without_parentheses_spec.rb +0 -32
- data/spec/rubocop/cops/empty_line_between_defs_spec.rb +0 -83
- data/spec/rubocop/cops/empty_lines_spec.rb +0 -38
- data/spec/rubocop/cops/empty_literal_spec.rb +0 -90
- data/spec/rubocop/cops/encoding_spec.rb +0 -47
- data/spec/rubocop/cops/end_of_line_spec.rb +0 -23
- data/spec/rubocop/cops/ensure_return_spec.rb +0 -35
- data/spec/rubocop/cops/eval_spec.rb +0 -39
- data/spec/rubocop/cops/favor_join_spec.rb +0 -35
- data/spec/rubocop/cops/favor_modifier_spec.rb +0 -146
- data/spec/rubocop/cops/favor_percent_r_spec.rb +0 -29
- data/spec/rubocop/cops/favor_sprintf_spec.rb +0 -51
- data/spec/rubocop/cops/favor_unless_over_negated_if_spec.rb +0 -62
- data/spec/rubocop/cops/favor_until_over_negated_while_spec.rb +0 -45
- data/spec/rubocop/cops/handle_exceptions_spec.rb +0 -34
- data/spec/rubocop/cops/hash_syntax_spec.rb +0 -49
- data/spec/rubocop/cops/if_with_semicolon_spec.rb +0 -23
- data/spec/rubocop/cops/lambda_spec.rb +0 -43
- data/spec/rubocop/cops/leading_comment_space_spec.rb +0 -54
- data/spec/rubocop/cops/line_continuation_spec.rb +0 -24
- data/spec/rubocop/cops/line_length_spec.rb +0 -23
- data/spec/rubocop/cops/loop_spec.rb +0 -31
- data/spec/rubocop/cops/method_and_variable_snake_case_spec.rb +0 -93
- data/spec/rubocop/cops/method_length_spec.rb +0 -147
- data/spec/rubocop/cops/multiline_if_then_spec.rb +0 -79
- data/spec/rubocop/cops/not_spec.rb +0 -26
- data/spec/rubocop/cops/numeric_literals_spec.rb +0 -49
- data/spec/rubocop/cops/one_line_conditional_spec.rb +0 -16
- data/spec/rubocop/cops/op_method_spec.rb +0 -78
- data/spec/rubocop/cops/parameter_lists_spec.rb +0 -24
- data/spec/rubocop/cops/parentheses_around_condition_spec.rb +0 -61
- data/spec/rubocop/cops/percent_r_spec.rb +0 -29
- data/spec/rubocop/cops/proc_spec.rb +0 -26
- data/spec/rubocop/cops/reduce_arguments_spec.rb +0 -57
- data/spec/rubocop/cops/rescue_exception_spec.rb +0 -125
- data/spec/rubocop/cops/rescue_modifier_spec.rb +0 -37
- data/spec/rubocop/cops/semicolon_spec.rb +0 -88
- data/spec/rubocop/cops/single_line_methods_spec.rb +0 -50
- data/spec/rubocop/cops/space_after_colon_spec.rb +0 -27
- data/spec/rubocop/cops/space_after_comma_spec.rb +0 -29
- data/spec/rubocop/cops/space_after_control_keyword_spec.rb +0 -67
- data/spec/rubocop/cops/space_after_semicolon_spec.rb +0 -22
- data/spec/rubocop/cops/space_around_braces_spec.rb +0 -47
- data/spec/rubocop/cops/space_around_equals_in_default_parameter_spec.rb +0 -32
- data/spec/rubocop/cops/space_around_operators_spec.rb +0 -209
- data/spec/rubocop/cops/space_inside_brackets_spec.rb +0 -49
- data/spec/rubocop/cops/space_inside_hash_literal_braces_spec.rb +0 -86
- data/spec/rubocop/cops/space_inside_parens_spec.rb +0 -31
- data/spec/rubocop/cops/string_literals_spec.rb +0 -58
- data/spec/rubocop/cops/symbol_array_spec.rb +0 -41
- data/spec/rubocop/cops/symbol_name_spec.rb +0 -119
- data/spec/rubocop/cops/syntax_spec.rb +0 -41
- data/spec/rubocop/cops/tab_spec.rb +0 -21
- data/spec/rubocop/cops/ternary_operator_spec.rb +0 -40
- data/spec/rubocop/cops/trailing_whitespace_spec.rb +0 -27
- data/spec/rubocop/cops/trivial_accessors_spec.rb +0 -337
- data/spec/rubocop/cops/unless_else_spec.rb +0 -29
- data/spec/rubocop/cops/variable_interpolation_spec.rb +0 -49
- data/spec/rubocop/cops/when_then_spec.rb +0 -38
- data/spec/rubocop/cops/word_array_spec.rb +0 -47
- data/spec/rubocop/reports/emacs_style_spec.rb +0 -25
- data/spec/rubocop/reports/report_spec.rb +0 -29
@@ -0,0 +1,122 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe RescueModifier do
|
9
|
+
let(:rm) { RescueModifier.new }
|
10
|
+
|
11
|
+
it 'registers an offence for modifier rescue' do
|
12
|
+
inspect_source(rm,
|
13
|
+
['method rescue handle'])
|
14
|
+
expect(rm.offences.size).to eq(1)
|
15
|
+
expect(rm.offences.map(&:message))
|
16
|
+
.to eq([RescueModifier::MSG])
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'handles more complex expression with modifier rescue' do
|
20
|
+
inspect_source(rm,
|
21
|
+
['method1 or method2 rescue handle'])
|
22
|
+
expect(rm.offences.size).to eq(1)
|
23
|
+
expect(rm.offences.map(&:message))
|
24
|
+
.to eq([RescueModifier::MSG])
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'handles modifier rescue in normal rescue' do
|
28
|
+
inspect_source(rm,
|
29
|
+
['begin',
|
30
|
+
' test rescue modifier_handle',
|
31
|
+
'rescue',
|
32
|
+
' normal_handle',
|
33
|
+
'end'])
|
34
|
+
expect(rm.offences.size).to eq(1)
|
35
|
+
expect(rm.offences.first.line).to eq(2)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'does not register an offence for normal rescue' do
|
39
|
+
inspect_source(rm,
|
40
|
+
['begin',
|
41
|
+
' test',
|
42
|
+
'rescue',
|
43
|
+
' handle',
|
44
|
+
'end'])
|
45
|
+
expect(rm.offences).to be_empty
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'does not register an offence for normal rescue with ensure' do
|
49
|
+
inspect_source(rm,
|
50
|
+
['begin',
|
51
|
+
' test',
|
52
|
+
'rescue',
|
53
|
+
' handle',
|
54
|
+
'ensure',
|
55
|
+
' cleanup',
|
56
|
+
'end'])
|
57
|
+
expect(rm.offences).to be_empty
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'does not register an offence for nested normal rescue' do
|
61
|
+
inspect_source(rm,
|
62
|
+
['begin',
|
63
|
+
' begin',
|
64
|
+
' test',
|
65
|
+
' rescue',
|
66
|
+
' handle_inner',
|
67
|
+
' end',
|
68
|
+
'rescue',
|
69
|
+
' handle_outer',
|
70
|
+
'end'])
|
71
|
+
expect(rm.offences).to be_empty
|
72
|
+
end
|
73
|
+
|
74
|
+
context 'when an instance method has implicit begin' do
|
75
|
+
it 'accepts normal rescue' do
|
76
|
+
inspect_source(rm,
|
77
|
+
['def some_method',
|
78
|
+
' test',
|
79
|
+
'rescue',
|
80
|
+
' handle',
|
81
|
+
'end'])
|
82
|
+
expect(rm.offences).to be_empty
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'handles modifier rescue in body of implicit begin' do
|
86
|
+
inspect_source(rm,
|
87
|
+
['def some_method',
|
88
|
+
' test rescue modifier_handle',
|
89
|
+
'rescue',
|
90
|
+
' normal_handle',
|
91
|
+
'end'])
|
92
|
+
expect(rm.offences.size).to eq(1)
|
93
|
+
expect(rm.offences.first.line).to eq(2)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
context 'when a singleton method has implicit begin' do
|
98
|
+
it 'accepts normal rescue' do
|
99
|
+
inspect_source(rm,
|
100
|
+
['def self.some_method',
|
101
|
+
' test',
|
102
|
+
'rescue',
|
103
|
+
' handle',
|
104
|
+
'end'])
|
105
|
+
expect(rm.offences).to be_empty
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'handles modifier rescue in body of implicit begin' do
|
109
|
+
inspect_source(rm,
|
110
|
+
['def self.some_method',
|
111
|
+
' test rescue modifier_handle',
|
112
|
+
'rescue',
|
113
|
+
' normal_handle',
|
114
|
+
'end'])
|
115
|
+
expect(rm.offences.size).to eq(1)
|
116
|
+
expect(rm.offences.first.line).to eq(2)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe Semicolon do
|
9
|
+
let(:s) { Semicolon.new }
|
10
|
+
before do
|
11
|
+
Semicolon.config = {
|
12
|
+
'AllowAfterParameterListInOneLineMethods' => false,
|
13
|
+
'AllowBeforeEndInOneLineMethods' => true
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'registers an offence for a single expression' do
|
18
|
+
inspect_source(s,
|
19
|
+
['puts "this is a test";'])
|
20
|
+
expect(s.offences.size).to eq(1)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for several expressions' do
|
24
|
+
inspect_source(s,
|
25
|
+
['puts "this is a test"; puts "So is this"'])
|
26
|
+
expect(s.offences.size).to eq(1)
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'registers an offence for one line method with two statements' do
|
30
|
+
inspect_source(s,
|
31
|
+
['def foo(a) x(1); y(2); z(3); end'])
|
32
|
+
expect(s.offences.size).to eq(1)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'accepts semicolon before end if so configured' do
|
36
|
+
inspect_source(s,
|
37
|
+
['def foo(a) z(3); end'])
|
38
|
+
expect(s.offences).to be_empty
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'accepts semicolon after params if so configured' do
|
42
|
+
inspect_source(s,
|
43
|
+
['def foo(a); z(3) end'])
|
44
|
+
expect(s.offences).to be_empty
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'accepts one line method definitions' do
|
48
|
+
inspect_source(s,
|
49
|
+
['def foo1; x(3) end',
|
50
|
+
'def initialize(*_); end',
|
51
|
+
'def foo2() x(3); end',
|
52
|
+
'def foo3; x(3); end'])
|
53
|
+
expect(s.offences).to be_empty
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'accepts one line empty class definitions' do
|
57
|
+
inspect_source(s,
|
58
|
+
['# Prefer a single-line format for class ...',
|
59
|
+
'class Foo < Exception; end',
|
60
|
+
'',
|
61
|
+
'class Bar; end'])
|
62
|
+
expect(s.offences).to be_empty
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'accepts one line empty method definitions' do
|
66
|
+
inspect_source(s,
|
67
|
+
['# One exception to the rule are empty-body methods',
|
68
|
+
'def no_op; end',
|
69
|
+
'',
|
70
|
+
'def foo; end'])
|
71
|
+
expect(s.offences).to be_empty
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'accepts one line empty module definitions' do
|
75
|
+
inspect_source(s,
|
76
|
+
['module Foo; end'])
|
77
|
+
expect(s.offences).to be_empty
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'registers an offence for semicolon at the end no matter what' do
|
81
|
+
inspect_source(s,
|
82
|
+
['module Foo; end;'])
|
83
|
+
expect(s.offences.size).to eq(1)
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'accept semicolons inside strings' do
|
87
|
+
inspect_source(s,
|
88
|
+
['string = ";',
|
89
|
+
'multi-line string"'])
|
90
|
+
expect(s.offences).to be_empty
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SingleLineMethods do
|
9
|
+
let(:slm) { SingleLineMethods.new }
|
10
|
+
before do
|
11
|
+
SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => true }
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'registers an offence for a single-line method' do
|
15
|
+
inspect_source(slm,
|
16
|
+
['def some_method; body end',
|
17
|
+
'def link_to(name, url); {:name => name}; end',
|
18
|
+
'def @table.columns; super; end'])
|
19
|
+
expect(slm.offences.map(&:message)).to eq(
|
20
|
+
[SingleLineMethods::MSG] * 3)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for an empty method if so configured' do
|
24
|
+
SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => false }
|
25
|
+
inspect_source(slm, ['def no_op; end',
|
26
|
+
'def self.resource_class=(klass); end',
|
27
|
+
'def @table.columns; end'])
|
28
|
+
expect(slm.offences.size).to eq(3)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'accepts a single-line empty method if so configured' do
|
32
|
+
SingleLineMethods.config = { 'AllowIfMethodIsEmpty' => true }
|
33
|
+
inspect_source(slm, ['def no_op; end',
|
34
|
+
'def self.resource_class=(klass); end',
|
35
|
+
'def @table.columns; end'])
|
36
|
+
expect(slm.offences).to be_empty
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'accepts a multi-line method' do
|
40
|
+
inspect_source(slm, ['def some_method',
|
41
|
+
' body',
|
42
|
+
'end'])
|
43
|
+
expect(slm.offences).to be_empty
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'does not crash on an method with a capitalized name' do
|
47
|
+
inspect_source(slm, ['def NoSnakeCase',
|
48
|
+
'end'])
|
49
|
+
expect(slm.offences).to be_empty
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SpaceAfterColon do
|
9
|
+
let(:space) { SpaceAfterColon.new }
|
10
|
+
|
11
|
+
it 'registers an offence for colon without space after it' do
|
12
|
+
inspect_source(space, ['x = w ? {a:3}:4'])
|
13
|
+
expect(space.offences.map(&:message)).to eq(
|
14
|
+
['Space missing after colon.'] * 2)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'allows the colons in symbols' do
|
18
|
+
inspect_source(space, ['x = :a'])
|
19
|
+
expect(space.offences.map(&:message)).to be_empty
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'allows colons in strings' do
|
23
|
+
inspect_source(space, ["str << ':'"])
|
24
|
+
expect(space.offences.map(&:message)).to be_empty
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SpaceAfterComma do
|
9
|
+
let(:space) { SpaceAfterComma.new }
|
10
|
+
|
11
|
+
it 'registers an offence for block argument commas without space' do
|
12
|
+
inspect_source(space, ['each { |s,t| }'])
|
13
|
+
expect(space.offences.map(&:message)).to eq(
|
14
|
+
['Space missing after comma.'])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'registers an offence for array index commas without space' do
|
18
|
+
inspect_source(space, ['formats[0,1]'])
|
19
|
+
expect(space.offences.map(&:message)).to eq(
|
20
|
+
['Space missing after comma.'])
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for method call arg commas without space' do
|
24
|
+
inspect_source(space, ['a(1,2)'])
|
25
|
+
expect(space.offences.map(&:message)).to eq(
|
26
|
+
['Space missing after comma.'])
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SpaceAfterControlKeyword do
|
9
|
+
let(:ap) { SpaceAfterControlKeyword.new }
|
10
|
+
|
11
|
+
it 'registers an offence for normal if' do
|
12
|
+
inspect_source(ap,
|
13
|
+
['if(test) then result end'])
|
14
|
+
expect(ap.offences.size).to eq(1)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'registers an offence for modifier unless' do
|
18
|
+
inspect_source(ap, ['action unless(test)'])
|
19
|
+
|
20
|
+
expect(ap.offences.size).to eq(1)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'does not get confused by keywords' do
|
24
|
+
inspect_source(ap, ['[:if, :unless].action'])
|
25
|
+
expect(ap.offences).to be_empty
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'does not get confused by the ternary operator' do
|
29
|
+
inspect_source(ap, ['a ? b : c'])
|
30
|
+
expect(ap.offences).to be_empty
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'registers an offence for if, elsif, and unless' do
|
34
|
+
inspect_source(ap,
|
35
|
+
['if(a)',
|
36
|
+
'elsif(b)',
|
37
|
+
' unless(c)',
|
38
|
+
' end',
|
39
|
+
'end'])
|
40
|
+
expect(ap.offences.map(&:line)).to eq([1, 2, 3])
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'registers an offence for case and when' do
|
44
|
+
inspect_source(ap,
|
45
|
+
['case(a)',
|
46
|
+
'when(0) then 1',
|
47
|
+
'end'])
|
48
|
+
expect(ap.offences.map(&:line)).to eq([1, 2])
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'registers an offence for case and when' do
|
52
|
+
inspect_source(ap,
|
53
|
+
['case(a)',
|
54
|
+
'when(0) then 1',
|
55
|
+
'end'])
|
56
|
+
expect(ap.offences.map(&:line)).to eq([1, 2])
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'registers an offence for while and until' do
|
60
|
+
inspect_source(ap,
|
61
|
+
['while(a)',
|
62
|
+
' b until(c)',
|
63
|
+
'end'])
|
64
|
+
expect(ap.offences.map(&:line)).to eq([1, 2])
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SpaceAfterSemicolon do
|
9
|
+
let(:space) { SpaceAfterSemicolon.new }
|
10
|
+
|
11
|
+
it 'registers an offence for semicolon without space after it' do
|
12
|
+
inspect_source(space, ['x = 1;y = 2'])
|
13
|
+
expect(space.offences.map(&:message)).to eq(
|
14
|
+
['Space missing after semicolon.'])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'does not crash if semicolon is the last character of the file' do
|
18
|
+
inspect_source(space, ['x = 1;'])
|
19
|
+
expect(space.offences.map(&:message)).to be_empty
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe SpaceAroundBraces do
|
9
|
+
let(:space) { SpaceAroundBraces.new }
|
10
|
+
|
11
|
+
it 'registers an offence for left brace without spaces' do
|
12
|
+
inspect_source(space, ['each{ puts }'])
|
13
|
+
expect(space.offences.map(&:message)).to eq(
|
14
|
+
["Surrounding space missing for '{'."])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'registers an offence for right brace without inner space' do
|
18
|
+
inspect_source(space, ['each { puts}'])
|
19
|
+
expect(space.offences.map(&:message)).to eq(
|
20
|
+
["Space missing to the left of '}'."])
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'accepts an empty hash literal with no space inside' do
|
24
|
+
inspect_source(space,
|
25
|
+
['view_hash.each do |view_key|',
|
26
|
+
'end',
|
27
|
+
'@views = {}',
|
28
|
+
''])
|
29
|
+
expect(space.offences.map(&:message)).to be_empty
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'accepts string interpolation braces with no space inside' do
|
33
|
+
inspect_source(space,
|
34
|
+
['"A=#{a}"',
|
35
|
+
':"#{b}"',
|
36
|
+
'/#{c}/',
|
37
|
+
'`#{d}`',
|
38
|
+
'sprintf("#{message.gsub(/%/, \'%%\')}", line)'])
|
39
|
+
expect(space.offences.map(&:message)).to be_empty
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'accepts braces around a hash literal argument' do
|
43
|
+
inspect_source(space, ["new({'user' => user_params})"])
|
44
|
+
expect(space.offences.map(&:message)).to be_empty
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|