Sha256: a0dffe674a5858c2f80283ebbee9e3485e13a6af3e4e531f5e15568eb8ae2e26

Contents?: true

Size: 832 Bytes

Versions: 4

Compression:

Stored size: 832 Bytes

Contents

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

class FragmentResolution < Test::Unit::TestCase
  def test_fragment_resolution
    schema = {
      "$schema" => "http://json-schema.org/draft-04/schema#",
      "properties" => {
        "a" => {
          "type" => "object",
          "properties" => {
            "b" => {"type" => "integer" }
          }
        }
      }
    }

    data = {"b" => 5}
    assert(!JSON::Validator.validate(schema,data))
    assert(JSON::Validator.validate(schema,data,:fragment => "#/properties/a"))

    assert_raise JSON::Schema::SchemaError do
      JSON::Validator.validate!(schema,data,:fragment => "/properties/a")
    end

    assert_raise JSON::Schema::SchemaError do
      JSON::Validator.validate!(schema,data,:fragment => "#/properties/b")
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
json-schema-2.1.3 test/schemas/test_fragment_resolution.rb
json-schema-2.1.2 test/schemas/test_fragment_resolution.rb
json-schema-2.1.1 test/schemas/test_fragment_resolution.rb
json-schema-2.1.0 test/schemas/test_fragment_resolution.rb