mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Remove warnings of flip-flop deprecation from tests and specs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bae638ad5b
commit
bf7a32d220
5 changed files with 34 additions and 12 deletions
|
@ -25,7 +25,7 @@ describe "The -e command line option" do
|
||||||
|
|
||||||
describe "with -n and a Fixnum range" do
|
describe "with -n and a Fixnum range" do
|
||||||
before :each do
|
before :each do
|
||||||
@script = "-ne 'print if %s' #{fixture(__FILE__, "conditional_range.txt")}"
|
@script = "-W0 -ne 'print if %s' #{fixture(__FILE__, "conditional_range.txt")}"
|
||||||
end
|
end
|
||||||
|
|
||||||
it "mimics an awk conditional by comparing an inclusive-end range with $." do
|
it "mimics an awk conditional by comparing an inclusive-end range with $." do
|
||||||
|
|
|
@ -235,19 +235,22 @@ describe "The if expression" do
|
||||||
describe "with a boolean range ('flip-flop' operator)" do
|
describe "with a boolean range ('flip-flop' operator)" do
|
||||||
before :each do
|
before :each do
|
||||||
ScratchPad.record []
|
ScratchPad.record []
|
||||||
|
@verbose = $VERBOSE
|
||||||
|
$VERBOSE = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
after :each do
|
after :each do
|
||||||
ScratchPad.clear
|
ScratchPad.clear
|
||||||
|
$VERBOSE = @verbose
|
||||||
end
|
end
|
||||||
|
|
||||||
it "mimics an awk conditional with a single-element inclusive-end range" do
|
it "mimics an awk conditional with a single-element inclusive-end range" do
|
||||||
10.times { |i| ScratchPad << i if (i == 4)..(i == 4) }
|
eval "10.times { |i| ScratchPad << i if (i == 4)..(i == 4) }"
|
||||||
ScratchPad.recorded.should == [4]
|
ScratchPad.recorded.should == [4]
|
||||||
end
|
end
|
||||||
|
|
||||||
it "mimics an awk conditional with a many-element inclusive-end range" do
|
it "mimics an awk conditional with a many-element inclusive-end range" do
|
||||||
10.times { |i| ScratchPad << i if (i == 4)..(i == 7) }
|
eval "10.times { |i| ScratchPad << i if (i == 4)..(i == 7) }"
|
||||||
ScratchPad.recorded.should == [4, 5, 6, 7]
|
ScratchPad.recorded.should == [4, 5, 6, 7]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -257,12 +260,12 @@ describe "The if expression" do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "mimics a sed conditional with a many-element exclusive-end range" do
|
it "mimics a sed conditional with a many-element exclusive-end range" do
|
||||||
10.times { |i| ScratchPad << i if (i == 4)...(i == 5) }
|
eval "10.times { |i| ScratchPad << i if (i == 4)...(i == 5) }"
|
||||||
ScratchPad.recorded.should == [4, 5]
|
ScratchPad.recorded.should == [4, 5]
|
||||||
end
|
end
|
||||||
|
|
||||||
it "allows combining two flip-flops" do
|
it "allows combining two flip-flops" do
|
||||||
10.times { |i| ScratchPad << i if (i == 4)...(i == 5) or (i == 7)...(i == 8) }
|
eval "10.times { |i| ScratchPad << i if (i == 4)...(i == 5) or (i == 7)...(i == 8) }"
|
||||||
ScratchPad.recorded.should == [4, 5, 7, 8]
|
ScratchPad.recorded.should == [4, 5, 7, 8]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -280,18 +283,18 @@ describe "The if expression" do
|
||||||
|
|
||||||
it "evaluates the second conditions lazily with inclusive-end range" do
|
it "evaluates the second conditions lazily with inclusive-end range" do
|
||||||
collector = proc { |i| ScratchPad << i }
|
collector = proc { |i| ScratchPad << i }
|
||||||
10.times { |i| i if (i == 4)...collector[i] }
|
eval "10.times { |i| i if (i == 4)...collector[i] }"
|
||||||
ScratchPad.recorded.should == [5]
|
ScratchPad.recorded.should == [5]
|
||||||
end
|
end
|
||||||
|
|
||||||
it "evaluates the second conditions lazily with exclusive-end range" do
|
it "evaluates the second conditions lazily with exclusive-end range" do
|
||||||
collector = proc { |i| ScratchPad << i }
|
collector = proc { |i| ScratchPad << i }
|
||||||
10.times { |i| i if (i == 4)..collector[i] }
|
eval "10.times { |i| i if (i == 4)..collector[i] }"
|
||||||
ScratchPad.recorded.should == [4]
|
ScratchPad.recorded.should == [4]
|
||||||
end
|
end
|
||||||
|
|
||||||
it "scopes state by flip-flop" do
|
it "scopes state by flip-flop" do
|
||||||
store_me = proc { |i| ScratchPad << i if (i == 4)..(i == 7) }
|
store_me = eval("proc { |i| ScratchPad << i if (i == 4)..(i == 7) }")
|
||||||
store_me[1]
|
store_me[1]
|
||||||
store_me[4]
|
store_me[4]
|
||||||
proc { store_me[1] }.call
|
proc { store_me[1] }.call
|
||||||
|
|
|
@ -301,8 +301,14 @@ describe "Operators" do
|
||||||
from = 1
|
from = 1
|
||||||
to = 2
|
to = 2
|
||||||
# These are Range instances, not flip-flop
|
# These are Range instances, not flip-flop
|
||||||
(from..to ? 3 : 4).should == 3
|
@verbose = $VERBOSE
|
||||||
(from...to ? 3 : 4).should == 3
|
$VERBOSE = nil
|
||||||
|
begin
|
||||||
|
(eval("from..to") ? 3 : 4).should == 3
|
||||||
|
(eval("from...to") ? 3 : 4).should == 3
|
||||||
|
ensure
|
||||||
|
$VERBOSE = @verbose
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "? : is right-associative" do
|
it "? : is right-associative" do
|
||||||
|
|
|
@ -2,7 +2,16 @@
|
||||||
require 'test/unit'
|
require 'test/unit'
|
||||||
|
|
||||||
class TestFlip < Test::Unit::TestCase
|
class TestFlip < Test::Unit::TestCase
|
||||||
|
def setup
|
||||||
|
@verbose_bak, $VERBOSE = $VERBOSE, nil
|
||||||
|
end
|
||||||
|
|
||||||
|
def teardown
|
||||||
|
$VERBOSE = @verbose_bak
|
||||||
|
end
|
||||||
|
|
||||||
def test_flip_flop
|
def test_flip_flop
|
||||||
|
eval <<-END
|
||||||
assert_equal [4,5], (1..9).select {|n| true if (n==4)..(n==5)}
|
assert_equal [4,5], (1..9).select {|n| true if (n==4)..(n==5)}
|
||||||
assert_equal [4,5], (1..9).select {|n| true if (n==4)...(n==5)}
|
assert_equal [4,5], (1..9).select {|n| true if (n==4)...(n==5)}
|
||||||
assert_equal [2], (1..9).select {|n| true if (n==2)..(n%2).zero?}
|
assert_equal [2], (1..9).select {|n| true if (n==2)..(n%2).zero?}
|
||||||
|
@ -10,6 +19,7 @@ class TestFlip < Test::Unit::TestCase
|
||||||
assert_equal [4,5,7,8], (1..9).select {|n| true if (n==4)...(n==5) or (n==7)...(n==8)}
|
assert_equal [4,5,7,8], (1..9).select {|n| true if (n==4)...(n==5) or (n==7)...(n==8)}
|
||||||
assert_equal [nil, 2, 3, 4, nil], (1..5).map {|x| x if (x==2..x==4)}
|
assert_equal [nil, 2, 3, 4, nil], (1..5).map {|x| x if (x==2..x==4)}
|
||||||
assert_equal [1, nil, nil, nil, 5], (1..5).map {|x| x if !(x==2..x==4)}
|
assert_equal [1, nil, nil, nil, 5], (1..5).map {|x| x if !(x==2..x==4)}
|
||||||
|
END
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_hidden_key
|
def test_hidden_key
|
||||||
|
@ -25,13 +35,13 @@ class TestFlip < Test::Unit::TestCase
|
||||||
def test_shared_eval
|
def test_shared_eval
|
||||||
bug7671 = '[ruby-core:51296]'
|
bug7671 = '[ruby-core:51296]'
|
||||||
vs = (1..9).to_a
|
vs = (1..9).to_a
|
||||||
vs.select {|n| if n==2..n==16 then 1 end}
|
eval("vs.select {|n| if n==2..n==16 then 1 end}")
|
||||||
v = eval("vs.select {|n| if n==3..n==6 then 1 end}")
|
v = eval("vs.select {|n| if n==3..n==6 then 1 end}")
|
||||||
assert_equal([*3..6], v, bug7671)
|
assert_equal([*3..6], v, bug7671)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_shared_thread
|
def test_shared_thread
|
||||||
ff = proc {|n| true if n==3..n==5}
|
ff = eval("proc {|n| true if n==3..n==5}")
|
||||||
v = 1..9
|
v = 1..9
|
||||||
a = true
|
a = true
|
||||||
th = Thread.new {
|
th = Thread.new {
|
||||||
|
|
|
@ -94,10 +94,13 @@ class TestJIT < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_compile_insn_setspecial
|
def test_compile_insn_setspecial
|
||||||
|
verbose_bak, $VERBOSE = $VERBOSE, nil
|
||||||
assert_compile_once("#{<<~"begin;"}\n#{<<~"end;"}", result_inspect: 'true', insns: %i[setspecial])
|
assert_compile_once("#{<<~"begin;"}\n#{<<~"end;"}", result_inspect: 'true', insns: %i[setspecial])
|
||||||
begin;
|
begin;
|
||||||
true if nil.nil?..nil.nil?
|
true if nil.nil?..nil.nil?
|
||||||
end;
|
end;
|
||||||
|
ensure
|
||||||
|
$VERBOSE = verbose_bak
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_compile_insn_instancevariable
|
def test_compile_insn_instancevariable
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue