aboutsummaryrefslogtreecommitdiffstats
path: root/basictest
diff options
context:
space:
mode:
Diffstat (limited to 'basictest')
-rwxr-xr-xbasictest/test.rb13
1 files changed, 10 insertions, 3 deletions
diff --git a/basictest/test.rb b/basictest/test.rb
index a2eb107bce..52008b78db 100755
--- a/basictest/test.rb
+++ b/basictest/test.rb
@@ -2137,7 +2137,7 @@ $_ = foobar
test_ok($_ == foobar)
class Gods
- @@rule = "Uranus" # private to Gods
+ @@rule = "Uranus"
def ruler0
@@rule
end
@@ -2160,7 +2160,7 @@ module Olympians
end
class Titans < Gods
- @@rule = "Cronus" # do not affect @@rule in Gods
+ @@rule = "Cronus" # modifies @@rule in Gods
include Olympians
def ruler4
@@rule
@@ -2175,7 +2175,14 @@ test_ok(Titans.ruler2 == "Cronus")
atlas = Titans.new
test_ok(atlas.ruler0 == "Cronus")
test_ok(atlas.ruler3 == "Zeus")
-test_ok(atlas.ruler4 == "Cronus")
+begin
+ atlas.ruler4
+rescue RuntimeError => e
+ test_ok(e.message.include?("class variable @@rule of Olympians is overtaken by Gods"))
+else
+ test_ok(false)
+end
+test_ok(atlas.ruler3 == "Zeus")
test_check "trace"
$x = 1234