aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/validations/confirmation_validation_test.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-03-20 15:07:49 +0000
committerPratik Naik <pratiknaik@gmail.com>2009-03-20 15:07:49 +0000
commit60756ad4ece2298e85353ed50853f1d260e0d27a (patch)
tree0caa0e62b956a2db414a1d1b51c69eb50b8d6467 /activemodel/test/cases/validations/confirmation_validation_test.rb
parente945bcfe4a519e6cf7349443c48fecce2e8c9d67 (diff)
downloadrails-60756ad4ece2298e85353ed50853f1d260e0d27a.tar.gz
rails-60756ad4ece2298e85353ed50853f1d260e0d27a.tar.bz2
rails-60756ad4ece2298e85353ed50853f1d260e0d27a.zip
Move relevant validation tests from Active Record to Active Model
Diffstat (limited to 'activemodel/test/cases/validations/confirmation_validation_test.rb')
-rw-r--r--activemodel/test/cases/validations/confirmation_validation_test.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations/confirmation_validation_test.rb b/activemodel/test/cases/validations/confirmation_validation_test.rb
new file mode 100644
index 0000000000..c3caa63d0b
--- /dev/null
+++ b/activemodel/test/cases/validations/confirmation_validation_test.rb
@@ -0,0 +1,51 @@
+# encoding: utf-8
+require 'cases/helper'
+require 'cases/test_database'
+
+require 'models/topic'
+require 'models/developer'
+
+class ConfirmationValidationTest < ActiveModel::TestCase
+ include ActiveModel::TestDatabase
+ include ActiveModel::ValidationsRepairHelper
+
+ repair_validations(Topic)
+
+ def test_no_title_confirmation
+ Topic.validates_confirmation_of(:title)
+
+ t = Topic.new(:author_name => "Plutarch")
+ assert t.valid?
+
+ t.title_confirmation = "Parallel Lives"
+ assert !t.valid?
+
+ t.title_confirmation = nil
+ t.title = "Parallel Lives"
+ assert t.valid?
+
+ t.title_confirmation = "Parallel Lives"
+ assert t.valid?
+ end
+
+ def test_title_confirmation
+ Topic.validates_confirmation_of(:title)
+
+ t = Topic.create("title" => "We should be confirmed","title_confirmation" => "")
+ assert !t.save
+
+ t.title_confirmation = "We should be confirmed"
+ assert t.save
+ end
+
+ def test_validates_confirmation_of_with_custom_error_using_quotes
+ repair_validations(Developer) do
+ Developer.validates_confirmation_of :name, :message=> "confirm 'single' and \"double\" quotes"
+ d = Developer.new
+ d.name = "John"
+ d.name_confirmation = "Johnny"
+ assert !d.valid?
+ assert_equal ["confirm 'single' and \"double\" quotes"], d.errors[:name]
+ end
+ end
+end