aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_call.rb13
2 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fc8dcf4175..9d4b6a4391 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 30 12:53:21 2015 yui-knk <spiketeika@gmail.com>
+
+ * test/ruby/test_call.rb: added test for safe navigation operator.
+ [fix GH-1066]
+
Fri Oct 30 12:47:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* ChangeLog: fix wrong commit name.
diff --git a/test/ruby/test_call.rb b/test/ruby/test_call.rb
index d2406743af..12793a7572 100644
--- a/test/ruby/test_call.rb
+++ b/test/ruby/test_call.rb
@@ -52,4 +52,17 @@ class TestCall < Test::Unit::TestCase
assert_nothing_raised(NoMethodError) {o.?x = 6}
assert_nothing_raised(NoMethodError) {o.?x *= 7}
end
+
+ def test_safe_call_evaluate_arguments_only_method_call_is_made
+ count = 0
+ proc = proc { count += 1; 1 }
+ s = Struct.new(:x, :y)
+ o = s.new(["a", "b", "c"])
+
+ o.y.?at(proc.call)
+ assert_equal(0, count)
+
+ o.x.?at(proc.call)
+ assert_equal(1, count)
+ end
end