diff options
author | Jared McFarland <jared.online@gmail.com> | 2011-04-26 14:46:52 -0700 |
---|---|---|
committer | Jared McFarland <jared.online@gmail.com> | 2011-04-26 14:46:52 -0700 |
commit | 74634d452b3087575fe7b912da9827021aed4a70 (patch) | |
tree | 6a75ceb552ca9a6b66eb5002562222da710f4b9c /activesupport | |
parent | 4ce14fb0809ea8d636be0a1790fa38eafe64a46f (diff) | |
download | rails-74634d452b3087575fe7b912da9827021aed4a70.tar.gz rails-74634d452b3087575fe7b912da9827021aed4a70.tar.bz2 rails-74634d452b3087575fe7b912da9827021aed4a70.zip |
fixing Array#from to return consistent results
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/core_ext/array/access.rb | 4 | ||||
-rw-r--r-- | activesupport/test/core_ext/array_ext_test.rb | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/activesupport/lib/active_support/core_ext/array/access.rb b/activesupport/lib/active_support/core_ext/array/access.rb index c69a015f12..a2086fa3e5 100644 --- a/activesupport/lib/active_support/core_ext/array/access.rb +++ b/activesupport/lib/active_support/core_ext/array/access.rb @@ -3,10 +3,10 @@ class Array # # %w( a b c d ).from(0) # => %w( a b c d ) # %w( a b c d ).from(2) # => %w( c d ) - # %w( a b c d ).from(10) # => nil + # %w( a b c d ).from(10) # => %w() # %w().from(0) # => %w() def from(position) - self[position..-1] + position > length ? [] : self[position..-1] end # Returns the beginning of the array up to +position+. diff --git a/activesupport/test/core_ext/array_ext_test.rb b/activesupport/test/core_ext/array_ext_test.rb index d7ab3ce605..0e5407bc35 100644 --- a/activesupport/test/core_ext/array_ext_test.rb +++ b/activesupport/test/core_ext/array_ext_test.rb @@ -10,7 +10,7 @@ class ArrayExtAccessTests < Test::Unit::TestCase def test_from assert_equal %w( a b c d ), %w( a b c d ).from(0) assert_equal %w( c d ), %w( a b c d ).from(2) - assert_nil %w( a b c d ).from(10) + assert_equal %w(), %w( a b c d ).from(10) end def test_to |