1require 'test/unit' 2require "-test-/string/string" 3 4class Test_StrSetLen < Test::Unit::TestCase 5 def setup 6 @s0 = [*"a".."z"].join("").freeze 7 @s1 = Bug::String.new(@s0) 8 end 9 10 def teardown 11 orig = [*"a".."z"].join("") 12 assert_equal(orig, @s0) 13 end 14 15 def test_non_shared 16 @s1.modify! 17 assert_equal("abc", @s1.set_len(3)) 18 end 19 20 def test_shared 21 assert_raise(RuntimeError) { 22 assert_equal("abc", @s1.set_len(3)) 23 } 24 end 25end 26