summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-struct/test/struct.rb
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2017-04-21 17:23:54 +0900
committertake_cheeze <[email protected]>2017-04-21 17:23:54 +0900
commitda5b7fa769442b41a3dc67f2a8ab9db399910508 (patch)
tree57391641e35c9e7966a6591048e09593de8cb93b /mrbgems/mruby-struct/test/struct.rb
parent94bcdca64fb08e3724c1a5cf6ce25f6f9c6e041e (diff)
downloadmruby-da5b7fa769442b41a3dc67f2a8ab9db399910508.tar.gz
mruby-da5b7fa769442b41a3dc67f2a8ab9db399910508.zip
Support freeze in `Struct`.
Diffstat (limited to 'mrbgems/mruby-struct/test/struct.rb')
-rw-r--r--mrbgems/mruby-struct/test/struct.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/mrbgems/mruby-struct/test/struct.rb b/mrbgems/mruby-struct/test/struct.rb
index 1c0939e7f..421fe4b5d 100644
--- a/mrbgems/mruby-struct/test/struct.rb
+++ b/mrbgems/mruby-struct/test/struct.rb
@@ -197,3 +197,16 @@ assert("Struct.new generates subclass of Struct") do
Struct = original_struct
end
end
+
+assert 'Struct#freeze' do
+ c = Struct.new :m
+
+ o = c.new
+ o.m = :test
+ assert_equal :test, o.m
+
+ o.freeze
+ assert_raise(RuntimeError) { o.m = :modify }
+ assert_raise(RuntimeError) { o[:m] = :modify }
+ assert_equal :test, o.m
+end