Sha256: 4f8acc0da4ec26c5527f1ab1ecf3da1d88d5820bd2f1b295d77d6d75e47c5d94

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

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

class RubySchemaTest < Test::Unit::TestCase
  def test_string_keys
    schema = {
      "type" => 'object',
      "required" => ["a"],
      "properties" => {
        "a" => {"type" => "integer", "default" => 42},
        "b" => {"type" => "integer"}
      }
    }

    data = {
      "a" => 5
    }

    assert(JSON::Validator.validate(schema, data))
  end

  def test_symbol_keys
    schema = {
      type: 'object',
      required: ["a"],
      properties: {
        a: {type: "integer", default: 42},
        b: {type: "integer"}
      }
    }

    data = {
      a: 5
    }

    assert(JSON::Validator.validate(schema, data))
  end

  def test_symbol_keys_in_hash_within_array
    schema = {
      type: 'object',
      properties: {
        a: {
          type: "array",
          items: [
            {
              properties: {
                b: {
                  type: "integer"
                }
              }
            }
          ]
        }
      }
    }

    data = {
      a: [
        {
          b: 1
        }
      ]
    }

    assert(JSON::Validator.validate(schema, data, :validate_schema => true))
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
json-schema-2.3.0 test/test_ruby_schema.rb
json-schema-2.2.5 test/test_ruby_schema.rb
json-schema-2.2.4 test/test_ruby_schema.rb
json-schema-2.2.3 test/test_ruby_schema.rb