diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-16 18:31:23 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-29 10:43:09 +0900 |
| commit | 32ffd810118f368aa651a58b53e38b675105dab9 (patch) | |
| tree | 579fb4850592c442acf89a27465ec78e87693df2 | |
| parent | cb636215bb98cb152ef6371f8bedb8929f7efa23 (diff) | |
| download | mruby-32ffd810118f368aa651a58b53e38b675105dab9.tar.gz mruby-32ffd810118f368aa651a58b53e38b675105dab9.zip | |
Add beginless/endless ranges tests.
| -rw-r--r-- | mrbgems/mruby-range-ext/test/range.rb | 1 | ||||
| -rw-r--r-- | test/t/range.rb | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/mrbgems/mruby-range-ext/test/range.rb b/mrbgems/mruby-range-ext/test/range.rb index 169ba7169..6bb7890b8 100644 --- a/mrbgems/mruby-range-ext/test/range.rb +++ b/mrbgems/mruby-range-ext/test/range.rb @@ -15,6 +15,7 @@ assert('Range#first') do assert_equal [10, 11, 12], (10..20).first(3) assert_equal 10, (10..).first assert_equal [10, 11, 12], (10..).first(3) + assert_raise(RangeError) { (..1).first } skip unless Object.const_defined?(:Float) assert_equal [0, 1, 2], (0..Float::INFINITY).first(3) diff --git a/test/t/range.rb b/test/t/range.rb index 13843ff08..b5196cd9a 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -9,11 +9,16 @@ assert('Range#==', '15.2.14.4.1') do assert_true (1..10) == (1..10) assert_false (1..10) == (1..100) assert_false (1..10) == (1..) + assert_false (1..10) == (..10) assert_true (1..) == (1..nil) assert_true (1..) == (1..) assert_false (1..) == (1...) + assert_true (..1) == (nil..1) + assert_true (..1) == (..1) + assert_false (..1) == (...1) + skip unless Object.const_defined?(:Float) assert_true (1..10) == Range.new(1.0, 10.0) @@ -22,16 +27,20 @@ end assert('Range#===', '15.2.14.4.2') do a = (1..10) b = (1..) + c = (..10) assert_true a === 5 assert_false a === 20 assert_true b === 20 assert_false b === 0 + assert_false c === 20 + assert_true c === 0 end assert('Range#begin', '15.2.14.4.3') do assert_equal 1, (1..10).begin assert_equal 1, (1..).begin + assert_nil (..1).begin end assert('Range#each', '15.2.14.4.4') do @@ -47,6 +56,7 @@ end assert('Range#end', '15.2.14.4.5') do assert_equal 10, (1..10).end assert_nil (1..).end + assert_equal 10, (..10).end end assert('Range#exclude_end?', '15.2.14.4.6') do @@ -54,6 +64,8 @@ assert('Range#exclude_end?', '15.2.14.4.6') do assert_false (1..10).exclude_end? assert_true (1...).exclude_end? assert_false (1..).exclude_end? + assert_true (...1).exclude_end? + assert_false (..1).exclude_end? end assert('Range#first', '15.2.14.4.7') do @@ -66,11 +78,15 @@ assert('Range#include?', '15.2.14.4.8') do assert_false (1..10).include?(11) assert_true (1..).include?(10) assert_false (1..).include?(0) + assert_true (..10).include?(10) + assert_true (..10).include?(0) assert_true (1...10).include?(9) assert_false (1...10).include?(10) assert_true (1...).include?(10) assert_false (1...).include?(0) + assert_false (...10).include?(10) + assert_true (...10).include?(0) end assert('Range#initialize', '15.2.14.4.9') do |
