diff options
Diffstat (limited to 'spec/ruby/core/range/shared')
| -rw-r--r-- | spec/ruby/core/range/shared/cover.rb | 58 | ||||
| -rw-r--r-- | spec/ruby/core/range/shared/cover_and_include.rb | 26 | ||||
| -rw-r--r-- | spec/ruby/core/range/shared/include.rb | 2 |
3 files changed, 46 insertions, 40 deletions
diff --git a/spec/ruby/core/range/shared/cover.rb b/spec/ruby/core/range/shared/cover.rb index f3c7d22668..eaefb45942 100644 --- a/spec/ruby/core/range/shared/cover.rb +++ b/spec/ruby/core/range/shared/cover.rb @@ -1,4 +1,4 @@ -# -*- encoding: binary -*- +# encoding: binary require_relative '../../../spec_helper' require_relative '../fixtures/classes' @@ -151,45 +151,43 @@ describe :range_cover_subrange, shared: true do end end - ruby_version_is "2.7" do - it "allows self to be a beginless range" do - eval("(...10)").send(@method, (3..7)).should be_true - eval("(...10)").send(@method, (3..15)).should be_false + it "allows self to be a beginless range" do + (...10).send(@method, (3..7)).should be_true + (...10).send(@method, (3..15)).should be_false - eval("(..7.9)").send(@method, (2.5..6.5)).should be_true - eval("(..7.9)").send(@method, (2.5..8.5)).should be_false + (..7.9).send(@method, (2.5..6.5)).should be_true + (..7.9).send(@method, (2.5..8.5)).should be_false - eval("(..'i')").send(@method, ('d'..'f')).should be_true - eval("(..'i')").send(@method, ('d'..'z')).should be_false - end + (..'i').send(@method, ('d'..'f')).should be_true + (..'i').send(@method, ('d'..'z')).should be_false + end - it "allows self to be a endless range" do - eval("(0...)").send(@method, (3..7)).should be_true - eval("(5...)").send(@method, (3..15)).should be_false + it "allows self to be a endless range" do + eval("(0...)").send(@method, (3..7)).should be_true + eval("(5...)").send(@method, (3..15)).should be_false - eval("(1.1..)").send(@method, (2.5..6.5)).should be_true - eval("(3.3..)").send(@method, (2.5..8.5)).should be_false + eval("(1.1..)").send(@method, (2.5..6.5)).should be_true + eval("(3.3..)").send(@method, (2.5..8.5)).should be_false - eval("('a'..)").send(@method, ('d'..'f')).should be_true - eval("('p'..)").send(@method, ('d'..'z')).should be_false - end + eval("('a'..)").send(@method, ('d'..'f')).should be_true + eval("('p'..)").send(@method, ('d'..'z')).should be_false + end - it "accepts beginless range argument" do - eval("(..10)").send(@method, eval("(...10)")).should be_true - (0..10).send(@method, eval("(...10)")).should be_false + it "accepts beginless range argument" do + (..10).send(@method, (...10)).should be_true + (0..10).send(@method, (...10)).should be_false - (1.1..7.9).send(@method, eval("(...10.5)")).should be_false + (1.1..7.9).send(@method, (...10.5)).should be_false - ('c'..'i').send(@method, eval("(..'i')")).should be_false - end + ('c'..'i').send(@method, (..'i')).should be_false + end - it "accepts endless range argument" do - eval("(0..)").send(@method, eval("(0...)")).should be_true - (0..10).send(@method, eval("(0...)")).should be_false + it "accepts endless range argument" do + eval("(0..)").send(@method, eval("(0...)")).should be_true + (0..10).send(@method, eval("(0...)")).should be_false - (1.1..7.9).send(@method, eval("(0.8...)")).should be_false + (1.1..7.9).send(@method, eval("(0.8...)")).should be_false - ('c'..'i').send(@method, eval("('a'..)")).should be_false - end + ('c'..'i').send(@method, eval("('a'..)")).should be_false end end diff --git a/spec/ruby/core/range/shared/cover_and_include.rb b/spec/ruby/core/range/shared/cover_and_include.rb index e978e39af5..13fc5e1790 100644 --- a/spec/ruby/core/range/shared/cover_and_include.rb +++ b/spec/ruby/core/range/shared/cover_and_include.rb @@ -1,4 +1,4 @@ -# -*- encoding: binary -*- +# encoding: binary require_relative '../../../spec_helper' describe :range_cover_and_include, shared: true do @@ -20,15 +20,24 @@ describe :range_cover_and_include, shared: true do end it "returns true if other is an element of self for endless ranges" do - eval("(1..)").send(@method, 2.4).should == true - eval("(0.5...)").send(@method, 2.4).should == true + (1..).send(@method, 2.4).should == true + (0.5...).send(@method, 2.4).should == true end - ruby_version_is "2.7" do - it "returns true if other is an element of self for beginless ranges" do - eval("(..10)").send(@method, 2.4).should == true - eval("(...10.5)").send(@method, 2.4).should == true - end + it "returns true if other is an element of self for beginless ranges" do + (..10).send(@method, 2.4).should == true + (...10.5).send(@method, 2.4).should == true + end + + it "returns false if values are not comparable" do + (1..10).send(@method, nil).should == false + (1...10).send(@method, nil).should == false + + (..10).send(@method, nil).should == false + (...10).send(@method, nil).should == false + + (1..).send(@method, nil).should == false + (1...).send(@method, nil).should == false end it "compares values using <=>" do @@ -59,7 +68,6 @@ describe :range_cover_and_include, shared: true do it "returns true if argument is less than the last value of the range and greater than the first value" do (20..30).send(@method, 28).should be_true ('e'..'h').send(@method, 'g').should be_true - ("\u{999}".."\u{9999}").send @method, "\u{9995}" end it "returns true if argument is sole element in the range" do diff --git a/spec/ruby/core/range/shared/include.rb b/spec/ruby/core/range/shared/include.rb index c6c5c2becf..15a0e5fb9f 100644 --- a/spec/ruby/core/range/shared/include.rb +++ b/spec/ruby/core/range/shared/include.rb @@ -1,4 +1,4 @@ -# -*- encoding: binary -*- +# encoding: binary require_relative '../../../spec_helper' require_relative '../fixtures/classes' |
