diff options
Diffstat (limited to 'test/did_you_mean/spell_checking')
-rw-r--r-- | test/did_you_mean/spell_checking/test_method_name_check.rb | 18 | ||||
-rw-r--r-- | test/did_you_mean/spell_checking/test_variable_name_check.rb | 12 |
2 files changed, 30 insertions, 0 deletions
diff --git a/test/did_you_mean/spell_checking/test_method_name_check.rb b/test/did_you_mean/spell_checking/test_method_name_check.rb index d2e46d58f3..4daaf7cec7 100644 --- a/test/did_you_mean/spell_checking/test_method_name_check.rb +++ b/test/did_you_mean/spell_checking/test_method_name_check.rb @@ -4,6 +4,8 @@ class MethodNameCheckTest < Test::Unit::TestCase include DidYouMean::TestHelper class User + attr_writer :writer + attr_reader :reader def friends; end def first_name; end def descendants; end @@ -144,4 +146,20 @@ class MethodNameCheckTest < Test::Unit::TestCase assert_correction [], error.corrections assert_not_match(/Did you mean\? +yield/, get_message(error)) end if RUBY_ENGINE != "jruby" + + # Do not suggest `name=` for `name` + def test_does_not_suggest_writer + error = assert_raise(NoMethodError) { @user.writer } + + assert_correction [], error.corrections + assert_not_match(/Did you mean\? writer=/, get_message(error)) + end + + # Do not suggest `name` for `name=` + def test_does_not_suggest_reader + error = assert_raise(NoMethodError) { @user.reader = 1 } + + assert_correction [], error.corrections + assert_not_match(/Did you mean\? reader/, get_message(error)) + end end diff --git a/test/did_you_mean/spell_checking/test_variable_name_check.rb b/test/did_you_mean/spell_checking/test_variable_name_check.rb index 9d8b86eb5b..0350b62660 100644 --- a/test/did_you_mean/spell_checking/test_variable_name_check.rb +++ b/test/did_you_mean/spell_checking/test_variable_name_check.rb @@ -137,4 +137,16 @@ class VariableNameCheckTest < Test::Unit::TestCase error = assert_raise(NameError){ foo } assert_empty error.corrections end + + def test_exclude_duplicates_with_same_name + error = assert_raise(NameError) do + eval(<<~RUBY, binding, __FILE__, __LINE__) + bar = 1 + def bar;end + zar + RUBY + end + + assert_correction [:bar], error.corrections + end end |