summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-08 13:50:10 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-08 13:50:10 +0000
commit63fe8b697cd886beecb06f4020cab58676aa2a80 (patch)
treeba8d6dfc4ea03ebb4beaeace0a3f421e93f5436b
parentd9d841e35319353b8ed7174e48af7d9f84197c9c (diff)
update doc and add test for SystemExit.new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--error.c8
-rw-r--r--test/ruby/test_exception.rb15
2 files changed, 21 insertions, 2 deletions
diff --git a/error.c b/error.c
index 600be018fe6..e2e36cec799 100644
--- a/error.c
+++ b/error.c
@@ -743,9 +743,13 @@ exc_equal(VALUE exc, VALUE obj)
/*
* call-seq:
- * SystemExit.new(status=0) -> system_exit
+ * SystemExit.new -> system_exit
+ * SystemExit.new(status) -> system_exit
+ * SystemExit.new(status, msg) -> system_exit
+ * SystemExit.new(msg) -> system_exit
*
- * Create a new +SystemExit+ exception with the given status.
+ * Create a new +SystemExit+ exception with the given status and message.
+ * If status is not given, EXIT_SUCCESS is used.
*/
static VALUE
diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb
index 1d16da695cd..bb91c962850 100644
--- a/test/ruby/test_exception.rb
+++ b/test/ruby/test_exception.rb
@@ -334,4 +334,19 @@ end.join
arg_string = (0...140000).to_a.join(", ")
assert_raise(SystemStackError, bug5720) {eval "raise(#{arg_string})"}
end
+
+ def test_systemexit_new
+ e0 = SystemExit.new
+ assert_equal(0, e0.status)
+ assert_equal("SystemExit", e0.message)
+ ei = SystemExit.new(3)
+ assert_equal(3, ei.status)
+ assert_equal("SystemExit", ei.message)
+ es = SystemExit.new("msg")
+ assert_equal(0, es.status)
+ assert_equal("msg", es.message)
+ eis = SystemExit.new(7, "msg")
+ assert_equal(7, eis.status)
+ assert_equal("msg", eis.message)
+ end
end