summaryrefslogtreecommitdiffhomepage
path: root/test/t/nameerror.rb
blob: 3e3c592642716bcdd822650b24cb8f8dfd2b2c43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
##
# NameError ISO Test

assert('NameError', '15.2.31') do
  assert_equal Class, NameError.class
end

assert('NameError superclass', '15.2.31.2') do
  assert_equal StandardError, NameError.superclass
end

assert('NameError#name', '15.2.31.2.1') do

  # This check is not duplicate with 15.2.31.2.2 check.
  # Because the NameError in this test is generated in
  # C API.
  class TestDummy
    alias foo bar
  rescue NameError => e
    $test_dummy_result = e.name
  end

  assert_equal :bar, $test_dummy_result
end

assert('NameError#initialize', '15.2.31.2.2') do
   e = NameError.new('a', :foo)

   assert_equal NameError, e.class
   assert_equal 'a', e.message
   assert_equal :foo, e.name
end