1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
require File.expand_path('support/test_helper', __dir__)
class UriParsingTest < Minitest::Test
def test_asian_characters
schema = {
'$schema' => 'http://json-schema.org/draft-04/schema#',
'id' => 'http://俺:鍵@例え.テスト/p?条件#ここ#',
'type' => 'object',
'required' => ['a'],
'properties' => {
'a' => {
'id' => 'a',
'type' => 'integer',
},
},
}
data = { 'a' => 5 }
assert_valid schema, data
end
def test_schema_ref_with_empty_fragment
schema = {
'$schema' => 'http://json-schema.org/draft-04/schema#',
'type' => 'object',
'required' => ['names'],
'properties' => {
'names' => {
'type' => 'array',
'items' => {
'anyOf' => [
{ '$ref' => 'test/schemas/ref john with spaces schema.json#' },
],
},
},
},
}
data = { 'names' => [{ 'first' => 'john' }] }
assert_valid schema, data
end
def test_schema_ref_from_file_with_spaces
schema = {
'$schema' => 'http://json-schema.org/draft-04/schema#',
'type' => 'object',
'required' => ['names'],
'properties' => {
'names' => {
'type' => 'array',
'items' => {
'anyOf' => [
{ '$ref' => 'test/schemas/ref john with spaces schema.json' },
],
},
},
},
}
data = { 'names' => [{ 'first' => 'john' }] }
assert_valid schema, data
end
def test_schema_from_file_with_spaces
data = { 'first' => 'john' }
schema = 'test/schemas/ref john with spaces schema.json'
assert_valid schema, data
end
end
|