summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_array.rb28
2 files changed, 33 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f3fc58050..a3139aff2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jun 16 19:57:24 2004 Michal Rokos <michal@ruby-lang.org>
+
+ * test/ruby/test_array.rb: extend testcase to check #first, #last,
+ #shift, #unshift, #pop, #push
+
Wed Jun 16 16:05:17 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* array.c (ary_new): move alloc behind checks. [ruby-core:02982]
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb
index 3e63dd2f5..79e658fa8 100644
--- a/test/ruby/test_array.rb
+++ b/test/ruby/test_array.rb
@@ -98,4 +98,32 @@ class TestArray < Test::Unit::TestCase
x.concat(x)
assert_equal([1,2,3,1,2,3], x)
end
+
+ def test_beg_end
+ x = [1, 2, 3, 4, 5]
+
+ assert_equal(1, x.first)
+ assert_equal([1], x.first(1))
+ assert_equal([1, 2, 3], x.first(3))
+
+ assert_equal(5, x.last)
+ assert_equal([5], x.last(1))
+ assert_equal([3, 4, 5], x.last(3))
+
+ assert_equal(1, x.shift)
+ assert_equal([2, 3, 4], x.shift(3))
+ assert_equal([5], x)
+
+ assert_equal([2, 3, 4, 5], x.unshift(2, 3, 4))
+ assert_equal([1, 2, 3, 4, 5], x.unshift(1))
+ assert_equal([1, 2, 3, 4, 5], x)
+
+ assert_equal(5, x.pop)
+ assert_equal([3, 4], x.pop(2))
+ assert_equal([1, 2], x)
+
+ assert_equal([1, 2, 3, 4], x.push(3, 4))
+ assert_equal([1, 2, 3, 4, 5], x.push(5))
+ assert_equal([1, 2, 3, 4, 5], x)
+ end
end