]> git.openstreetmap.org Git - rails.git/blob - vendor/plugins/validates_email_format_of/test/test_helper.rb
Merge -r 20198:20540 from trunc into openstreetbugs branch
[rails.git] / vendor / plugins / validates_email_format_of / test / test_helper.rb
1 $:.unshift(File.dirname(__FILE__) + '/../lib')
2
3 require 'rubygems'
4 require 'active_record'
5 require 'active_record/base'
6
7 require 'validates_email_format_of'
8
9 ActiveRecord::Base.establish_connection(
10   :adapter  => 'sqlite3',
11   :database => ':memory:')
12
13 ActiveRecord::Schema.define(:version => 0) do
14   create_table :users, :force => true do |t|
15     t.column 'email', :string
16   end
17 end
18
19 class Person < ActiveRecord::Base
20   validates_email_format_of :email, :on => :create, :message => 'fails with custom message', :allow_nil => true
21 end
22
23 require 'test/unit'
24 require 'shoulda'
25 require "#{File.dirname(__FILE__)}/../init"
26
27 class Test::Unit::TestCase #:nodoc:
28   def self.should_allow_values(klass,*good_values)
29     good_values.each do |v|
30       should "allow email to be set to #{v.inspect}" do
31         user = klass.new(:email => v)
32         user.save
33         assert_nil user.errors.on(:email)
34       end
35     end
36   end
37
38   def self.should_not_allow_values(klass,*bad_values)
39     bad_values.each do |v|
40       should "not allow email to be set to #{v.inspect}" do
41         user = klass.new(:email => v)
42         assert !user.save, "Saved user with email set to \"#{v}\""
43         assert user.errors.on(:email), "There are no errors set on email after being set to \"#{v}\""
44       end
45     end
46   end
47 end