summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorh2so5 <[email protected]>2013-06-30 23:40:53 +0900
committerh2so5 <[email protected]>2013-06-30 23:40:53 +0900
commitdb0eaa6352da470fdeb735403b858738897e3871 (patch)
treec3ff17c40e70f920278f5d73dd480febad014b81
parent6852680d36f51579830e5878a52f9a4c2a6af85b (diff)
downloadmruby-db0eaa6352da470fdeb735403b858738897e3871.tar.gz
mruby-db0eaa6352da470fdeb735403b858738897e3871.zip
Fix Range#==
-rw-r--r--src/range.c4
-rw-r--r--test/t/range.rb1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/range.c b/src/range.c
index 43de0e799..7dd16ad5f 100644
--- a/src/range.c
+++ b/src/range.c
@@ -162,8 +162,8 @@ mrb_range_eq(mrb_state *mrb, mrb_value range)
rr = mrb_range_ptr(range);
ro = mrb_range_ptr(obj);
- if (!mrb_obj_equal(mrb, rr->edges->beg, ro->edges->beg) ||
- !mrb_obj_equal(mrb, rr->edges->end, ro->edges->end) ||
+ if (!mrb_bool(mrb_funcall(mrb, rr->edges->beg, "==", 1, ro->edges->beg)) ||
+ !mrb_bool(mrb_funcall(mrb, rr->edges->end, "==", 1, ro->edges->end)) ||
rr->excl != ro->excl) {
return mrb_false_value();
}
diff --git a/test/t/range.rb b/test/t/range.rb
index fdf6b415c..e8f57ecd5 100644
--- a/test/t/range.rb
+++ b/test/t/range.rb
@@ -12,6 +12,7 @@ end
assert('Range#==', '15.2.14.4.1') do
assert_true (1..10) == (1..10)
assert_false (1..10) == (1..100)
+ assert_true (1..10) == Range.new(1.0, 10.0)
end
assert('Range#===', '15.2.14.4.2') do