durran-validatable 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +118 -0
 - data/Rakefile +55 -0
 - data/VERSION.yml +4 -0
 - data/lib/child_validation.rb +15 -0
 - data/lib/errors.rb +90 -0
 - data/lib/included_validation.rb +9 -0
 - data/lib/macros.rb +306 -0
 - data/lib/object_extension.rb +21 -0
 - data/lib/requireable.rb +26 -0
 - data/lib/understandable.rb +31 -0
 - data/lib/validatable.rb +25 -0
 - data/lib/validatable_class_methods.rb +85 -0
 - data/lib/validatable_instance_methods.rb +116 -0
 - data/lib/validations/validates_acceptance_of.rb +14 -0
 - data/lib/validations/validates_associated.rb +13 -0
 - data/lib/validations/validates_confirmation_of.rb +23 -0
 - data/lib/validations/validates_each.rb +14 -0
 - data/lib/validations/validates_format_of.rb +16 -0
 - data/lib/validations/validates_length_of.rb +30 -0
 - data/lib/validations/validates_numericality_of.rb +27 -0
 - data/lib/validations/validates_presence_of.rb +17 -0
 - data/lib/validations/validates_true_for.rb +13 -0
 - data/lib/validations/validation_base.rb +91 -0
 - data/test/all_tests.rb +1 -0
 - data/test/functional/test_validatable.rb +589 -0
 - data/test/functional/test_validates_acceptance_of.rb +16 -0
 - data/test/functional/test_validates_associated.rb +41 -0
 - data/test/functional/test_validates_confirmation_of.rb +56 -0
 - data/test/functional/test_validates_each.rb +14 -0
 - data/test/functional/test_validates_format_of.rb +34 -0
 - data/test/functional/test_validates_length_of.rb +64 -0
 - data/test/functional/test_validates_numericality_of.rb +57 -0
 - data/test/functional/test_validates_presence_of.rb +16 -0
 - data/test/functional/test_validates_true_for.rb +27 -0
 - data/test/test_helper.rb +33 -0
 - data/test/unit/test_errors.rb +70 -0
 - data/test/unit/test_understandable.rb +19 -0
 - data/test/unit/test_validatable.rb +38 -0
 - data/test/unit/test_validates_acceptance_of.rb +45 -0
 - data/test/unit/test_validates_associated.rb +29 -0
 - data/test/unit/test_validates_confirmation_of.rb +76 -0
 - data/test/unit/test_validates_format_of.rb +44 -0
 - data/test/unit/test_validates_length_of.rb +80 -0
 - data/test/unit/test_validates_numericality_of.rb +76 -0
 - data/test/unit/test_validates_presence_of.rb +35 -0
 - data/test/unit/test_validates_true_for.rb +29 -0
 - data/test/unit/test_validation_base.rb +52 -0
 - metadata +126 -0
 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              expect [:c, :b, :a] do
         
     | 
| 
      
 5 
     | 
    
         
            +
                a = Class.new do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  include Validatable::Understandable
         
     | 
| 
      
 7 
     | 
    
         
            +
                  understands :a
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
                b = Class.new(a) do
         
     | 
| 
      
 10 
     | 
    
         
            +
                  include Validatable::Understandable
         
     | 
| 
      
 11 
     | 
    
         
            +
                  understands :b
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
                c = Class.new(b) do
         
     | 
| 
      
 14 
     | 
    
         
            +
                  include Validatable::Understandable
         
     | 
| 
      
 15 
     | 
    
         
            +
                  understands :c
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
                c.all_understandings
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 5 
     | 
    
         
            +
                validation = stub_everything(:should_validate? => true, :attribute => "attribute", :level => 1, :groups => [])
         
     | 
| 
      
 6 
     | 
    
         
            +
                klass = Class.new do
         
     | 
| 
      
 7 
     | 
    
         
            +
                  include Validatable
         
     | 
| 
      
 8 
     | 
    
         
            +
                  validations << validation
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
                klass.new.valid?
         
     | 
| 
      
 11 
     | 
    
         
            +
              end
         
     | 
| 
      
 12 
     | 
    
         
            +
              
         
     | 
| 
      
 13 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 14 
     | 
    
         
            +
                klass = Class.new do
         
     | 
| 
      
 15 
     | 
    
         
            +
                  include Validatable
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
                instance = klass.new
         
     | 
| 
      
 18 
     | 
    
         
            +
                instance.errors.add(:attribute, "message")
         
     | 
| 
      
 19 
     | 
    
         
            +
                instance.valid?
         
     | 
| 
      
 20 
     | 
    
         
            +
                instance.errors.empty?
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
              
         
     | 
| 
      
 23 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 24 
     | 
    
         
            +
                klass = Class.new do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  include Validatable
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
                klass.validation_keys_include?("anything")
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
              
         
     | 
| 
      
 30 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 31 
     | 
    
         
            +
                validation = stub_everything(:key => "key")
         
     | 
| 
      
 32 
     | 
    
         
            +
                klass = Class.new do
         
     | 
| 
      
 33 
     | 
    
         
            +
                  include Validatable
         
     | 
| 
      
 34 
     | 
    
         
            +
                  validations << validation
         
     | 
| 
      
 35 
     | 
    
         
            +
                end
         
     | 
| 
      
 36 
     | 
    
         
            +
                klass.validation_keys_include?("key")
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,45 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 5 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance
         
     | 
| 
      
 6 
     | 
    
         
            +
                instance = stub(:acceptance=>'1')
         
     | 
| 
      
 7 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
              
         
     | 
| 
      
 10 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 11 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance
         
     | 
| 
      
 12 
     | 
    
         
            +
                instance = stub(:acceptance=>'t')
         
     | 
| 
      
 13 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
              
         
     | 
| 
      
 16 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 17 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance
         
     | 
| 
      
 18 
     | 
    
         
            +
                instance = stub(:acceptance=>'true')
         
     | 
| 
      
 19 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
              
         
     | 
| 
      
 22 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 23 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance, :allow_nil => true
         
     | 
| 
      
 24 
     | 
    
         
            +
                instance = stub(:acceptance=>nil)
         
     | 
| 
      
 25 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
              
         
     | 
| 
      
 28 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 29 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance, :allow_blank => true
         
     | 
| 
      
 30 
     | 
    
         
            +
                instance = stub(:acceptance=>'')
         
     | 
| 
      
 31 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
              
         
     | 
| 
      
 34 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 35 
     | 
    
         
            +
                validation = Validatable::ValidatesAcceptanceOf.new stub_everything, :acceptance
         
     | 
| 
      
 36 
     | 
    
         
            +
                instance = stub(:acceptance=>'0')
         
     | 
| 
      
 37 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 38 
     | 
    
         
            +
              end
         
     | 
| 
      
 39 
     | 
    
         
            +
              
         
     | 
| 
      
 40 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 41 
     | 
    
         
            +
                options = {:message => nil, :if => nil, :times => nil, :level => nil, :groups => nil}
         
     | 
| 
      
 42 
     | 
    
         
            +
                Validatable::ValidatesAcceptanceOf.new(stub_everything, :test).must_understand(options)
         
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
              
         
     | 
| 
      
 45 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 6 
     | 
    
         
            +
                parent = stub('parent', :child => stub(:valid? => false))
         
     | 
| 
      
 7 
     | 
    
         
            +
                validation = Validatable::ValidatesAssociated.new stub_everything, :child
         
     | 
| 
      
 8 
     | 
    
         
            +
                validation.valid?(parent)
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 12 
     | 
    
         
            +
                parent = stub('parent', :child => stub(:valid? => true))
         
     | 
| 
      
 13 
     | 
    
         
            +
                validation = Validatable::ValidatesAssociated.new stub_everything, :child
         
     | 
| 
      
 14 
     | 
    
         
            +
                validation.valid?(parent)
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 18 
     | 
    
         
            +
                parent = stub('parent', :children => [stub(:valid? => false)])
         
     | 
| 
      
 19 
     | 
    
         
            +
                validation = Validatable::ValidatesAssociated.new stub_everything, :children
         
     | 
| 
      
 20 
     | 
    
         
            +
                validation.valid?(parent)
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 24 
     | 
    
         
            +
                parent = stub('parent', :children => [stub(:valid? => true)])
         
     | 
| 
      
 25 
     | 
    
         
            +
                validation = Validatable::ValidatesAssociated.new stub_everything, :children
         
     | 
| 
      
 26 
     | 
    
         
            +
                validation.valid?(parent)
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,76 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 6 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username
         
     | 
| 
      
 7 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>"username")
         
     | 
| 
      
 8 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
                
         
     | 
| 
      
 11 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 12 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username
         
     | 
| 
      
 13 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>"usessrname")
         
     | 
| 
      
 14 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 18 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :allow_nil => true
         
     | 
| 
      
 19 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>nil)
         
     | 
| 
      
 20 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
              
         
     | 
| 
      
 23 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 24 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :allow_blank => true
         
     | 
| 
      
 25 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>'')
         
     | 
| 
      
 26 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
              
         
     | 
| 
      
 29 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 30 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => false
         
     | 
| 
      
 31 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>"USERNAME")
         
     | 
| 
      
 32 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
              
         
     | 
| 
      
 35 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 36 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => true
         
     | 
| 
      
 37 
     | 
    
         
            +
                instance = stub(:username=>"username", :username_confirmation=>"USERNAME")
         
     | 
| 
      
 38 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
              
         
     | 
| 
      
 41 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 42 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => true
         
     | 
| 
      
 43 
     | 
    
         
            +
                validation.valid?(stub(:username => nil, :username_confirmation => 'something'))
         
     | 
| 
      
 44 
     | 
    
         
            +
              end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 47 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => true
         
     | 
| 
      
 48 
     | 
    
         
            +
                validation.valid?(stub(:username => 'something', :username_confirmation => nil))
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 52 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => true
         
     | 
| 
      
 53 
     | 
    
         
            +
                validation.valid?(stub(:username => nil, :username_confirmation => nil))
         
     | 
| 
      
 54 
     | 
    
         
            +
              end
         
     | 
| 
      
 55 
     | 
    
         
            +
              
         
     | 
| 
      
 56 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 57 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => false
         
     | 
| 
      
 58 
     | 
    
         
            +
                validation.valid?(stub(:username => nil, :username_confirmation => 'something'))
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 62 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => false
         
     | 
| 
      
 63 
     | 
    
         
            +
                validation.valid?(stub(:username => 'something', :username_confirmation => nil))
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 67 
     | 
    
         
            +
                validation = Validatable::ValidatesConfirmationOf.new stub_everything, :username, :case_sensitive => false
         
     | 
| 
      
 68 
     | 
    
         
            +
                validation.valid?(stub(:username => nil, :username_confirmation => nil))
         
     | 
| 
      
 69 
     | 
    
         
            +
              end
         
     | 
| 
      
 70 
     | 
    
         
            +
              
         
     | 
| 
      
 71 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 72 
     | 
    
         
            +
                options = { :message => nil, :if => nil, :times => nil, :level => nil, :groups => nil, :case_sensitive => nil }
         
     | 
| 
      
 73 
     | 
    
         
            +
                Validatable::ValidatesConfirmationOf.new(stub_everything, :test).must_understand(options)
         
     | 
| 
      
 74 
     | 
    
         
            +
              end
         
     | 
| 
      
 75 
     | 
    
         
            +
              
         
     | 
| 
      
 76 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,44 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 6 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :name, :with => /book/
         
     | 
| 
      
 7 
     | 
    
         
            +
                validation.valid?(stub_everything)
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
              
         
     | 
| 
      
 10 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 11 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :name, :with => /book/
         
     | 
| 
      
 12 
     | 
    
         
            +
                validation.valid?(stub(:name=>"book"))
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
              
         
     | 
| 
      
 15 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 16 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :name, :with => /book/, :allow_nil => true
         
     | 
| 
      
 17 
     | 
    
         
            +
                validation.valid?(stub(:name=>nil))
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     | 
| 
      
 20 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 21 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :name, :with => /book/, :allow_blank => true
         
     | 
| 
      
 22 
     | 
    
         
            +
                validation.valid?(stub(:name=>''))
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
              
         
     | 
| 
      
 25 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 26 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :age, :with => /14/
         
     | 
| 
      
 27 
     | 
    
         
            +
                validation.valid?(stub(:age=>14))
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
              
         
     | 
| 
      
 30 
     | 
    
         
            +
              expect ArgumentError do
         
     | 
| 
      
 31 
     | 
    
         
            +
                validation = Validatable::ValidatesFormatOf.new stub_everything, :age
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
              
         
     | 
| 
      
 34 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 35 
     | 
    
         
            +
                options = [:message, :if, :times, :level, :groups, :with, :key]
         
     | 
| 
      
 36 
     | 
    
         
            +
                Validatable::ValidatesFormatOf.new(stub_everything, :test, options.to_blank_options_hash).must_understand(options.to_blank_options_hash)
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
              
         
     | 
| 
      
 39 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 40 
     | 
    
         
            +
                options = [:with]
         
     | 
| 
      
 41 
     | 
    
         
            +
                Validatable::ValidatesFormatOf.new(stub_everything, :name, options.to_blank_options_hash).requires(options.to_blank_options_hash)
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
              
         
     | 
| 
      
 44 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,80 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 5 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :maximum => 8
         
     | 
| 
      
 6 
     | 
    
         
            +
                validation.valid?(stub(:username=>"usernamefdfd"))
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
              
         
     | 
| 
      
 9 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 10 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :minimum => 2
         
     | 
| 
      
 11 
     | 
    
         
            +
                instance = stub(:username=>"u")
         
     | 
| 
      
 12 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 16 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :minimum => 2, :maximum => 8
         
     | 
| 
      
 17 
     | 
    
         
            +
                instance = stub(:username=>"udfgdf")
         
     | 
| 
      
 18 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
              
         
     | 
| 
      
 21 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 22 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :is => 2
         
     | 
| 
      
 23 
     | 
    
         
            +
                instance = stub(:username=>"u")
         
     | 
| 
      
 24 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
              
         
     | 
| 
      
 27 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 28 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :is => 2
         
     | 
| 
      
 29 
     | 
    
         
            +
                instance = stub(:username=>"uu")
         
     | 
| 
      
 30 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
              
         
     | 
| 
      
 33 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 34 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4
         
     | 
| 
      
 35 
     | 
    
         
            +
                instance = stub(:username => "aa")
         
     | 
| 
      
 36 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 40 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4
         
     | 
| 
      
 41 
     | 
    
         
            +
                instance = stub(:username => "a")
         
     | 
| 
      
 42 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 46 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4
         
     | 
| 
      
 47 
     | 
    
         
            +
                instance = stub(:username => "aaaa")
         
     | 
| 
      
 48 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 52 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4
         
     | 
| 
      
 53 
     | 
    
         
            +
                instance = stub(:username => "aaaaa")
         
     | 
| 
      
 54 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 55 
     | 
    
         
            +
              end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 58 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4
         
     | 
| 
      
 59 
     | 
    
         
            +
                instance = stub(:username => nil)
         
     | 
| 
      
 60 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 61 
     | 
    
         
            +
              end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 64 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4, :allow_nil => true
         
     | 
| 
      
 65 
     | 
    
         
            +
                instance = stub(:username => nil)
         
     | 
| 
      
 66 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 67 
     | 
    
         
            +
              end
         
     | 
| 
      
 68 
     | 
    
         
            +
              
         
     | 
| 
      
 69 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 70 
     | 
    
         
            +
                validation = Validatable::ValidatesLengthOf.new stub_everything, :username, :within => 2..4, :allow_blank => true
         
     | 
| 
      
 71 
     | 
    
         
            +
                instance = stub(:username => '')
         
     | 
| 
      
 72 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 73 
     | 
    
         
            +
              end
         
     | 
| 
      
 74 
     | 
    
         
            +
              
         
     | 
| 
      
 75 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 76 
     | 
    
         
            +
                options = [:message, :if, :times, :level, :groups, :maximum, :minimum, :is, :within, :allow_nil]
         
     | 
| 
      
 77 
     | 
    
         
            +
                Validatable::ValidatesLengthOf.new(stub_everything, :test).must_understand(options.to_blank_options_hash)
         
     | 
| 
      
 78 
     | 
    
         
            +
              end
         
     | 
| 
      
 79 
     | 
    
         
            +
              
         
     | 
| 
      
 80 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,76 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
             
         
     | 
| 
      
 5 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 6 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :nothing
         
     | 
| 
      
 7 
     | 
    
         
            +
                instance = stub(:nothing => nil)
         
     | 
| 
      
 8 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 12 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_int
         
     | 
| 
      
 13 
     | 
    
         
            +
                instance = stub(:some_int => 50)
         
     | 
| 
      
 14 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 15 
     | 
    
         
            +
              end  
         
     | 
| 
      
 16 
     | 
    
         
            +
             
         
     | 
| 
      
 17 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 18 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_int
         
     | 
| 
      
 19 
     | 
    
         
            +
                instance = stub(:some_int => 0, :some_int_before_typecast => 'string')
         
     | 
| 
      
 20 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 21 
     | 
    
         
            +
              end  
         
     | 
| 
      
 22 
     | 
    
         
            +
              
         
     | 
| 
      
 23 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 24 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_int
         
     | 
| 
      
 25 
     | 
    
         
            +
                instance = stub(:some_int => 21, :some_int_before_typecast => '21')
         
     | 
| 
      
 26 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 27 
     | 
    
         
            +
              end  
         
     | 
| 
      
 28 
     | 
    
         
            +
             
         
     | 
| 
      
 29 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 30 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_int, :allow_nil => true
         
     | 
| 
      
 31 
     | 
    
         
            +
                instance = stub(:some_int => nil)
         
     | 
| 
      
 32 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 33 
     | 
    
         
            +
              end  
         
     | 
| 
      
 34 
     | 
    
         
            +
             
         
     | 
| 
      
 35 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 36 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_int, :allow_blank => true
         
     | 
| 
      
 37 
     | 
    
         
            +
                instance = stub(:some_int => '')
         
     | 
| 
      
 38 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 39 
     | 
    
         
            +
              end  
         
     | 
| 
      
 40 
     | 
    
         
            +
             
         
     | 
| 
      
 41 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 42 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_decimal
         
     | 
| 
      
 43 
     | 
    
         
            +
                instance = stub(:some_decimal => 1.23)
         
     | 
| 
      
 44 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 48 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_decimal, :only_integer => true
         
     | 
| 
      
 49 
     | 
    
         
            +
                instance = stub(:some_decimal => 1.23)
         
     | 
| 
      
 50 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
      
 52 
     | 
    
         
            +
              
         
     | 
| 
      
 53 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 54 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_negative_number, :only_integer => true
         
     | 
| 
      
 55 
     | 
    
         
            +
                instance = stub(:some_negative_number => "-1")
         
     | 
| 
      
 56 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 57 
     | 
    
         
            +
              end
         
     | 
| 
      
 58 
     | 
    
         
            +
              
         
     | 
| 
      
 59 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 60 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :some_non_numeric
         
     | 
| 
      
 61 
     | 
    
         
            +
                instance = stub(:some_non_numeric => "50F")
         
     | 
| 
      
 62 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 63 
     | 
    
         
            +
              end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 66 
     | 
    
         
            +
                validation = Validatable::ValidatesNumericalityOf.new stub_everything, :multiple_dots
         
     | 
| 
      
 67 
     | 
    
         
            +
                instance = stub(:multiple_dots => "50.0.0")
         
     | 
| 
      
 68 
     | 
    
         
            +
                validation.valid?(instance)
         
     | 
| 
      
 69 
     | 
    
         
            +
              end
         
     | 
| 
      
 70 
     | 
    
         
            +
              
         
     | 
| 
      
 71 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 72 
     | 
    
         
            +
                options = [:message, :if, :times, :level, :groups, :only_integer]
         
     | 
| 
      
 73 
     | 
    
         
            +
                Validatable::ValidatesNumericalityOf.new(stub_everything, :test).must_understand(options.to_blank_options_hash)
         
     | 
| 
      
 74 
     | 
    
         
            +
              end
         
     | 
| 
      
 75 
     | 
    
         
            +
              
         
     | 
| 
      
 76 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,35 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Expectations do
         
     | 
| 
      
 4 
     | 
    
         
            +
              
         
     | 
| 
      
 5 
     | 
    
         
            +
              expect false do
         
     | 
| 
      
 6 
     | 
    
         
            +
                validation = Validatable::ValidatesPresenceOf.new stub_everything, :name
         
     | 
| 
      
 7 
     | 
    
         
            +
                validation.valid?(stub_everything)
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
              
         
     | 
| 
      
 10 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 11 
     | 
    
         
            +
                validation = Validatable::ValidatesPresenceOf.new stub_everything, :name
         
     | 
| 
      
 12 
     | 
    
         
            +
                validation.valid?(stub(:name=>"book"))
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
              
         
     | 
| 
      
 15 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 16 
     | 
    
         
            +
                validation = Validatable::ValidatesPresenceOf.new stub_everything, :name, :allow_nil => true
         
     | 
| 
      
 17 
     | 
    
         
            +
                validation.valid?(stub(:name=>nil))
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
              
         
     | 
| 
      
 20 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 21 
     | 
    
         
            +
                validation = Validatable::ValidatesPresenceOf.new stub_everything, :name, :allow_blank => true
         
     | 
| 
      
 22 
     | 
    
         
            +
                validation.valid?(stub(:name=>''))
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
              
         
     | 
| 
      
 25 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 26 
     | 
    
         
            +
                validation = Validatable::ValidatesPresenceOf.new stub_everything, :employee
         
     | 
| 
      
 27 
     | 
    
         
            +
                validation.valid?(stub(:employee => stub(:nil? => false)))
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
              
         
     | 
| 
      
 30 
     | 
    
         
            +
              expect true do
         
     | 
| 
      
 31 
     | 
    
         
            +
                options = {:message => nil, :if => nil, :times => nil, :level => nil, :groups => nil}
         
     | 
| 
      
 32 
     | 
    
         
            +
                Validatable::ValidatesPresenceOf.new(stub_everything, :test).must_understand(options)
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
              
         
     | 
| 
      
 35 
     | 
    
         
            +
            end
         
     |