[前][次][番号順一覧][スレッド一覧]

ruby-changes:72197

From: Jemma <ko1@a...>
Date: Fri, 17 Jun 2022 00:48:21 +0900 (JST)
Subject: [ruby-changes:72197] 51835135a0 (master): Added tests for setting ivars on frozen objs

https://git.ruby-lang.org/ruby.git/commit/?id=51835135a0

From 51835135a0586f439f581beece13df20100123f0 Mon Sep 17 00:00:00 2001
From: Jemma Issroff <jemmaissroff@g...>
Date: Wed, 15 Jun 2022 15:18:55 -0400
Subject: Added tests for setting ivars on frozen objs

---
 test/ruby/test_frozen.rb | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 test/ruby/test_frozen.rb

diff --git a/test/ruby/test_frozen.rb b/test/ruby/test_frozen.rb
new file mode 100644
index 0000000000..2918a2afd8
--- /dev/null
+++ b/test/ruby/test_frozen.rb
@@ -0,0 +1,30 @@ https://github.com/ruby/ruby/blob/trunk/test/ruby/test_frozen.rb#L1
+# frozen_string_literal: false
+require 'test/unit'
+
+class TestFrozen < Test::Unit::TestCase
+  def test_setting_ivar_on_frozen_obj
+    obj = Object.new
+    obj.freeze
+    assert_raise(FrozenError) { obj.instance_variable_set(:@a, 1) }
+  end
+
+  def test_setting_ivar_on_frozen_obj_with_ivars
+    obj = Object.new
+    obj.instance_variable_set(:@a, 1)
+    obj.freeze
+    assert_raise(FrozenError) { obj.instance_variable_set(:@b, 1) }
+  end
+
+  def test_setting_ivar_on_frozen_string
+    str = "str"
+    str.freeze
+    assert_raise(FrozenError) { str.instance_variable_set(:@a, 1) }
+  end
+
+  def test_setting_ivar_on_frozen_string_with_ivars
+    str = "str"
+    str.instance_variable_set(:@a, 1)
+    str.freeze
+    assert_raise(FrozenError) { str.instance_variable_set(:@b, 1) }
+  end
+end
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]