summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json')
-rw-r--r--testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json113
1 files changed, 113 insertions, 0 deletions
diff --git a/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json b/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json
new file mode 100644
index 0000000000..68c2feaf30
--- /dev/null
+++ b/testing/web-platform/tests/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json
@@ -0,0 +1,113 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "4.2.8-rangeSelector.json",
+ "assertionType": "may",
+ "expectedResult": "valid",
+ "onUnexpectedResult" : "passAndContinue",
+ "errorMessage": "The description of a Specific Resource may include rangeSelector .",
+ "title": "Implements **Specific Resource Range Selector** - [model 4.2.8](https://www.w3.org/TR/annotation-model/#range-selector)",
+ "description": "True when Annotation includes one or more Specific Resources, one or more of which includes a rangeSelector. (Section 4.2.8)",
+ "type": "object",
+ "anyOf":
+ [
+ { "properties":
+ { "body":
+ { "oneOf":
+ [
+ { "type": "object",
+ "oneOf":
+ [
+ { "$ref": "#/definitions/selectorSchema" },
+ { "$ref": "#/definitions/itemSchema" }
+ ]
+ },
+ { "type": "array",
+ "minItems": 1,
+ "not":
+ { "items":
+ { "not":
+ { "oneOf":
+ [
+ { "$ref": "#/definitions/selectorSchema" },
+ { "$ref": "#/definitions/itemSchema" }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "required": [ "body" ]
+ },
+ { "properties":
+ { "target":
+ { "oneOf":
+ [
+ { "type": "object",
+ "oneOf":
+ [
+ { "$ref": "#/definitions/selectorSchema" },
+ { "$ref": "#/definitions/itemSchema" }
+ ]
+ },
+ { "type": "array",
+ "minItems": 1,
+ "not":
+ { "items":
+ { "not":
+ { "oneOf":
+ [
+ { "$ref": "#/definitions/selectorSchema" },
+ { "$ref": "#/definitions/itemSchema" }
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "required": [ "target" ]
+ }
+ ],
+ "definitions":
+ {
+ "selectorSchema":
+ { "type": "object",
+ "properties":
+ { "selector":
+ { "oneOf":
+ [
+ { "type": "object",
+ "$ref": "specificResource.json#/definitions/rangeSelectorDetected"
+ },
+ { "type": "array",
+ "minItems": 1,
+ "not":
+ { "items":
+ { "not": { "$ref": "specificResource.json#/definitions/rangeSelectorDetected" } }
+ }
+ }
+ ]
+ }
+ },
+ "required": [ "selector" ]
+ },
+
+ "itemSchema":
+ { "type": "object",
+ "properties":
+ { "items":
+ { "type": "array",
+ "minItems": 1,
+ "not":
+ { "items":
+ { "not": { "$ref": "#/definitions/selectorSchema" } }
+ }
+ }
+ },
+ "required": [ "items" ]
+ }
+ }
+} \ No newline at end of file