summaryrefslogtreecommitdiff
path: root/spec/ruby/core/exception/shared/new.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/exception/shared/new.rb')
-rw-r--r--spec/ruby/core/exception/shared/new.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/ruby/core/exception/shared/new.rb b/spec/ruby/core/exception/shared/new.rb
new file mode 100644
index 0000000000..bcde8ee4b2
--- /dev/null
+++ b/spec/ruby/core/exception/shared/new.rb
@@ -0,0 +1,18 @@
+describe :exception_new, shared: true do
+ it "creates a new instance of Exception" do
+ Exception.should be_ancestor_of(Exception.send(@method).class)
+ end
+
+ it "sets the message of the Exception when passes a message" do
+ Exception.send(@method, "I'm broken.").message.should == "I'm broken."
+ end
+
+ it "returns 'Exception' for message when no message given" do
+ Exception.send(@method).message.should == "Exception"
+ end
+
+ it "returns the exception when it has a custom constructor" do
+ ExceptionSpecs::ConstructorException.send(@method).should be_kind_of(ExceptionSpecs::ConstructorException)
+ end
+
+end