aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_key_error.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/ruby/test_key_error.rb b/test/ruby/test_key_error.rb
new file mode 100644
index 0000000000..852bd32712
--- /dev/null
+++ b/test/ruby/test_key_error.rb
@@ -0,0 +1,38 @@
+require 'test/unit'
+
+class TestKeyError < Test::Unit::TestCase
+ def test_default
+ error = KeyError.new
+ assert_equal("KeyError", error.message)
+ end
+
+ def test_message
+ error = KeyError.new("Message")
+ assert_equal("Message", error.message)
+ end
+
+ def test_receiver
+ receiver = Object.new
+ error = KeyError.new(receiver: receiver)
+ assert_equal(receiver, error.receiver)
+ end
+
+ def test_key
+ error = KeyError.new(key: :key)
+ assert_equal(:key, error.key)
+ end
+
+ def test_receiver_and_key
+ receiver = Object.new
+ error = KeyError.new(receiver: receiver, key: :key)
+ assert_equal([receiver, :key],
+ [error.receiver, error.key])
+ end
+
+ def test_all
+ receiver = Object.new
+ error = KeyError.new("Message", receiver: receiver, key: :key)
+ assert_equal(["Message", receiver, :key],
+ [error.message, error.receiver, error.key])
+ end
+end