diff options
| author | Ryuta Kamizono <kamipo@gmail.com> | 2018-01-10 04:59:33 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-10 04:59:33 +0900 | 
| commit | d7d6921540d5cd45d5925db3b632f3a7e122ab5c (patch) | |
| tree | e7ad826119d2287abb31d56e13787c10a4656a64 /activerecord/test | |
| parent | 33721a71e39d5a228ae3cd7949fa83198dc3eaa9 (diff) | |
| parent | b75a67cdef06cbf0a5a4feb1be9c74f31b89b28a (diff) | |
| download | rails-d7d6921540d5cd45d5925db3b632f3a7e122ab5c.tar.gz rails-d7d6921540d5cd45d5925db3b632f3a7e122ab5c.tar.bz2 rails-d7d6921540d5cd45d5925db3b632f3a7e122ab5c.zip | |
Merge pull request #27597 from brchristian/first_last_parity
Consistency between first() and last() with limit
Diffstat (limited to 'activerecord/test')
| -rw-r--r-- | activerecord/test/cases/finder_test.rb | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/activerecord/test/cases/finder_test.rb b/activerecord/test/cases/finder_test.rb index c0485a7be7..95bd987551 100644 --- a/activerecord/test/cases/finder_test.rb +++ b/activerecord/test/cases/finder_test.rb @@ -687,6 +687,24 @@ class FinderTest < ActiveRecord::TestCase      assert_equal comments.limit(2).to_a.last(3), comments.limit(2).last(3)    end +  def test_first_on_relation_with_limit_and_offset +    post = posts("sti_comments") + +    comments = post.comments.order(id: :asc) +    assert_equal comments.limit(2).to_a.first, comments.limit(2).first +    assert_equal comments.limit(2).to_a.first(2), comments.limit(2).first(2) +    assert_equal comments.limit(2).to_a.first(3), comments.limit(2).first(3) + +    assert_equal comments.offset(2).to_a.first, comments.offset(2).first +    assert_equal comments.offset(2).to_a.first(2), comments.offset(2).first(2) +    assert_equal comments.offset(2).to_a.first(3), comments.offset(2).first(3) + +    comments = comments.offset(1) +    assert_equal comments.limit(2).to_a.first, comments.limit(2).first +    assert_equal comments.limit(2).to_a.first(2), comments.limit(2).first(2) +    assert_equal comments.limit(2).to_a.first(3), comments.limit(2).first(3) +  end +    def test_take_and_first_and_last_with_integer_should_return_an_array      assert_kind_of Array, Topic.take(5)      assert_kind_of Array, Topic.first(5) | 
