diff options
| author | ksss <[email protected]> | 2016-11-18 10:01:03 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2016-11-18 10:01:03 +0900 |
| commit | 4ef591c89705a9ec10aaf8f323d8f73304c0097a (patch) | |
| tree | 463e32a222f4c9bbebaf7e9e2dae1766410646e4 | |
| parent | 1685eff2a5e672173d67916a1c96648df92b7271 (diff) | |
| download | mruby-4ef591c89705a9ec10aaf8f323d8f73304c0097a.tar.gz mruby-4ef591c89705a9ec10aaf8f323d8f73304c0097a.zip | |
Fix condition of Range#include?
| -rw-r--r-- | src/range.c | 2 | ||||
| -rw-r--r-- | test/t/range.rb | 7 |
2 files changed, 5 insertions, 4 deletions
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 |
