Sha256: 08024555113f1561a0937d220e51542d3f4e4dff0764fba1f05d2550d4934854

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 KB

Contents

require 'test_helper'

# Note: A test for req and opt is part of validator_hash_test.rb

module Schemacop
  class NilDisAllowTest < Minitest::Test
    def test_req
      s = Schema.new do
        req? :o do
          type :boolean
        end

        req :r do
          type :boolean
        end
      end
      assert_nothing_raised { s.validate!(o: nil, r: false) }
      assert_nothing_raised { s.validate!(o: false, r: false) }
      assert_verr { s.validate!(o: true, r: nil) }
      assert_verr { s.validate!(o: nil, r: nil) }
      assert_verr { s.validate!(r: true) }
    end

    def test_opt
      s = Schema.new do
        opt :o do
          type :boolean
        end
        opt! :r do
          type :boolean
        end
      end
      assert_nothing_raised { s.validate!(o: nil, r: false) }
      assert_nothing_raised { s.validate!(o: false, r: false) }
      assert_nothing_raised { s.validate!(r: true) }
      assert_nothing_raised { s.validate!({}) }
      assert_verr { s.validate!(o: true, r: nil) }
      assert_verr { s.validate!(o: nil, r: nil) }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
schemacop-2.4.7 test/nil_dis_allow_test.rb
schemacop-2.4.6 test/nil_dis_allow_test.rb
schemacop-2.4.5 test/nil_dis_allow_test.rb
schemacop-2.4.4 test/nil_dis_allow_test.rb
schemacop-2.4.3 test/nil_dis_allow_test.rb
schemacop-2.4.2 test/nil_dis_allow_test.rb
schemacop-2.4.1 test/nil_dis_allow_test.rb
schemacop-2.4.0 test/nil_dis_allow_test.rb