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
33
|
require 'test/unit'
class TestConst < Test::Unit::TestCase
TEST1 = 1
TEST2 = 2
module Const
TEST3 = 3
TEST4 = 4
end
module Const2
TEST3 = 6
TEST4 = 8
end
def test_const
self.class.class_eval {
include Const
}
assert_equal([1,2,3,4], [TEST1,TEST2,TEST3,TEST4])
self.class.class_eval {
include Const2
}
STDERR.print "intentionally redefines TEST3, TEST4\n" if $VERBOSE
assert_equal([1,2,6,8], [TEST1,TEST2,TEST3,TEST4])
assert_equal(-1, (String <=> Object))
assert_equal(1, (Object <=> String))
assert_equal(nil, (Array <=> String))
end
end
|