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
data/spec/rubocop/config_spec.rb
CHANGED
@@ -84,6 +84,67 @@ describe Rubocop::Config do
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
+
context 'when multiple config files exist in ancestor directories' do
|
88
|
+
let(:file_path) { 'dir/.rubocop.yml' }
|
89
|
+
|
90
|
+
before do
|
91
|
+
create_file('.rubocop.yml',
|
92
|
+
['AllCops:',
|
93
|
+
' Excludes:',
|
94
|
+
' - vendor/**',
|
95
|
+
])
|
96
|
+
|
97
|
+
create_file(file_path,
|
98
|
+
['AllCops:',
|
99
|
+
' Excludes: []',
|
100
|
+
])
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'gets AllCops/Exclude from the highest directory level' do
|
104
|
+
excludes = configuration_from_file['AllCops']['Excludes']
|
105
|
+
expect(excludes).to eq(['../vendor/**'])
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
context 'when a file inherits from a parent file' do
|
110
|
+
let(:file_path) { 'dir/.rubocop.yml' }
|
111
|
+
|
112
|
+
before do
|
113
|
+
create_file('.rubocop.yml',
|
114
|
+
['AllCops:',
|
115
|
+
' Excludes:',
|
116
|
+
' - vendor/**',
|
117
|
+
' - !ruby/regexp /[A-Z]/',
|
118
|
+
])
|
119
|
+
|
120
|
+
create_file(file_path, ['inherit_from: ../.rubocop.yml'])
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'gets AllCops/Exclude relative to its own directory' do
|
124
|
+
excludes = configuration_from_file['AllCops']['Excludes']
|
125
|
+
expect(excludes).to eq(['../vendor/**', /[A-Z]/])
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
context 'when a file inherits from a sibling file' do
|
130
|
+
let(:file_path) { 'dir/.rubocop.yml' }
|
131
|
+
|
132
|
+
before do
|
133
|
+
create_file('src/.rubocop.yml',
|
134
|
+
['AllCops:',
|
135
|
+
' Excludes:',
|
136
|
+
' - vendor/**',
|
137
|
+
])
|
138
|
+
|
139
|
+
create_file(file_path, ['inherit_from: ../src/.rubocop.yml'])
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'gets AllCops/Exclude relative to its own directory' do
|
143
|
+
excludes = configuration_from_file['AllCops']['Excludes']
|
144
|
+
expect(excludes).to eq(['../src/vendor/**'])
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
87
148
|
context 'when a file inherits from a parent and grandparent file' do
|
88
149
|
let(:file_path) { 'dir/subdir/.rubocop.yml' }
|
89
150
|
|
@@ -47,8 +47,8 @@ module Rubocop
|
|
47
47
|
Config.should_receive(:configuration_file_for).once.with('dir/' +
|
48
48
|
'subdir')
|
49
49
|
# The stub returns the same config path for dir and dir/subdir.
|
50
|
-
Config.should_receive(:configuration_from_file).once
|
51
|
-
with('dir/.rubocop.yml')
|
50
|
+
Config.should_receive(:configuration_from_file).once
|
51
|
+
.with('dir/.rubocop.yml')
|
52
52
|
|
53
53
|
ConfigStore.for('dir/file2')
|
54
54
|
ConfigStore.for('dir/file2')
|
@@ -6,25 +6,32 @@ module Rubocop
|
|
6
6
|
module Cop
|
7
7
|
describe Cop do
|
8
8
|
let(:cop) { Cop.new }
|
9
|
+
let(:location) do
|
10
|
+
source_buffer = Parser::Source::Buffer.new('test', 1)
|
11
|
+
source_buffer.source = "a\n"
|
12
|
+
Parser::Source::Range.new(source_buffer, 0, 1)
|
13
|
+
end
|
9
14
|
|
10
15
|
it 'initially has 0 offences' do
|
11
16
|
expect(cop.offences).to be_empty
|
12
17
|
end
|
13
18
|
|
14
|
-
it 'initially has nothing to report' do
|
15
|
-
expect(cop.has_report?).to be_false
|
16
|
-
end
|
17
|
-
|
18
19
|
it 'keeps track of offences' do
|
19
|
-
cop.add_offence(:convention,
|
20
|
+
cop.add_offence(:convention, location, 'message')
|
20
21
|
|
21
22
|
expect(cop.offences.size).to eq(1)
|
22
23
|
end
|
23
24
|
|
24
25
|
it 'will report registered offences' do
|
25
|
-
cop.add_offence(:convention,
|
26
|
+
cop.add_offence(:convention, location, 'message')
|
27
|
+
|
28
|
+
expect(cop.offences).not_to be_empty
|
29
|
+
end
|
26
30
|
|
27
|
-
|
31
|
+
it 'registers offence with its name' do
|
32
|
+
cop = Style::AvoidFor.new
|
33
|
+
cop.add_offence(:convention, location, 'message')
|
34
|
+
expect(cop.offences.first.cop_name).to eq('AvoidFor')
|
28
35
|
end
|
29
36
|
end
|
30
37
|
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Lint
|
8
|
+
describe AssignmentInCondition do
|
9
|
+
let(:cop) { AssignmentInCondition.new }
|
10
|
+
before do
|
11
|
+
AssignmentInCondition.config = { 'AllowSafeAssignment' => true }
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'registers an offence for lvar assignment in condition' do
|
15
|
+
inspect_source(cop,
|
16
|
+
['if test = 10',
|
17
|
+
'end'
|
18
|
+
])
|
19
|
+
expect(cop.offences.size).to eq(1)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'registers an offence for lvar assignment in while condition' do
|
23
|
+
inspect_source(cop,
|
24
|
+
['while test = 10',
|
25
|
+
'end'
|
26
|
+
])
|
27
|
+
expect(cop.offences.size).to eq(1)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'registers an offence for lvar assignment in until condition' do
|
31
|
+
inspect_source(cop,
|
32
|
+
['until test = 10',
|
33
|
+
'end'
|
34
|
+
])
|
35
|
+
expect(cop.offences.size).to eq(1)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'registers an offence for ivar assignment in condition' do
|
39
|
+
inspect_source(cop,
|
40
|
+
['if @test = 10',
|
41
|
+
'end'
|
42
|
+
])
|
43
|
+
expect(cop.offences.size).to eq(1)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'registers an offence for clvar assignment in condition' do
|
47
|
+
inspect_source(cop,
|
48
|
+
['if @@test = 10',
|
49
|
+
'end'
|
50
|
+
])
|
51
|
+
expect(cop.offences.size).to eq(1)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'registers an offence for gvar assignment in condition' do
|
55
|
+
inspect_source(cop,
|
56
|
+
['if $test = 10',
|
57
|
+
'end'
|
58
|
+
])
|
59
|
+
expect(cop.offences.size).to eq(1)
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'registers an offence for constant assignment in condition' do
|
63
|
+
inspect_source(cop,
|
64
|
+
['if TEST = 10',
|
65
|
+
'end'
|
66
|
+
])
|
67
|
+
expect(cop.offences.size).to eq(1)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'accepts == in condition' do
|
71
|
+
inspect_source(cop,
|
72
|
+
['if test == 10',
|
73
|
+
'end'
|
74
|
+
])
|
75
|
+
expect(cop.offences).to be_empty
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'accepts ||= in condition' do
|
79
|
+
inspect_source(cop,
|
80
|
+
['raise StandardError unless foo ||= bar'])
|
81
|
+
expect(cop.offences).to be_empty
|
82
|
+
end
|
83
|
+
|
84
|
+
context 'safe assignment is allowed' do
|
85
|
+
it 'accepts = in condition surrounded with braces' do
|
86
|
+
inspect_source(cop,
|
87
|
+
['if (test = 10)',
|
88
|
+
'end'
|
89
|
+
])
|
90
|
+
expect(cop.offences).to be_empty
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
context 'safe assignment is not allowed' do
|
96
|
+
before do
|
97
|
+
AssignmentInCondition.config['AllowSafeAssignment'] = false
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'does not accepts = in condition surrounded with braces' do
|
101
|
+
inspect_source(cop,
|
102
|
+
['if (test == 10)',
|
103
|
+
'end'
|
104
|
+
])
|
105
|
+
expect(cop.offences).to be_empty
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,426 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# rubocop:disable LineLength
|
3
|
+
|
4
|
+
require 'spec_helper'
|
5
|
+
|
6
|
+
module Rubocop
|
7
|
+
module Cop
|
8
|
+
module Lint
|
9
|
+
describe EndAlignment do
|
10
|
+
let(:cop) { EndAlignment.new }
|
11
|
+
before do
|
12
|
+
# TODO: Initialize the config to a default {} value. Currently it's nil.
|
13
|
+
EndAlignment.config = {}
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'registers an offence for mismatched class end' do
|
17
|
+
inspect_source(cop,
|
18
|
+
['class Test',
|
19
|
+
' end'
|
20
|
+
])
|
21
|
+
expect(cop.offences.size).to eq(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'registers an offence for mismatched module end' do
|
25
|
+
inspect_source(cop,
|
26
|
+
['module Test',
|
27
|
+
' end'
|
28
|
+
])
|
29
|
+
expect(cop.offences.size).to eq(1)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'registers an offence for mismatched def end' do
|
33
|
+
inspect_source(cop,
|
34
|
+
['def test',
|
35
|
+
' end'
|
36
|
+
])
|
37
|
+
expect(cop.offences.size).to eq(1)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'registers an offence for mismatched defs end' do
|
41
|
+
inspect_source(cop,
|
42
|
+
['def Test.test',
|
43
|
+
' end'
|
44
|
+
])
|
45
|
+
expect(cop.offences.size).to eq(1)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'registers an offence for mismatched if end' do
|
49
|
+
inspect_source(cop,
|
50
|
+
['if test',
|
51
|
+
' end'
|
52
|
+
])
|
53
|
+
expect(cop.offences.size).to eq(1)
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'registers an offence for mismatched while end' do
|
57
|
+
inspect_source(cop,
|
58
|
+
['while test',
|
59
|
+
' end'
|
60
|
+
])
|
61
|
+
expect(cop.offences.size).to eq(1)
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'registers an offence for mismatched until end' do
|
65
|
+
inspect_source(cop,
|
66
|
+
['until test',
|
67
|
+
' end'
|
68
|
+
])
|
69
|
+
expect(cop.offences.size).to eq(1)
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'registers an offence for mismatched block end' do
|
73
|
+
inspect_source(cop,
|
74
|
+
['test do |ala|',
|
75
|
+
' end'
|
76
|
+
])
|
77
|
+
expect(cop.offences.size).to eq(1)
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'with BlockAlignSchema set to StartOfAssignment' do
|
81
|
+
before do
|
82
|
+
EndAlignment.config = { 'BlockAlignSchema' => 'StartOfAssignment' }
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'accepts end aligned with a variable' do
|
86
|
+
inspect_source(cop,
|
87
|
+
['variable = test do |ala|',
|
88
|
+
'end'
|
89
|
+
])
|
90
|
+
expect(cop.offences).to be_empty
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'registers an offence for mismatched block end with a variable' do
|
94
|
+
inspect_source(cop,
|
95
|
+
['variable = test do |ala|',
|
96
|
+
' end'
|
97
|
+
])
|
98
|
+
expect(cop.offences.size).to eq(1)
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'accepts end aligned with an instance variable' do
|
102
|
+
inspect_source(cop,
|
103
|
+
['@variable = test do |ala|',
|
104
|
+
'end'
|
105
|
+
])
|
106
|
+
expect(cop.offences).to be_empty
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'registers an offence for mismatched block end with an instance variable' do
|
110
|
+
inspect_source(cop,
|
111
|
+
['@variable = test do |ala|',
|
112
|
+
' end'
|
113
|
+
])
|
114
|
+
expect(cop.offences.size).to eq(1)
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'accepts end aligned with a class variable' do
|
118
|
+
inspect_source(cop,
|
119
|
+
['@@variable = test do |ala|',
|
120
|
+
'end'
|
121
|
+
])
|
122
|
+
expect(cop.offences).to be_empty
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'registers an offence for mismatched block end with a class variable' do
|
126
|
+
inspect_source(cop,
|
127
|
+
['@@variable = test do |ala|',
|
128
|
+
' end'
|
129
|
+
])
|
130
|
+
expect(cop.offences.size).to eq(1)
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'accepts end aligned with a global variable' do
|
134
|
+
inspect_source(cop,
|
135
|
+
['$variable = test do |ala|',
|
136
|
+
'end'
|
137
|
+
])
|
138
|
+
expect(cop.offences).to be_empty
|
139
|
+
end
|
140
|
+
|
141
|
+
it 'registers an offence for mismatched block end with a global variable' do
|
142
|
+
inspect_source(cop,
|
143
|
+
['$variable = test do |ala|',
|
144
|
+
' end'
|
145
|
+
])
|
146
|
+
expect(cop.offences.size).to eq(1)
|
147
|
+
end
|
148
|
+
|
149
|
+
it 'accepts end aligned with a constant' do
|
150
|
+
inspect_source(cop,
|
151
|
+
['CONSTANT = test do |ala|',
|
152
|
+
'end'
|
153
|
+
])
|
154
|
+
expect(cop.offences).to be_empty
|
155
|
+
end
|
156
|
+
|
157
|
+
it 'registers an offence for mismatched block end with a constant' do
|
158
|
+
inspect_source(cop,
|
159
|
+
['Module::CONSTANT = test do |ala|',
|
160
|
+
' end'
|
161
|
+
])
|
162
|
+
expect(cop.offences.size).to eq(1)
|
163
|
+
end
|
164
|
+
|
165
|
+
it 'accepts end aligned with an attribute writer method' do
|
166
|
+
inspect_source(cop,
|
167
|
+
['parser.child.consumer = lambda do |token|',
|
168
|
+
' token << 1',
|
169
|
+
'end'
|
170
|
+
])
|
171
|
+
expect(cop.offences).to be_empty
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'registers an offence for mismatched block end with an attribute writer method' do
|
175
|
+
inspect_source(cop,
|
176
|
+
['parser.child.consumer = lambda do |token|',
|
177
|
+
' token << 1',
|
178
|
+
' end'
|
179
|
+
])
|
180
|
+
expect(cop.offences.size).to eq(1)
|
181
|
+
end
|
182
|
+
|
183
|
+
it 'accepts end aligned with an op-asgn (+=, -=)' do
|
184
|
+
inspect_source(cop,
|
185
|
+
['rb += files.select do |file|',
|
186
|
+
' file << something',
|
187
|
+
'end'
|
188
|
+
])
|
189
|
+
expect(cop.offences).to be_empty
|
190
|
+
end
|
191
|
+
|
192
|
+
it 'registers an offence for mismatched block end with an op-asgn (+=, -=)' do
|
193
|
+
inspect_source(cop,
|
194
|
+
['rb += files.select do |file|',
|
195
|
+
' file << something',
|
196
|
+
' end'
|
197
|
+
])
|
198
|
+
expect(cop.offences.size).to eq(1)
|
199
|
+
end
|
200
|
+
|
201
|
+
it 'accepts end aligned with an and-asgn (&&=)' do
|
202
|
+
inspect_source(cop,
|
203
|
+
['variable &&= test do |ala|',
|
204
|
+
'end'
|
205
|
+
])
|
206
|
+
expect(cop.offences).to be_empty
|
207
|
+
end
|
208
|
+
|
209
|
+
it 'registers an offence for mismatched block end with an and-asgn (&&=)' do
|
210
|
+
inspect_source(cop,
|
211
|
+
['variable &&= test do |ala|',
|
212
|
+
' end'
|
213
|
+
])
|
214
|
+
expect(cop.offences.size).to eq(1)
|
215
|
+
end
|
216
|
+
|
217
|
+
it 'accepts end aligned with an or-asgn (||=)' do
|
218
|
+
inspect_source(cop,
|
219
|
+
['variable ||= test do |ala|',
|
220
|
+
'end'
|
221
|
+
])
|
222
|
+
expect(cop.offences).to be_empty
|
223
|
+
end
|
224
|
+
|
225
|
+
it 'registers an offence for mismatched block end with an or-asgn (||=)' do
|
226
|
+
inspect_source(cop,
|
227
|
+
['variable ||= test do |ala|',
|
228
|
+
' end'
|
229
|
+
])
|
230
|
+
expect(cop.offences.size).to eq(1)
|
231
|
+
end
|
232
|
+
|
233
|
+
it 'accepts end aligned with a mass assignment' do
|
234
|
+
inspect_source(cop,
|
235
|
+
['var1, var2 = lambda do |test|',
|
236
|
+
' [1, 2]',
|
237
|
+
'end'
|
238
|
+
])
|
239
|
+
expect(cop.offences).to be_empty
|
240
|
+
end
|
241
|
+
|
242
|
+
it 'registers an offence for mismatched block end with a mass assignment' do
|
243
|
+
inspect_source(cop,
|
244
|
+
['var1, var2 = lambda do |test|',
|
245
|
+
' [1, 2]',
|
246
|
+
' end'
|
247
|
+
])
|
248
|
+
expect(cop.offences.size).to eq(1)
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
context 'with BlockAlignSchema set to StartOfBlockCommand' do
|
253
|
+
before do
|
254
|
+
EndAlignment.config = { 'BlockAlignSchema' => 'StartOfBlockCommand' }
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'accepts end aligned with the method that invokes the block' do
|
258
|
+
inspect_source(cop,
|
259
|
+
['variable = test do |ala|',
|
260
|
+
' end'
|
261
|
+
])
|
262
|
+
expect(cop.offences).to be_empty
|
263
|
+
end
|
264
|
+
|
265
|
+
it 'registers an offence for mismatched block end with the method that invokes the block' do
|
266
|
+
inspect_source(cop,
|
267
|
+
['variable = test do |ala|',
|
268
|
+
'end'
|
269
|
+
])
|
270
|
+
expect(cop.offences.size).to eq(1)
|
271
|
+
end
|
272
|
+
|
273
|
+
it 'accepts end aligned with the method when return value is assigned to instance variable' do
|
274
|
+
inspect_source(cop,
|
275
|
+
['@variable = test do |ala|',
|
276
|
+
' end'
|
277
|
+
])
|
278
|
+
expect(cop.offences).to be_empty
|
279
|
+
end
|
280
|
+
|
281
|
+
it 'registers an offence for mismatched block end when return value is assigned to instance variable' do
|
282
|
+
inspect_source(cop,
|
283
|
+
['@variable = test do |ala|',
|
284
|
+
'end'
|
285
|
+
])
|
286
|
+
expect(cop.offences.size).to eq(1)
|
287
|
+
end
|
288
|
+
|
289
|
+
it 'accepts end aligned with the method when return value is assigned to class variable' do
|
290
|
+
inspect_source(cop,
|
291
|
+
['@@variable = test do |ala|',
|
292
|
+
' end'
|
293
|
+
])
|
294
|
+
expect(cop.offences).to be_empty
|
295
|
+
end
|
296
|
+
|
297
|
+
it 'registers an offence for mismatched block end when return value is assigned to class variable' do
|
298
|
+
inspect_source(cop,
|
299
|
+
['@@variable = test do |ala|',
|
300
|
+
'end'
|
301
|
+
])
|
302
|
+
expect(cop.offences.size).to eq(1)
|
303
|
+
end
|
304
|
+
|
305
|
+
it 'accepts end aligned with the method when return value is assigned to global variable' do
|
306
|
+
inspect_source(cop,
|
307
|
+
['$variable = test do |ala|',
|
308
|
+
' end'
|
309
|
+
])
|
310
|
+
expect(cop.offences).to be_empty
|
311
|
+
end
|
312
|
+
|
313
|
+
it 'registers an offence for mismatched block end when return value is assigned to global variable' do
|
314
|
+
inspect_source(cop,
|
315
|
+
['$variable = test do |ala|',
|
316
|
+
'end'
|
317
|
+
])
|
318
|
+
expect(cop.offences.size).to eq(1)
|
319
|
+
end
|
320
|
+
|
321
|
+
it 'accepts end aligned with the method when return value is assigned to constant' do
|
322
|
+
inspect_source(cop,
|
323
|
+
['CONSTANT = test do |ala|',
|
324
|
+
' end'
|
325
|
+
])
|
326
|
+
expect(cop.offences).to be_empty
|
327
|
+
end
|
328
|
+
|
329
|
+
it 'registers an offence for mismatched block end when return value is assigned to constant' do
|
330
|
+
inspect_source(cop,
|
331
|
+
['Module::CONSTANT = test do |ala|',
|
332
|
+
'end'
|
333
|
+
])
|
334
|
+
expect(cop.offences.size).to eq(1)
|
335
|
+
end
|
336
|
+
|
337
|
+
it 'accepts end aligned with the method when return value is assigned to attribute writer method' do
|
338
|
+
inspect_source(cop,
|
339
|
+
['parser.child.consumer = lambda do |token|',
|
340
|
+
' token << 1',
|
341
|
+
' end'
|
342
|
+
])
|
343
|
+
expect(cop.offences).to be_empty
|
344
|
+
end
|
345
|
+
|
346
|
+
it 'registers an offence for mismatched block end when return value is assigned to attribute writer method' do
|
347
|
+
inspect_source(cop,
|
348
|
+
['parser.child.consumer = lambda do |token|',
|
349
|
+
' token << 1',
|
350
|
+
'end'
|
351
|
+
])
|
352
|
+
expect(cop.offences.size).to eq(1)
|
353
|
+
end
|
354
|
+
|
355
|
+
it 'accepts end aligned with the method when return value is assigned using op-asgn (+=, -=)' do
|
356
|
+
inspect_source(cop,
|
357
|
+
['rb += files.select do |file|',
|
358
|
+
' file << something',
|
359
|
+
' end'
|
360
|
+
])
|
361
|
+
expect(cop.offences).to be_empty
|
362
|
+
end
|
363
|
+
|
364
|
+
it 'registers an offence for mismatched block end when return value is assigned using op-asgn (+=, -=)' do
|
365
|
+
inspect_source(cop,
|
366
|
+
['rb += files.select do |file|',
|
367
|
+
' file << something',
|
368
|
+
'end'
|
369
|
+
])
|
370
|
+
expect(cop.offences.size).to eq(1)
|
371
|
+
end
|
372
|
+
|
373
|
+
it 'accepts end aligned with the method when return value is assigned using and-asgn (&&=)' do
|
374
|
+
inspect_source(cop,
|
375
|
+
['variable &&= test do |ala|',
|
376
|
+
' end'
|
377
|
+
])
|
378
|
+
expect(cop.offences).to be_empty
|
379
|
+
end
|
380
|
+
|
381
|
+
it 'registers an offence for mismatched block end when return value is assigned using and-asgn (&&=)' do
|
382
|
+
inspect_source(cop,
|
383
|
+
['variable &&= test do |ala|',
|
384
|
+
'end'
|
385
|
+
])
|
386
|
+
expect(cop.offences.size).to eq(1)
|
387
|
+
end
|
388
|
+
|
389
|
+
it 'accepts end aligned with the method when return value is assigned using or-asgn (||=)' do
|
390
|
+
inspect_source(cop,
|
391
|
+
['variable ||= test do |ala|',
|
392
|
+
' end'
|
393
|
+
])
|
394
|
+
expect(cop.offences).to be_empty
|
395
|
+
end
|
396
|
+
|
397
|
+
it 'registers an offence for mismatched block end when return value is assigned using or-asgn (||=)' do
|
398
|
+
inspect_source(cop,
|
399
|
+
['variable ||= test do |ala|',
|
400
|
+
'end'
|
401
|
+
])
|
402
|
+
expect(cop.offences.size).to eq(1)
|
403
|
+
end
|
404
|
+
|
405
|
+
it 'accepts end aligned with the method when return value is assigned using mass assignment' do
|
406
|
+
inspect_source(cop,
|
407
|
+
['var1, var2 = lambda do |test|',
|
408
|
+
' [1, 2]',
|
409
|
+
' end'
|
410
|
+
])
|
411
|
+
expect(cop.offences).to be_empty
|
412
|
+
end
|
413
|
+
|
414
|
+
it 'registers an offence for mismatched block end when return value is assigned using mass assignment' do
|
415
|
+
inspect_source(cop,
|
416
|
+
['var1, var2 = lambda do |test|',
|
417
|
+
' [1, 2]',
|
418
|
+
'end'
|
419
|
+
])
|
420
|
+
expect(cop.offences.size).to eq(1)
|
421
|
+
end
|
422
|
+
end
|
423
|
+
end
|
424
|
+
end
|
425
|
+
end
|
426
|
+
end
|