Feature #8184 ยป range_init_patch.diff
| range.c | ||
|---|---|---|
|
static VALUE
|
||
|
range_check(VALUE *args)
|
||
|
{
|
||
|
if (args[0] == Qnil || args[0] == Qfalse || args[0] == Qtrue)
|
||
|
return Qnil;
|
||
|
return rb_funcall(args[0], id_cmp, 1, args[1]);
|
||
|
}
|
||
| test/ruby/test_range.rb | ||
|---|---|---|
|
assert_raise(ArgumentError) { (1 .. :a) }
|
||
|
end
|
||
|
def test_nil_false_true_ranges
|
||
|
[nil, false, true].each {|value| assert_raise(ArgumentError) { (value..value) } }
|
||
|
end
|
||
|
def test_exclude_end
|
||
|
assert(!((0..1).exclude_end?))
|
||
|
assert((0...1).exclude_end?)
|
||