diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2011-04-26 14:55:22 -0700 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2011-04-26 14:55:22 -0700 |
commit | 344c7766a5e9e8e360cdcbb581caa146aaf69a67 (patch) | |
tree | 6a75ceb552ca9a6b66eb5002562222da710f4b9c | |
parent | 4ce14fb0809ea8d636be0a1790fa38eafe64a46f (diff) | |
parent | 74634d452b3087575fe7b912da9827021aed4a70 (diff) | |
download | rails-344c7766a5e9e8e360cdcbb581caa146aaf69a67.tar.gz rails-344c7766a5e9e8e360cdcbb581caa146aaf69a67.tar.bz2 rails-344c7766a5e9e8e360cdcbb581caa146aaf69a67.zip |
Merged pull request #317 from jaredonline/master.
Change Array#from to return consistent results
-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 |