diff options
| -rw-r--r-- | src/range.c | 2 | ||||
| -rw-r--r-- | test/t/range.rb | 15 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/range.c b/src/range.c index 426695a94..2cdc34f5c 100644 --- a/src/range.c +++ b/src/range.c @@ -43,8 +43,8 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl) struct RRange *r; r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS); - r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); range_check(mrb, beg, end); + r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); r->edges->beg = beg; r->edges->end = end; r->excl = excl; diff --git a/test/t/range.rb b/test/t/range.rb index 691ca7898..21bcb5c55 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -48,14 +48,13 @@ assert('Range#include', '15.2.14.4.8') do a.include?(5) and not a.include?(20) end -# TODO SEGFAULT ATM -#assert('Range#initialize', '15.2.14.4.9') do -# a = Range.new(1, 10, true) -# b = Range.new(1, 10, false) -# -# a == (1..10) and a.exclude_end? and b == (1..10) and -# not b.exclude_end? -#end +assert('Range#initialize', '15.2.14.4.9') do + a = Range.new(1, 10, true) + b = Range.new(1, 10, false) + + a == (1...10) and a.exclude_end? and b == (1..10) and + not b.exclude_end? +end assert('Range#last', '15.2.14.4.10') do (1..10).last == 10 |
