diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-20 21:56:50 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-20 21:56:50 +0000 |
commit | ee8d110068e958b400987b5f224e14e292fd0558 (patch) | |
tree | a94385c7b5cddb6704d2e6d53aa8097bd5363198 /activerecord/test/finder_test.rb | |
parent | 9fe45f31ebeb772fdd1bc850c12cd465463e2ef7 (diff) | |
download | rails-ee8d110068e958b400987b5f224e14e292fd0558.tar.gz rails-ee8d110068e958b400987b5f224e14e292fd0558.tar.bz2 rails-ee8d110068e958b400987b5f224e14e292fd0558.zip |
Added adapter independent limit clause as a two-element array with the first being the limit, the second being the offset #795 [Sam Stephenson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@944 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/finder_test.rb')
-rwxr-xr-x | activerecord/test/finder_test.rb | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/activerecord/test/finder_test.rb b/activerecord/test/finder_test.rb index 3b239b581c..de6d240faa 100755 --- a/activerecord/test/finder_test.rb +++ b/activerecord/test/finder_test.rb @@ -4,7 +4,7 @@ require 'fixtures/topic' require 'fixtures/entrant' class FinderTest < Test::Unit::TestCase - fixtures :companies, :topics, :entrants + fixtures :companies, :topics, :entrants, :developers def test_find assert_equal(@topics["first"]["title"], Topic.find(1).title) @@ -244,6 +244,33 @@ class FinderTest < Test::Unit::TestCase assert_raises(ActiveRecord::StatementInvalid) { Topic.find_by_sql "select 1 from badtable" } end + def test_find_all_with_limit + first_five_developers = Developer.find_all nil, 'id ASC', 5 + assert_equal 5, first_five_developers.length + assert_equal 'David', first_five_developers.first.name + assert_equal 'fixture_5', first_five_developers.last.name + + no_developers = Developer.find_all nil, 'id ASC', 0 + assert_equal 0, no_developers.length + + assert_equal first_five_developers, Developer.find_all(nil, 'id ASC', [5]) + assert_equal no_developers, Developer.find_all(nil, 'id ASC', [0]) + end + + def test_find_all_with_limit_and_offset + first_three_developers = Developer.find_all nil, 'id ASC', [3, 0] + second_three_developers = Developer.find_all nil, 'id ASC', [3, 3] + last_two_developers = Developer.find_all nil, 'id ASC', [3, 8] + + assert_equal 3, first_three_developers.length + assert_equal 3, second_three_developers.length + assert_equal 2, last_two_developers.length + + assert_equal 'David', first_three_developers.first.name + assert_equal 'fixture_4', second_three_developers.first.name + assert_equal 'fixture_9', last_two_developers.first.name + end + protected def bind(statement, *vars) if vars.first.is_a?(Hash) |