dependencies.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. [
  2. {
  3. "description": "dependencies",
  4. "schema": {
  5. "dependencies": {"bar": ["foo"]}
  6. },
  7. "tests": [
  8. {
  9. "description": "neither",
  10. "data": {},
  11. "valid": true
  12. },
  13. {
  14. "description": "nondependant",
  15. "data": {"foo": 1},
  16. "valid": true
  17. },
  18. {
  19. "description": "with dependency",
  20. "data": {"foo": 1, "bar": 2},
  21. "valid": true
  22. },
  23. {
  24. "description": "missing dependency",
  25. "data": {"bar": 2},
  26. "valid": false
  27. },
  28. {
  29. "description": "ignores non-objects",
  30. "data": "foo",
  31. "valid": true
  32. }
  33. ]
  34. },
  35. {
  36. "description": "multiple dependencies",
  37. "schema": {
  38. "dependencies": {"quux": ["foo", "bar"]}
  39. },
  40. "tests": [
  41. {
  42. "description": "neither",
  43. "data": {},
  44. "valid": true
  45. },
  46. {
  47. "description": "nondependants",
  48. "data": {"foo": 1, "bar": 2},
  49. "valid": true
  50. },
  51. {
  52. "description": "with dependencies",
  53. "data": {"foo": 1, "bar": 2, "quux": 3},
  54. "valid": true
  55. },
  56. {
  57. "description": "missing dependency",
  58. "data": {"foo": 1, "quux": 2},
  59. "valid": false
  60. },
  61. {
  62. "description": "missing other dependency",
  63. "data": {"bar": 1, "quux": 2},
  64. "valid": false
  65. },
  66. {
  67. "description": "missing both dependencies",
  68. "data": {"quux": 1},
  69. "valid": false
  70. }
  71. ]
  72. },
  73. {
  74. "description": "multiple dependencies subschema",
  75. "schema": {
  76. "dependencies": {
  77. "bar": {
  78. "properties": {
  79. "foo": {"type": "integer"},
  80. "bar": {"type": "integer"}
  81. }
  82. }
  83. }
  84. },
  85. "tests": [
  86. {
  87. "description": "valid",
  88. "data": {"foo": 1, "bar": 2},
  89. "valid": true
  90. },
  91. {
  92. "description": "no dependency",
  93. "data": {"foo": "quux"},
  94. "valid": true
  95. },
  96. {
  97. "description": "wrong type",
  98. "data": {"foo": "quux", "bar": 2},
  99. "valid": false
  100. },
  101. {
  102. "description": "wrong type other",
  103. "data": {"foo": 2, "bar": "quux"},
  104. "valid": false
  105. },
  106. {
  107. "description": "wrong type both",
  108. "data": {"foo": "quux", "bar": "quux"},
  109. "valid": false
  110. }
  111. ]
  112. }
  113. ]