diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2004-12-19 11:25:55 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2004-12-19 11:25:55 +0000 |
commit | 7b5ed66122873eebb773a6418f3a94d946cc4f8c (patch) | |
tree | 63c77291a6c78c7446bb5041b062bc8485a0fb5f /activerecord/test | |
parent | 61960e7b37767140e9af68bd5373e06dce08492d (diff) | |
download | rails-7b5ed66122873eebb773a6418f3a94d946cc4f8c.tar.gz rails-7b5ed66122873eebb773a6418f3a94d946cc4f8c.tar.bz2 rails-7b5ed66122873eebb773a6418f3a94d946cc4f8c.zip |
Added respondence to *_before_type_cast for all attributes to return their string-state before they were type casted by the column type. Added use of *_before_type_cast for all input and text fields.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test')
-rwxr-xr-x | activerecord/test/abstract_unit.rb | 2 | ||||
-rw-r--r-- | activerecord/test/fixtures/developer.rb | 6 | ||||
-rw-r--r-- | activerecord/test/fixtures/developers.yml | 3 | ||||
-rwxr-xr-x | activerecord/test/validations_test.rb | 9 |
4 files changed, 15 insertions, 5 deletions
diff --git a/activerecord/test/abstract_unit.rb b/activerecord/test/abstract_unit.rb index 293f3ba6b3..67984a4609 100755 --- a/activerecord/test/abstract_unit.rb +++ b/activerecord/test/abstract_unit.rb @@ -4,6 +4,8 @@ $:.unshift(File.dirname(__FILE__) + '/../lib') require 'test/unit' require 'active_record' require 'active_record/fixtures' +require 'active_record/support/binding_of_caller' +require 'active_record/support/breakpoint' require 'connection' class Test::Unit::TestCase #:nodoc: diff --git a/activerecord/test/fixtures/developer.rb b/activerecord/test/fixtures/developer.rb index 1c4cc30506..78f8f54db7 100644 --- a/activerecord/test/fixtures/developer.rb +++ b/activerecord/test/fixtures/developer.rb @@ -1,8 +1,6 @@ class Developer < ActiveRecord::Base has_and_belongs_to_many :projects - protected - def validate - errors.add_on_boundary_breaking("name", 3..20) - end + validates_inclusion_of :salary, :in => 50000..200000 + validates_length_of :name, :within => 3..20 end diff --git a/activerecord/test/fixtures/developers.yml b/activerecord/test/fixtures/developers.yml index 733455f789..fc33af99b6 100644 --- a/activerecord/test/fixtures/developers.yml +++ b/activerecord/test/fixtures/developers.yml @@ -1,13 +1,16 @@ david: id: 1 name: David + salary: 80000 jamis: id: 2 name: Jamis + salary: 150000 <% for digit in 3..10 %> dev_<%= digit %>: id: <%= digit %> name: fixture_<%= digit %> + salary: 100000 <% end %>
\ No newline at end of file diff --git a/activerecord/test/validations_test.rb b/activerecord/test/validations_test.rb index b6c9cfed7d..8949206706 100755 --- a/activerecord/test/validations_test.rb +++ b/activerecord/test/validations_test.rb @@ -348,4 +348,11 @@ class ValidationsTest < Test::Unit::TestCase assert_equal "hoo 5", t.errors["title"] end -end + + def test_throw_away_typing + d = Developer.create "name" => "David", "salary" => "100,000" + assert !d.valid? + assert_not_equal "100,000", d.salary + assert_equal "100,000", d.salary_before_type_cast + end +end
\ No newline at end of file |