зеркало из https://github.com/github/ruby.git
Revert "Remove warnings of flip-flop deprecation from tests and specs"
This reverts commit bf7a32d220
.
flip-flop is no longer deprecated.
[Feature #5400]
This commit is contained in:
Родитель
cd0e208963
Коммит
d92289cd8d
|
@ -25,7 +25,7 @@ describe "The -e command line option" do
|
|||
|
||||
describe "with -n and a Fixnum range" do
|
||||
before :each do
|
||||
@script = "-W0 -ne 'print if %s' #{fixture(__FILE__, "conditional_range.txt")}"
|
||||
@script = "-ne 'print if %s' #{fixture(__FILE__, "conditional_range.txt")}"
|
||||
end
|
||||
|
||||
it "mimics an awk conditional by comparing an inclusive-end range with $." do
|
||||
|
|
|
@ -233,22 +233,19 @@ describe "The if expression" do
|
|||
describe "with a boolean range ('flip-flop' operator)" do
|
||||
before :each do
|
||||
ScratchPad.record []
|
||||
@verbose = $VERBOSE
|
||||
$VERBOSE = nil
|
||||
end
|
||||
|
||||
after :each do
|
||||
ScratchPad.clear
|
||||
$VERBOSE = @verbose
|
||||
end
|
||||
|
||||
it "mimics an awk conditional with a single-element inclusive-end range" do
|
||||
eval "10.times { |i| ScratchPad << i if (i == 4)..(i == 4) }"
|
||||
10.times { |i| ScratchPad << i if (i == 4)..(i == 4) }
|
||||
ScratchPad.recorded.should == [4]
|
||||
end
|
||||
|
||||
it "mimics an awk conditional with a many-element inclusive-end range" do
|
||||
eval "10.times { |i| ScratchPad << i if (i == 4)..(i == 7) }"
|
||||
10.times { |i| ScratchPad << i if (i == 4)..(i == 7) }
|
||||
ScratchPad.recorded.should == [4, 5, 6, 7]
|
||||
end
|
||||
|
||||
|
@ -258,12 +255,12 @@ describe "The if expression" do
|
|||
end
|
||||
|
||||
it "mimics a sed conditional with a many-element exclusive-end range" do
|
||||
eval "10.times { |i| ScratchPad << i if (i == 4)...(i == 5) }"
|
||||
10.times { |i| ScratchPad << i if (i == 4)...(i == 5) }
|
||||
ScratchPad.recorded.should == [4, 5]
|
||||
end
|
||||
|
||||
it "allows combining two flip-flops" do
|
||||
eval "10.times { |i| ScratchPad << i if (i == 4)...(i == 5) or (i == 7)...(i == 8) }"
|
||||
10.times { |i| ScratchPad << i if (i == 4)...(i == 5) or (i == 7)...(i == 8) }
|
||||
ScratchPad.recorded.should == [4, 5, 7, 8]
|
||||
end
|
||||
|
||||
|
@ -281,18 +278,18 @@ describe "The if expression" do
|
|||
|
||||
it "evaluates the second conditions lazily with inclusive-end range" do
|
||||
collector = proc { |i| ScratchPad << i }
|
||||
eval "10.times { |i| i if (i == 4)...collector[i] }"
|
||||
10.times { |i| i if (i == 4)...collector[i] }
|
||||
ScratchPad.recorded.should == [5]
|
||||
end
|
||||
|
||||
it "evaluates the second conditions lazily with exclusive-end range" do
|
||||
collector = proc { |i| ScratchPad << i }
|
||||
eval "10.times { |i| i if (i == 4)..collector[i] }"
|
||||
10.times { |i| i if (i == 4)..collector[i] }
|
||||
ScratchPad.recorded.should == [4]
|
||||
end
|
||||
|
||||
it "scopes state by flip-flop" do
|
||||
store_me = eval("proc { |i| ScratchPad << i if (i == 4)..(i == 7) }")
|
||||
store_me = proc { |i| ScratchPad << i if (i == 4)..(i == 7) }
|
||||
store_me[1]
|
||||
store_me[4]
|
||||
proc { store_me[1] }.call
|
||||
|
|
|
@ -301,10 +301,8 @@ describe "Operators" do
|
|||
from = 1
|
||||
to = 2
|
||||
# These are Range instances, not flip-flop
|
||||
suppress_warning do
|
||||
(eval("from..to") ? 3 : 4).should == 3
|
||||
(eval("from...to") ? 3 : 4).should == 3
|
||||
end
|
||||
(from..to ? 3 : 4).should == 3
|
||||
(from...to ? 3 : 4).should == 3
|
||||
end
|
||||
|
||||
it "? : is right-associative" do
|
||||
|
|
|
@ -2,16 +2,7 @@
|
|||
require 'test/unit'
|
||||
|
||||
class TestFlip < Test::Unit::TestCase
|
||||
def setup
|
||||
@verbose_bak, $VERBOSE = $VERBOSE, nil
|
||||
end
|
||||
|
||||
def teardown
|
||||
$VERBOSE = @verbose_bak
|
||||
end
|
||||
|
||||
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 [2], (1..9).select {|n| true if (n==2)..(n%2).zero?}
|
||||
|
@ -19,7 +10,6 @@ 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 [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)}
|
||||
END
|
||||
end
|
||||
|
||||
def test_hidden_key
|
||||
|
@ -35,14 +25,14 @@ class TestFlip < Test::Unit::TestCase
|
|||
def test_shared_eval
|
||||
bug7671 = '[ruby-core:51296]'
|
||||
vs = (1..9).to_a
|
||||
eval("vs.select {|n| if n==2..n==16 then 1 end}")
|
||||
vs.select {|n| if n==2..n==16 then 1 end}
|
||||
v = eval("vs.select {|n| if n==3..n==6 then 1 end}")
|
||||
assert_equal([*3..6], v, bug7671)
|
||||
vs
|
||||
end
|
||||
|
||||
def test_shared_thread
|
||||
ff = eval("proc {|n| true if n==3..n==5}")
|
||||
ff = proc {|n| true if n==3..n==5}
|
||||
v = 1..9
|
||||
a = true
|
||||
th = Thread.new {
|
||||
|
|
|
@ -112,13 +112,10 @@ class TestJIT < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_compile_insn_setspecial
|
||||
verbose_bak, $VERBOSE = $VERBOSE, nil
|
||||
assert_compile_once("#{<<~"begin;"}\n#{<<~"end;"}", result_inspect: 'true', insns: %i[setspecial])
|
||||
begin;
|
||||
true if nil.nil?..nil.nil?
|
||||
end;
|
||||
ensure
|
||||
$VERBOSE = verbose_bak
|
||||
end
|
||||
|
||||
def test_compile_insn_instancevariable
|
||||
|
|
Загрузка…
Ссылка в новой задаче