diff --git a/Makefile b/Makefile index 44047b48..ea39c9e5 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ TESTS = tests/test.js LOCAL_TESTS = test/*.js REPORTER = spec +JSONLD_TEST_SUITE=node_modules/json-ld-test-suite all: diff --git a/js/jsonld.js b/js/jsonld.js index 762df365..9df25170 100644 --- a/js/jsonld.js +++ b/js/jsonld.js @@ -5742,6 +5742,15 @@ function _createTermDefinition(activeCtx, localCtx, term, defined) { {code: 'keyword redefinition', context: localCtx, term: term}); } + if(term === '@version') { + if(value !== 1.1) { + throw new JsonLdError( + 'Invalid JSON-LD syntax; version must be 1.1 if specified', + 'jsonld.SyntaxError', + {code: 'invalid @version value', context: localCtx}); + } + } + if(term === '') { throw new JsonLdError( 'Invalid JSON-LD syntax; a term cannot be an empty string.', diff --git a/package.json b/package.json index f83410df..61937cca 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "main": "js/jsonld.js", "dependencies": { "es6-promise": "^2.0.0", + "json-ld-test-suite": "^1.0.1", "pkginfo": "~0.4.0", "request": "^2.61.0", "xmldom": "0.1.19" diff --git a/tests/test.js b/tests/test.js index 06ba4c8b..f98845f4 100644 --- a/tests/test.js +++ b/tests/test.js @@ -96,7 +96,8 @@ var ROOT_MANIFEST_DIR = resolvePath( var TEST_TYPES = { 'jld:CompactTest': { skip: { - processingMode: ['json-ld-1.1'] + processingMode: ['json-ld-1.1'], + regex: [/tp005/] }, fn: 'compact', params: [ @@ -108,7 +109,8 @@ var TEST_TYPES = { }, 'jld:ExpandTest': { skip: { - processingMode: ['json-ld-1.1'] + processingMode: ['json-ld-1.1'], + regex: [/tp002/] }, fn: 'expand', params: [