mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
caa535286d
* bootstraptest/test_*.rb: add bootstarp tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
232 lines
2.3 KiB
Ruby
232 lines
2.3 KiB
Ruby
assert_equal %q{ok}, %q{
|
|
def m
|
|
:ng1
|
|
mm{
|
|
yield
|
|
}
|
|
:ng2
|
|
end
|
|
|
|
def mm
|
|
:ng3
|
|
yield
|
|
:ng4
|
|
end
|
|
|
|
m{
|
|
break :ok
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
3.times{
|
|
break :ok
|
|
}
|
|
}
|
|
assert_equal %q{}, %q{
|
|
catch(:foo){
|
|
throw :foo
|
|
}
|
|
}
|
|
assert_equal %q{false}, %q{
|
|
catch(:foo){
|
|
throw :foo, false
|
|
}
|
|
}
|
|
assert_equal %q{}, %q{
|
|
catch(:foo){
|
|
throw :foo, nil
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
catch(:foo){
|
|
throw :foo, :ok
|
|
}
|
|
}
|
|
assert_equal %q{}, %q{
|
|
catch(:foo){
|
|
1.times{
|
|
throw :foo
|
|
}
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
catch(:foo){
|
|
1.times{
|
|
throw :foo, :ok
|
|
}
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
catch(:foo){
|
|
catch(:bar){
|
|
throw :foo, :ok
|
|
}
|
|
:ng
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
catch(:foo){
|
|
catch(:bar){
|
|
1.times{
|
|
throw :foo, :ok
|
|
}
|
|
}
|
|
:ng
|
|
}
|
|
}
|
|
assert_equal %q{2}, %q{
|
|
module Enumerable
|
|
def all_?
|
|
self.each{|e|
|
|
unless yield(e)
|
|
return false
|
|
end
|
|
}
|
|
true
|
|
end
|
|
end
|
|
|
|
xxx = 0
|
|
[1,2].each{|bi|
|
|
[3,4].each{|bj|
|
|
[true, nil, true].all_?{|be| be}
|
|
break
|
|
}
|
|
xxx += 1
|
|
}
|
|
xxx
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m
|
|
yield
|
|
end
|
|
|
|
m{
|
|
begin
|
|
ensure
|
|
break :ok
|
|
end
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m
|
|
yield
|
|
:ok
|
|
end
|
|
i=0
|
|
m{
|
|
if i>10
|
|
i*i
|
|
else
|
|
i+=1
|
|
next
|
|
end
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m
|
|
yield
|
|
end
|
|
|
|
m{
|
|
next :ok
|
|
}
|
|
}
|
|
assert_equal %q{131}, %q{
|
|
def m
|
|
yield + 10
|
|
end
|
|
i=0
|
|
m{
|
|
if i>10
|
|
i*i
|
|
else
|
|
i+=1
|
|
redo
|
|
end
|
|
}
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m a
|
|
yield
|
|
end
|
|
|
|
i=0
|
|
m(i+=1){
|
|
retry if i<10
|
|
:ok
|
|
}
|
|
}
|
|
assert_equal %q{3}, %q{
|
|
def m
|
|
return 3
|
|
end
|
|
m
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m
|
|
:ng1
|
|
mm{
|
|
return :ok
|
|
}
|
|
:ng2
|
|
end
|
|
|
|
def mm
|
|
:ng3
|
|
yield
|
|
:ng4
|
|
end
|
|
m
|
|
}
|
|
assert_equal %q{100}, %q{
|
|
$i = 0
|
|
def m
|
|
begin
|
|
iter{
|
|
return
|
|
}
|
|
ensure
|
|
$i = 100
|
|
end
|
|
end
|
|
|
|
def iter
|
|
yield
|
|
end
|
|
m
|
|
$i
|
|
}
|
|
assert_equal %q{ok}, %q{
|
|
def m
|
|
begin
|
|
raise
|
|
rescue
|
|
return :ok
|
|
end
|
|
:ng
|
|
end
|
|
m
|
|
}
|
|
assert_equal %q{1}, %q{
|
|
def m
|
|
begin
|
|
raise
|
|
rescue
|
|
return 1
|
|
end
|
|
end
|
|
|
|
m
|
|
}
|
|
assert_equal %q{1}, %q{
|
|
def m
|
|
begin
|
|
#
|
|
ensure
|
|
return 1
|
|
end
|
|
end
|
|
|
|
m
|
|
}
|