Sha256: 1773e5d30a801471e1546d7a339ba8bb937621d4b6df6c5495e9f522141c1cdc

Contents?: true

Size: 1.2 KB

Versions: 16

Compression:

Stored size: 1.2 KB

Contents

require 'test/unit'
require File.dirname(__FILE__) + '/../lib/json-schema'

class OneOfTest < Test::Unit::TestCase
  def test_one_of_links_schema
    schema = File.join(File.dirname(__FILE__),"schemas/one_of_ref_links_schema.json")
    data = File.join(File.dirname(__FILE__),"data/one_of_ref_links_data.json")
    errors = JSON::Validator.fully_validate(schema,data, :errors_as_objects => true)
    assert(errors.empty?, errors.map{|e| e[:message] }.join("\n"))
  end


  def test_one_of_with_string_patterns
    schema = {
      "$schema" => "http://json-schema.org/draft-04/schema#",
      "oneOf" => [
        {
          "properties" => {"a" => {"type" => "string", "pattern" => "foo"}},
        },
        {
          "properties" => {"a" => {"type" => "string", "pattern" => "bar"}},
        },
        {
          "properties" => {"a" => {"type" => "string", "pattern" => "baz"}},
        }
      ]
    }

    data = {"a" => "foo"}
    assert(JSON::Validator.validate(schema,data))

    data = {"a" => "foobar"}
    assert(!JSON::Validator.validate(schema,data))

    data = {"a" => "baz"}
    assert(JSON::Validator.validate(schema,data))

    data = {"a" => 5}
    assert(!JSON::Validator.validate(schema,data))
  end

end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
json-schema-2.4.1 test/test_one_of.rb
json-schema-2.4.0 test/test_one_of.rb
json-schema-2.3.0 test/test_one_of.rb
json-schema-2.2.5 test/test_one_of.rb
json-schema-pvdgm-2.3.1 test/test_one_of.rb
json-schema-2.2.4 test/test_one_of.rb
json-schema-2.2.3 test/test_one_of.rb
json-schema-2.2.2 test/test_one_of.rb
json-schema-2.2.1 test/test_one_of.rb
json-schema-2.2.0 test/test_one_of.rb
json-schema-2.1.9 test/test_one_of.rb
json-schema-2.1.8 test/test_one_of.rb
json-schema-2.1.7 test/test_one_of.rb
json-schema-2.1.6 test/test_one_of.rb
json-schema-2.1.5 test/test_one_of.rb
json-schema-2.1.4 test/test_one_of.rb