mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
ad63b668e2
This reverts commit 9a6803c90b
.
52 lines
757 B
Ruby
52 lines
757 B
Ruby
assert_equal 'ok', %q{
|
|
module M
|
|
class A
|
|
class << self
|
|
attr_accessor :at
|
|
def workflow_rule
|
|
yield self
|
|
end
|
|
|
|
def eval_str(str)
|
|
eval(str)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
begin
|
|
M::A.eval_str(<<-END)
|
|
workflow_rule do |r|
|
|
r.at 1
|
|
end
|
|
END
|
|
rescue ArgumentError => e
|
|
print "ok"
|
|
end
|
|
}, '[ruby-core:14641]'
|
|
|
|
assert_equal %{ok}, %{
|
|
class A
|
|
attr :m
|
|
end
|
|
begin
|
|
A.new.m(3)
|
|
rescue ArgumentError => e
|
|
print "ok"
|
|
end
|
|
}, '[ruby-core:15120]'
|
|
|
|
assert_equal %{ok}, %{
|
|
class Big
|
|
attr_reader :foo
|
|
def initialize
|
|
@foo = "ok"
|
|
end
|
|
end
|
|
|
|
obj = Big.new
|
|
100.times do |i|
|
|
obj.instance_variable_set(:"@ivar_\#{i}", i)
|
|
end
|
|
|
|
Big.new.foo
|
|
}
|