From 176d93d72a9322f7f8e41aea0b06a857b7ba23aa Mon Sep 17 00:00:00 2001 From: ksss Date: Thu, 17 Nov 2016 14:57:30 +0900 Subject: Ranges should not rewrite --- test/t/range.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'test/t/range.rb') diff --git a/test/t/range.rb b/test/t/range.rb index 278b26902..c542c8f06 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -57,6 +57,8 @@ assert('Range#initialize', '15.2.14.4.9') do assert_true a.exclude_end? assert_equal (1..10), b assert_false b.exclude_end? + + assert_raise(NameError) { (0..1).send(:initialize, 1, 3) } end assert('Range#last', '15.2.14.4.10') do -- cgit v1.2.3 From 4ef591c89705a9ec10aaf8f323d8f73304c0097a Mon Sep 17 00:00:00 2001 From: ksss Date: Fri, 18 Nov 2016 10:01:03 +0900 Subject: Fix condition of Range#include? --- src/range.c | 2 +- test/t/range.rb | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'test/t/range.rb') diff --git a/src/range.c b/src/range.c index 079a1035e..7b304011a 100644 --- a/src/range.c +++ b/src/range.c @@ -229,7 +229,7 @@ mrb_range_include(mrb_state *mrb, mrb_value range) end = r->edges->end; include_p = r_le(mrb, beg, val) && /* beg <= val */ ((r->excl && r_gt(mrb, end, val)) || /* end > val */ - (r_ge(mrb, end, val))); /* end >= val */ + (!r->excl && r_ge(mrb, end, val))); /* end >= val */ return mrb_bool_value(include_p); } diff --git a/test/t/range.rb b/test/t/range.rb index 278b26902..2ff89de4c 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -43,10 +43,11 @@ assert('Range#first', '15.2.14.4.7') do end assert('Range#include?', '15.2.14.4.8') do - a = (1..10) + assert_true (1..10).include?(10) + assert_false (1..10).include?(11) - assert_true a.include?(5) - assert_false a.include?(20) + assert_true (1...10).include?(9) + assert_false (1...10).include?(10) end assert('Range#initialize', '15.2.14.4.9') do -- cgit v1.2.3