1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Add a frozenness check test for Enumerator::Lazy#initialize.

* test/ruby/test_lazy_enumerator.rb
  (TestLazyEnumerator#test_initialize): Make sure
  Enumerator::Lazy#initialize raises error if the object is
  frozen.  The check was performed by rb_ivar_set() before
  rb_check_frozen() was added to enumerator_init().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2013-07-29 12:20:19 +00:00
parent f2f18dab7c
commit 952e444877
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,11 @@
Mon Jul 29 21:15:30 2013 Akinori MUSHA <knu@iDaemons.org>
* test/ruby/test_lazy_enumerator.rb
(TestLazyEnumerator#test_initialize): Make sure
Enumerator::Lazy#initialize raises error if the object is
frozen. The check was performed by rb_ivar_set() before
rb_check_frozen() was added to enumerator_init().
Mon Jul 29 21:06:42 2013 Akinori MUSHA <knu@iDaemons.org>
* enumerator.c (enumerator_init): Add a frozenness check to

View file

@ -22,6 +22,12 @@ class TestLazyEnumerator < Test::Unit::TestCase
assert_equal([1, 2, 3], [1, 2, 3].lazy.to_a)
assert_equal([1, 2, 3], Enumerator::Lazy.new([1, 2, 3]){|y, v| y << v}.to_a)
assert_raise(ArgumentError) { Enumerator::Lazy.new([1, 2, 3]) }
a = [1, 2, 3].lazy
a.freeze
assert_raise(RuntimeError) {
a.__send__ :initialize, [4, 5], &->(y, *v) { y << yield(*v) }
}
end
def test_each_args