aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_array.rb16
2 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b651f6f6e..6a51649a7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jan 23 22:30:59 2016 K0mA <mctj1218@gmail.com>
+
+ * test/ruby/test_array.rb (test_keep_if): Add test for
+ Array#keep_if separate from Array#select! [Fix GH-1218]
+
Sat Jan 23 20:54:26 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* common.mk: revert r53633. It broke rubyci and travis.
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb
index b1fc473f86..436906ae32 100644
--- a/test/ruby/test_array.rb
+++ b/test/ruby/test_array.rb
@@ -2081,7 +2081,6 @@ class TestArray < Test::Unit::TestCase
def test_select!
a = @cls[ 1, 2, 3, 4, 5 ]
assert_equal(nil, a.select! { true })
- assert_equal(a, a.keep_if { true })
assert_equal(@cls[1, 2, 3, 4, 5], a)
a = @cls[ 1, 2, 3, 4, 5 ]
@@ -2103,6 +2102,21 @@ class TestArray < Test::Unit::TestCase
assert_equal(@cls[7, 8, 9, 10], a, bug10722)
end
+ # also select!
+ def test_keep_if
+ a = @cls[ 1, 2, 3, 4, 5 ]
+ assert_equal(a, a.keep_if { true })
+ assert_equal(@cls[1, 2, 3, 4, 5], a)
+
+ a = @cls[ 1, 2, 3, 4, 5 ]
+ assert_equal(a, a.keep_if { false })
+ assert_equal(@cls[], a)
+
+ a = @cls[ 1, 2, 3, 4, 5 ]
+ assert_equal(a, a.keep_if { |i| i > 3 })
+ assert_equal(@cls[4, 5], a)
+ end
+
def test_delete2
a = [0] * 1024 + [1] + [0] * 1024
a.delete(0)