diff options
author | Jean Boussier <jean.boussier@gmail.com> | 2020-06-02 15:33:05 +0200 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2020-06-02 16:57:32 +0200 |
commit | ae8362fdc89591baeb0f4d735690c17d6147f80e (patch) | |
tree | 3152ef4dfbc42935c049935231ebf88b2f157e71 /spec/ruby/core/exception | |
parent | d05f04d27dd86c67e4a8dfff4392f806cf577bdf (diff) |
Add a spec for the new NoMethodError display of the receiver
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3176
Diffstat (limited to 'spec/ruby/core/exception')
-rw-r--r-- | spec/ruby/core/exception/no_method_error_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/ruby/core/exception/no_method_error_spec.rb b/spec/ruby/core/exception/no_method_error_spec.rb index 55a5fccd0d..420e107ceb 100644 --- a/spec/ruby/core/exception/no_method_error_spec.rb +++ b/spec/ruby/core/exception/no_method_error_spec.rb @@ -103,6 +103,24 @@ describe "NoMethodError#message" do message.should include test_class.inspect end end + + ruby_version_is "2.8" do + it "uses #name to display the receiver if it is a class or a module" do + klass = Class.new { def self.name; "MyClass"; end } + begin + klass.foo + rescue NoMethodError => error + error.message.lines.first.should == "undefined method `foo' for MyClass:Class\n" + end + + mod = Module.new { def self.name; "MyModule"; end } + begin + mod.foo + rescue NoMethodError => error + error.message.lines.first.should == "undefined method `foo' for MyModule:Module\n" + end + end + end end describe "NoMethodError#dup" do |