diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-17 10:46:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-17 10:46:21 +0000 |
commit | 989e07c0f2fa664a54e52a475c2fcc145f06539d (patch) | |
tree | 186a5a0e86de3ab43f0f641f41ba4c48e060f53b /test | |
parent | d50ecb63ec02043865a4217af7e738f22ea6e8c7 (diff) | |
download | ruby-989e07c0f2fa664a54e52a475c2fcc145f06539d.tar.gz |
range.c: === by cover?
* range.c (range_eqq): switch `Range#===` to use `cover?` instead
of `include?`. [Feature #14575]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_range.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb index 5f2e970324..c98b130456 100644 --- a/test/ruby/test_range.rb +++ b/test/ruby/test_range.rb @@ -473,6 +473,16 @@ class TestRange < Test::Unit::TestCase assert_operator(c.new(0)..c.new(10), :===, c.new(5), bug12003) end + def test_eqq_non_iteratable + k = Class.new do + include Comparable + attr_reader :i + def initialize(i) @i = i; end + def <=>(o); i <=> o.i; end + end + assert_operator(k.new(0)..k.new(2), :===, k.new(1)) + end + def test_include assert_include("a".."z", "c") assert_not_include("a".."z", "5") |