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,37 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe FavorJoin do
|
9
|
+
let(:fj) { FavorJoin.new }
|
10
|
+
|
11
|
+
it 'registers an offence for an array followed by string' do
|
12
|
+
inspect_source(fj,
|
13
|
+
['%w(one two three) * ", "'])
|
14
|
+
expect(fj.offences.size).to eq(1)
|
15
|
+
expect(fj.offences.map(&:message))
|
16
|
+
.to eq([FavorJoin::MSG])
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'does not register an offence for numbers' do
|
20
|
+
inspect_source(fj,
|
21
|
+
['%w(one two three) * 4'])
|
22
|
+
expect(fj.offences).to be_empty
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'does not register an offence for ambiguous cases' do
|
26
|
+
inspect_source(fj,
|
27
|
+
['test * ", "'])
|
28
|
+
expect(fj.offences).to be_empty
|
29
|
+
|
30
|
+
inspect_source(fj,
|
31
|
+
['%w(one two three) * test'])
|
32
|
+
expect(fj.offences).to be_empty
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe FavorModifier do
|
9
|
+
let(:if_unless) { IfUnlessModifier.new }
|
10
|
+
let(:while_until) { WhileUntilModifier.new }
|
11
|
+
before { LineLength.config = { 'Max' => 79 } }
|
12
|
+
|
13
|
+
it 'registers an offence for multiline if that fits on one line' do
|
14
|
+
# This if statement fits exactly on one line if written as a
|
15
|
+
# modifier.
|
16
|
+
condition = 'a' * 38
|
17
|
+
body = 'b' * 35
|
18
|
+
expect(" #{body} if #{condition}".length).to eq(79)
|
19
|
+
|
20
|
+
inspect_source(if_unless,
|
21
|
+
[" if #{condition}",
|
22
|
+
" #{body}",
|
23
|
+
' end'])
|
24
|
+
expect(if_unless.offences.map(&:message)).to eq(
|
25
|
+
['Favor modifier if/unless usage when you have a single-line' +
|
26
|
+
' body. Another good alternative is the usage of control flow' +
|
27
|
+
' &&/||.'])
|
28
|
+
end
|
29
|
+
|
30
|
+
it "accepts multiline if that doesn't fit on one line" do
|
31
|
+
check_too_long(if_unless, 'if')
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'accepts multiline if whose body is more than one line' do
|
35
|
+
check_short_multiline(if_unless, 'if')
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'registers an offence for multiline unless that fits on one line' do
|
39
|
+
inspect_source(if_unless, ['unless a',
|
40
|
+
' b',
|
41
|
+
'end'])
|
42
|
+
expect(if_unless.offences.map(&:message)).to eq(
|
43
|
+
['Favor modifier if/unless usage when you have a single-line' +
|
44
|
+
' body. Another good alternative is the usage of control flow' +
|
45
|
+
' &&/||.'])
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'accepts code with EOL comment since user might want to keep it' do
|
49
|
+
inspect_source(if_unless, ['unless a',
|
50
|
+
' b # A comment',
|
51
|
+
'end'])
|
52
|
+
expect(if_unless.offences).to be_empty
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'accepts if-else-end' do
|
56
|
+
inspect_source(if_unless,
|
57
|
+
['if args.last.is_a? Hash then args.pop else ' +
|
58
|
+
'Hash.new end'])
|
59
|
+
expect(if_unless.offences.map(&:message)).to be_empty
|
60
|
+
end
|
61
|
+
|
62
|
+
it "accepts multiline unless that doesn't fit on one line" do
|
63
|
+
check_too_long(while_until, 'unless')
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'accepts multiline unless whose body is more than one line' do
|
67
|
+
check_short_multiline(while_until, 'unless')
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'registers an offence for multiline while that fits on one line' do
|
71
|
+
check_really_short(while_until, 'while')
|
72
|
+
end
|
73
|
+
|
74
|
+
it "accepts multiline while that doesn't fit on one line" do
|
75
|
+
check_too_long(while_until, 'while')
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'accepts multiline while whose body is more than one line' do
|
79
|
+
check_short_multiline(while_until, 'while')
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'registers an offence for multiline until that fits on one line' do
|
83
|
+
check_really_short(while_until, 'until')
|
84
|
+
end
|
85
|
+
|
86
|
+
it "accepts multiline until that doesn't fit on one line" do
|
87
|
+
check_too_long(while_until, 'until')
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'accepts multiline until whose body is more than one line' do
|
91
|
+
check_short_multiline(while_until, 'until')
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'accepts an empty condition' do
|
95
|
+
check_empty(if_unless, 'if')
|
96
|
+
check_empty(if_unless, 'unless')
|
97
|
+
check_empty(while_until, 'while')
|
98
|
+
check_empty(while_until, 'until')
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'accepts if/elsif' do
|
102
|
+
inspect_source(if_unless, ['if test',
|
103
|
+
' something',
|
104
|
+
'elsif test2',
|
105
|
+
' something_else',
|
106
|
+
'end'])
|
107
|
+
expect(if_unless.offences).to be_empty
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'accepts modifier while' do
|
111
|
+
inspect_source(while_until, ['ala while bala'])
|
112
|
+
expect(while_until.offences).to be_empty
|
113
|
+
end
|
114
|
+
|
115
|
+
it 'accepts modifier until' do
|
116
|
+
inspect_source(while_until, ['ala until bala'])
|
117
|
+
expect(while_until.offences).to be_empty
|
118
|
+
end
|
119
|
+
|
120
|
+
def check_empty(cop, keyword)
|
121
|
+
inspect_source(cop, ["#{keyword} cond",
|
122
|
+
'end'])
|
123
|
+
expect(cop.offences).to be_empty
|
124
|
+
end
|
125
|
+
|
126
|
+
def check_really_short(cop, keyword)
|
127
|
+
inspect_source(cop, ["#{keyword} a",
|
128
|
+
' b',
|
129
|
+
'end'])
|
130
|
+
expect(cop.offences.map(&:message)).to eq(
|
131
|
+
['Favor modifier while/until usage when you have a single-line ' +
|
132
|
+
'body.'])
|
133
|
+
end
|
134
|
+
|
135
|
+
def check_too_long(cop, keyword)
|
136
|
+
# This statement is one character too long to fit.
|
137
|
+
condition = 'a' * (40 - keyword.length)
|
138
|
+
body = 'b' * 36
|
139
|
+
expect(" #{body} #{keyword} #{condition}".length).to eq(80)
|
140
|
+
|
141
|
+
inspect_source(cop,
|
142
|
+
[" #{keyword} #{condition}",
|
143
|
+
" #{body}",
|
144
|
+
' end'])
|
145
|
+
|
146
|
+
expect(cop.offences).to be_empty
|
147
|
+
end
|
148
|
+
|
149
|
+
def check_short_multiline(cop, keyword)
|
150
|
+
inspect_source(cop,
|
151
|
+
["#{keyword} ENV['COVERAGE']",
|
152
|
+
" require 'simplecov'",
|
153
|
+
' SimpleCov.start',
|
154
|
+
'end'])
|
155
|
+
expect(cop.offences.map(&:message)).to be_empty
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe FavorSprintf do
|
9
|
+
let(:fs) { FavorSprintf.new }
|
10
|
+
|
11
|
+
it 'registers an offence for a string followed by something' do
|
12
|
+
inspect_source(fs,
|
13
|
+
['puts "%d" % 10'])
|
14
|
+
expect(fs.offences.size).to eq(1)
|
15
|
+
expect(fs.offences.map(&:message))
|
16
|
+
.to eq([FavorSprintf::MSG])
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'registers an offence for something followed by an array' do
|
20
|
+
inspect_source(fs,
|
21
|
+
['puts x % [10, 11]'])
|
22
|
+
expect(fs.offences.size).to eq(1)
|
23
|
+
expect(fs.offences.map(&:message))
|
24
|
+
.to eq([FavorSprintf::MSG])
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'does not register an offence for numbers' do
|
28
|
+
inspect_source(fs,
|
29
|
+
['puts 10 % 4'])
|
30
|
+
expect(fs.offences).to be_empty
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'does not register an offence for ambiguous cases' do
|
34
|
+
inspect_source(fs,
|
35
|
+
['puts x % 4'])
|
36
|
+
expect(fs.offences).to be_empty
|
37
|
+
|
38
|
+
inspect_source(fs,
|
39
|
+
['puts x % Y'])
|
40
|
+
expect(fs.offences).to be_empty
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'works if the first operand contains embedded expressions' do
|
44
|
+
inspect_source(fs,
|
45
|
+
['puts "#{x * 5} %d #{@test}" % 10'])
|
46
|
+
expect(fs.offences.size).to eq(1)
|
47
|
+
expect(fs.offences.map(&:message))
|
48
|
+
.to eq([FavorSprintf::MSG])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe FavorUnlessOverNegatedIf do
|
9
|
+
let(:fav_unless) { FavorUnlessOverNegatedIf.new }
|
10
|
+
|
11
|
+
it 'registers an offence for if with exclamation point condition' do
|
12
|
+
inspect_source(fav_unless,
|
13
|
+
['if !a_condition',
|
14
|
+
' some_method',
|
15
|
+
'end',
|
16
|
+
'some_method if !a_condition',
|
17
|
+
])
|
18
|
+
expect(fav_unless.offences.map(&:message)).to eq(
|
19
|
+
['Favor unless (or control flow or) over if for negative ' +
|
20
|
+
'conditions.'] * 2)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for if with "not" condition' do
|
24
|
+
inspect_source(fav_unless,
|
25
|
+
['if not a_condition',
|
26
|
+
' some_method',
|
27
|
+
'end',
|
28
|
+
'some_method if not a_condition'])
|
29
|
+
expect(fav_unless.offences.map(&:message)).to eq(
|
30
|
+
['Favor unless (or control flow or) over if for negative ' +
|
31
|
+
'conditions.'] * 2)
|
32
|
+
expect(fav_unless.offences.map(&:line)).to eq([1, 4])
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'accepts an if/else with negative condition' do
|
36
|
+
inspect_source(fav_unless,
|
37
|
+
['if !a_condition',
|
38
|
+
' some_method',
|
39
|
+
'else',
|
40
|
+
' something_else',
|
41
|
+
'end',
|
42
|
+
'if not a_condition',
|
43
|
+
' some_method',
|
44
|
+
'elsif other_condition',
|
45
|
+
' something_else',
|
46
|
+
'end'])
|
47
|
+
expect(fav_unless.offences.map(&:message)).to be_empty
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'accepts an if where only part of the contition is negated' do
|
51
|
+
inspect_source(fav_unless,
|
52
|
+
['if !condition && another_condition',
|
53
|
+
' some_method',
|
54
|
+
'end',
|
55
|
+
'if not condition or another_condition',
|
56
|
+
' some_method',
|
57
|
+
'end',
|
58
|
+
'some_method if not condition or another_condition'])
|
59
|
+
expect(fav_unless.offences.map(&:message)).to be_empty
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe FavorUntilOverNegatedWhile do
|
9
|
+
let(:fav_until) { FavorUntilOverNegatedWhile.new }
|
10
|
+
|
11
|
+
it 'registers an offence for while with exclamation point condition' do
|
12
|
+
inspect_source(fav_until,
|
13
|
+
['while !a_condition',
|
14
|
+
' some_method',
|
15
|
+
'end',
|
16
|
+
'some_method while !a_condition',
|
17
|
+
])
|
18
|
+
expect(fav_until.offences.map(&:message)).to eq(
|
19
|
+
['Favor until over while for negative conditions.'] * 2)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'registers an offence for while with "not" condition' do
|
23
|
+
inspect_source(fav_until,
|
24
|
+
['while (not a_condition)',
|
25
|
+
' some_method',
|
26
|
+
'end',
|
27
|
+
'some_method while not a_condition'])
|
28
|
+
expect(fav_until.offences.map(&:message)).to eq(
|
29
|
+
['Favor until over while for negative conditions.'] * 2)
|
30
|
+
expect(fav_until.offences.map(&:line)).to eq([1, 4])
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'accepts an while where only part of the contition is negated' do
|
34
|
+
inspect_source(fav_until,
|
35
|
+
['while !a_condition && another_condition',
|
36
|
+
' some_method',
|
37
|
+
'end',
|
38
|
+
'while not a_condition or another_condition',
|
39
|
+
' some_method',
|
40
|
+
'end',
|
41
|
+
'some_method while not a_condition or other_cond'])
|
42
|
+
expect(fav_until.offences.map(&:message)).to be_empty
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe HashSyntax do
|
9
|
+
let(:hash_syntax) { HashSyntax.new }
|
10
|
+
|
11
|
+
it 'registers offence for hash rocket syntax when new is possible' do
|
12
|
+
inspect_source(hash_syntax, ['x = { :a => 0 }'])
|
13
|
+
expect(hash_syntax.offences.map(&:message)).to eq(
|
14
|
+
['Ruby 1.8 hash syntax detected'])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'registers an offence for mixed syntax when new is possible' do
|
18
|
+
inspect_source(hash_syntax, ['x = { :a => 0, b: 1 }'])
|
19
|
+
expect(hash_syntax.offences.map(&:message)).to eq(
|
20
|
+
['Ruby 1.8 hash syntax detected'])
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for hash rockets in method calls' do
|
24
|
+
inspect_source(hash_syntax, ['func(3, :a => 0)'])
|
25
|
+
expect(hash_syntax.offences.map(&:message)).to eq(
|
26
|
+
['Ruby 1.8 hash syntax detected'])
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'accepts hash rockets when keys have different types' do
|
30
|
+
inspect_source(hash_syntax, ['x = { :a => 0, "b" => 1 }'])
|
31
|
+
expect(hash_syntax.offences.map(&:message)).to be_empty
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'accepts hash rockets when keys special symbols in them' do
|
35
|
+
inspect_source(hash_syntax, ['x = { :"t o" => 0, :"\xab" => 1 }'])
|
36
|
+
expect(hash_syntax.offences.map(&:message)).to be_empty
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'accepts new syntax in a hash literal' do
|
40
|
+
inspect_source(hash_syntax, ['x = { a: 0, b: 1 }'])
|
41
|
+
expect(hash_syntax.offences.map(&:message)).to be_empty
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'accepts new syntax in method calls' do
|
45
|
+
inspect_source(hash_syntax, ['func(3, a: 0)'])
|
46
|
+
expect(hash_syntax.offences.map(&:message)).to be_empty
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe IfWithSemicolon do
|
9
|
+
let(:iws) { IfWithSemicolon.new }
|
10
|
+
|
11
|
+
it 'registers an offence for one line if/;/end' do
|
12
|
+
inspect_source(iws, ['if cond; run else dont end'])
|
13
|
+
expect(iws.offences.map(&:message)).to eq(
|
14
|
+
['Never use if x; Use the ternary operator instead.'])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'can handle modifier conditionals' do
|
18
|
+
inspect_source(iws, ['class Hash',
|
19
|
+
'end if RUBY_VERSION < "1.8.7"'])
|
20
|
+
expect(iws.offences.map(&:message)).to be_empty
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Rubocop
|
6
|
+
module Cop
|
7
|
+
module Style
|
8
|
+
describe Lambda do
|
9
|
+
let(:lambda) { Lambda.new }
|
10
|
+
|
11
|
+
it 'registers an offence for an old single-line lambda call' do
|
12
|
+
inspect_source(lambda, ['f = lambda { |x| x }'])
|
13
|
+
expect(lambda.offences.size).to eq(1)
|
14
|
+
expect(lambda.messages).to eq([Lambda::SINGLE_MSG])
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'accepts the new lambda literal with single-line body' do
|
18
|
+
inspect_source(lambda, ['lambda = ->(x) { x }',
|
19
|
+
'lambda.(1)'])
|
20
|
+
expect(lambda.offences).to be_empty
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'registers an offence for a new multi-line lambda call' do
|
24
|
+
inspect_source(lambda, ['f = ->(x) do',
|
25
|
+
' x',
|
26
|
+
'end'])
|
27
|
+
expect(lambda.offences.size).to eq(1)
|
28
|
+
expect(lambda.messages).to eq([Lambda::MULTI_MSG])
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'accepts the old lambda syntax with multi-line body' do
|
32
|
+
inspect_source(lambda, ['l = lambda do |x|',
|
33
|
+
' x',
|
34
|
+
'end'])
|
35
|
+
expect(lambda.offences).to be_empty
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'accepts the lambda call outside of block' do
|
39
|
+
inspect_source(lambda, ['l = lambda.test'])
|
40
|
+
expect(lambda.offences).to be_empty
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|