json-schema 2.5.1 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.textile +2 -2
  3. data/lib/json-schema/attributes/properties.rb +1 -1
  4. data/lib/json-schema/validator.rb +14 -6
  5. metadata +6 -121
  6. data/test/data/all_of_ref_data.json +0 -3
  7. data/test/data/any_of_ref_data.json +0 -7
  8. data/test/data/bad_data_1.json +0 -3
  9. data/test/data/good_data_1.json +0 -3
  10. data/test/data/one_of_ref_links_data.json +0 -5
  11. data/test/schemas/address_microformat.json +0 -18
  12. data/test/schemas/all_of_ref_base_schema.json +0 -6
  13. data/test/schemas/all_of_ref_schema.json +0 -7
  14. data/test/schemas/any_of_ref_jane_schema.json +0 -4
  15. data/test/schemas/any_of_ref_jimmy_schema.json +0 -4
  16. data/test/schemas/any_of_ref_john_schema.json +0 -4
  17. data/test/schemas/any_of_ref_schema.json +0 -15
  18. data/test/schemas/definition_schema.json +0 -15
  19. data/test/schemas/extends_and_additionalProperties-1-filename.schema.json +0 -34
  20. data/test/schemas/extends_and_additionalProperties-1-ref.schema.json +0 -34
  21. data/test/schemas/extends_and_additionalProperties-2-filename.schema.json +0 -33
  22. data/test/schemas/extends_and_additionalProperties-2-ref.schema.json +0 -33
  23. data/test/schemas/good_schema_1.json +0 -10
  24. data/test/schemas/good_schema_2.json +0 -10
  25. data/test/schemas/good_schema_extends1.json +0 -10
  26. data/test/schemas/good_schema_extends2.json +0 -13
  27. data/test/schemas/inner.schema.json +0 -21
  28. data/test/schemas/one_of_ref_links_schema.json +0 -16
  29. data/test/schemas/ref john with spaces schema.json +0 -11
  30. data/test/schemas/relative_definition_schema.json +0 -8
  31. data/test/schemas/self_link_schema.json +0 -17
  32. data/test/schemas/up_link_schema.json +0 -17
  33. data/test/test_all_of_ref_schema.rb +0 -35
  34. data/test/test_any_of_ref_schema.rb +0 -35
  35. data/test/test_bad_schema_ref.rb +0 -39
  36. data/test/test_common_test_suite.rb +0 -66
  37. data/test/test_custom_format.rb +0 -116
  38. data/test/test_definition.rb +0 -15
  39. data/test/test_extended_schema.rb +0 -62
  40. data/test/test_extends_and_additionalProperties.rb +0 -52
  41. data/test/test_files_v3.rb +0 -43
  42. data/test/test_fragment_resolution.rb +0 -30
  43. data/test/test_fragment_validation_with_ref.rb +0 -34
  44. data/test/test_full_validation.rb +0 -208
  45. data/test/test_helper.rb +0 -47
  46. data/test/test_initialize_data.rb +0 -118
  47. data/test/test_jsonschema_draft1.rb +0 -141
  48. data/test/test_jsonschema_draft2.rb +0 -113
  49. data/test/test_jsonschema_draft3.rb +0 -450
  50. data/test/test_jsonschema_draft4.rb +0 -657
  51. data/test/test_list_option.rb +0 -21
  52. data/test/test_load_ref_schema.rb +0 -40
  53. data/test/test_merge_missing_values.rb +0 -45
  54. data/test/test_minitems.rb +0 -16
  55. data/test/test_one_of.rb +0 -85
  56. data/test/test_ruby_schema.rb +0 -59
  57. data/test/test_schema_loader.rb +0 -74
  58. data/test/test_schema_type_attribute.rb +0 -20
  59. data/test/test_schema_validation.rb +0 -185
  60. data/test/test_stringify.rb +0 -48
  61. data/test/test_uri_related.rb +0 -67
  62. data/test/test_validator.rb +0 -53
@@ -1,48 +0,0 @@
1
- require File.expand_path('../test_helper', __FILE__)
2
-
3
- class StringifyTest < Minitest::Test
4
- def test_stringify_on_hash
5
- hash = {
6
- :a => 'foo',
7
- 'b' => :bar
8
- }
9
- assert_equal({'a' => 'foo', 'b' => 'bar'}, JSON::Schema.stringify(hash), 'symbol keys should be converted to strings')
10
- end
11
-
12
- def test_stringify_on_array
13
- array = [
14
- :a,
15
- 'b'
16
- ]
17
- assert_equal(['a', 'b'], JSON::Schema.stringify(array), 'symbols in an array should be converted to strings')
18
- end
19
-
20
- def test_stringify_on_hash_of_arrays
21
- hash = {
22
- :a => [:foo],
23
- 'b' => :bar
24
- }
25
- assert_equal({'a' => ['foo'], 'b' => 'bar'}, JSON::Schema.stringify(hash), 'symbols in a nested array should be converted to strings')
26
- end
27
-
28
- def test_stringify_on_array_of_hashes
29
- array = [
30
- :a,
31
- {
32
- :b => :bar
33
- }
34
- ]
35
- assert_equal(['a', {'b' => 'bar'}], JSON::Schema.stringify(array), 'symbols keys in a nested hash should be converted to strings')
36
- end
37
-
38
- def test_stringify_on_hash_of_hashes
39
- hash = {
40
- :a => {
41
- :b => {
42
- :foo => :bar
43
- }
44
- }
45
- }
46
- assert_equal({'a' => {'b' => {'foo' => 'bar'} } }, JSON::Schema.stringify(hash), 'symbols in a nested hash of hashes should be converted to strings')
47
- end
48
- end
@@ -1,67 +0,0 @@
1
- # coding: utf-8
2
- require File.expand_path('../test_helper', __FILE__)
3
-
4
- class UriRelatedTest < Minitest::Test
5
- def test_asian_characters
6
- schema = {
7
- "$schema"=> "http://json-schema.org/draft-04/schema#",
8
- "id"=> "http://俺:鍵@例え.テスト/p?条件#ここ#",
9
- "type" => "object",
10
- "required" => ["a"],
11
- "properties" => {
12
- "a" => {
13
- "id" => "a",
14
- "type" => "integer"
15
- }
16
- }
17
- }
18
- data = { "a" => 5 }
19
- assert_valid schema, data
20
- end
21
-
22
- def test_schema_ref_with_empty_fragment
23
- schema = {
24
- "$schema" => "http://json-schema.org/draft-04/schema#",
25
- "type" => "object",
26
- "required" => ["names"],
27
- "properties"=> {
28
- "names"=> {
29
- "type"=> "array",
30
- "items"=> {
31
- "anyOf"=> [
32
- { "$ref" => "test/schemas/ref john with spaces schema.json#" },
33
- ]
34
- }
35
- }
36
- }
37
- }
38
- data = {"names" => [{"first" => "john"}]}
39
- assert_valid schema, data
40
- end
41
-
42
- def test_schema_ref_from_file_with_spaces
43
- schema = {
44
- "$schema" => "http://json-schema.org/draft-04/schema#",
45
- "type" => "object",
46
- "required" => ["names"],
47
- "properties"=> {
48
- "names"=> {
49
- "type"=> "array",
50
- "items"=> {
51
- "anyOf"=> [
52
- { "$ref" => "test/schemas/ref john with spaces schema.json" }
53
- ]
54
- }
55
- }
56
- }
57
- }
58
- data = {"names" => [{"first" => "john"}]}
59
- assert_valid schema, data
60
- end
61
-
62
- def test_schema_from_file_with_spaces
63
- data = {"first" => "john"}
64
- schema = "test/schemas/ref john with spaces schema.json"
65
- assert_valid schema, data
66
- end
67
- end
@@ -1,53 +0,0 @@
1
- require File.expand_path('../test_helper', __FILE__)
2
-
3
- class TestValidator < Minitest::Test
4
-
5
- class MockReader
6
- def read(location)
7
- schema = {
8
- '$schema' => 'http://json-schema.org/draft-04/schema#',
9
- 'type' => 'string',
10
- 'minLength' => 2
11
- }
12
-
13
- JSON::Schema.new(schema, Addressable::URI.parse(location.to_s))
14
- end
15
- end
16
-
17
- def setup
18
- @original_reader = JSON::Validator.schema_reader
19
- end
20
-
21
- def teardown
22
- JSON::Validator.schema_reader = @original_reader
23
- end
24
-
25
- def test_default_schema_reader
26
- reader = JSON::Validator.schema_reader
27
- assert reader.accept_uri?(Addressable::URI.parse('http://example.com'))
28
- assert reader.accept_file?(Pathname.new('/etc/passwd'))
29
- end
30
-
31
- def test_set_default_schema_reader
32
- JSON::Validator.schema_reader = MockReader.new
33
-
34
- schema = { '$ref' => 'http://any.url/at/all' }
35
- assert_valid schema, 'abc'
36
- refute_valid schema, 'a'
37
- end
38
-
39
- def test_validate_with_reader
40
- reader = MockReader.new
41
- schema = { '$ref' => 'http://any.url/at/all' }
42
- assert_valid schema, 'abc', :schema_reader => reader
43
- refute_valid schema, 'a', :schema_reader => reader
44
- end
45
-
46
- def test_validate_list_with_reader
47
- reader = MockReader.new
48
- schema = { '$ref' => 'http://what.ever/schema' }
49
- assert_valid schema, ['abc', 'def'], :schema_reader => reader, :list => true
50
- refute_valid schema, ['abc', 'a'], :schema_reader => reader, :list => true
51
- end
52
-
53
- end