summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json')
-rw-r--r--testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json107
1 files changed, 107 insertions, 0 deletions
diff --git a/testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json b/testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json
new file mode 100644
index 0000000000..ca973d30da
--- /dev/null
+++ b/testing/web-platform/tests/annotation-model/annotations/specificResource/4.3.1-timeStateValid.json
@@ -0,0 +1,107 @@
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "4.3.1-timeStateValid.json",
+ "assertionType": "must",
+ "expectedResult": "valid",
+ "onUnexpectedResult" : "failAndContinue",
+ "errorMessage": "ERROR: Annotation contains a Time State that is NOT of format uri and NOT an object having sourceDate key or (alternatively, non concurrently) both sourceDateStart and sourceDateEnd keys.",
+ "title": "If present all **States of _type_ TimeState** each have either (but not both) a **_souceDate_ key** or paired **_sourceDateStart_ and _sourceDateEnd_ keys,** each of which is a **single value** of **format date-time**- [model 4.3.1](https://www.w3.org/TR/annotation-model/#time-state)",
+ "description": "True when no Time States present or all such states values are of format uri or are objects having sourceDate key or (alternatively, non concurrently) both sourceDateStart and sourceDateEnd keys. (Section 4.3.1)",
+ "type": "object",
+ "patternProperties":
+ {
+ "^(body|target)$":
+ {
+ "oneOf":
+ [
+ {"$ref": "id.json#/definitions/stringUri" },
+ {
+ "allOf":
+ [
+ { "$ref": "#/definitions/stateSchema" },
+ { "$ref": "#/definitions/itemsSchema" }
+ ]
+ },
+ {
+ "type": "array",
+ "minItems": 1,
+ "items":
+ {
+ "oneOf":
+ [
+ {"$ref": "id.json#/definitions/stringUri" },
+ {
+ "allOf":
+ [
+ { "$ref": "#/definitions/stateSchema" },
+ { "$ref": "#/definitions/itemsSchema" }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "definitions":
+ {
+ "stateSchema":
+ {
+ "type": "object",
+ "properties":
+ {
+ "state":
+ {
+ "oneOf":
+ [
+ {"$ref": "id.json#/definitions/stringUri" },
+ {
+ "type":"object",
+ "allOf":
+ [
+ { "$ref": "specificResource.json#/definitions/timeStateTypeValidIfPresent" }
+ ]
+ },
+ {
+ "type": "array",
+ "minItems": 1,
+ "items":
+ {
+ "oneOf":
+ [
+ {"$ref": "id.json#/definitions/stringUri" },
+ {
+ "type":"object",
+ "allOf":
+ [
+ { "$ref": "specificResource.json#/definitions/timeStateTypeValidIfPresent" } ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+
+ "itemsSchema":
+ {
+ "type": "object",
+ "properties":
+ {
+ "items":
+ {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "oneOf":
+ [
+ {"$ref": "id.json#/definitions/stringUri" },
+ {"$ref": "#/definitions/stateSchema" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}