rdf-validate-datatype
Version:
Validate literal value of an RDF term based on its datatype.
35 lines (34 loc) • 1.52 kB
JavaScript
import assert from 'assert';
import $rdf from '@rdfjs/data-model';
import { rdf, rdfs, xsd } from '@tpluscode/rdf-ns-builders';
import { validateQuad } from '../index.js';
describe('#validateQuad', () => {
it('returns true for quad without object datatype', () => {
const term = $rdf.literal('test');
const quad = $rdf.quad($rdf.blankNode(), rdfs.label, term);
const isValid = validateQuad(quad);
assert.strictEqual(isValid, true);
});
it('returns true if object literal is valid', () => {
const term = $rdf.literal('2019-12-24', xsd.date);
const quad = $rdf.quad($rdf.blankNode(), rdfs.label, term);
const isValid = validateQuad(quad);
assert.strictEqual(isValid, true);
});
it('returns false if object literal is not valid', () => {
const term = $rdf.literal('test', xsd.date);
const quad = $rdf.quad($rdf.blankNode(), rdfs.label, term);
const isValid = validateQuad(quad);
assert.strictEqual(isValid, false);
});
it('returns true for quad with namedNode object', () => {
const quad = $rdf.quad($rdf.blankNode(), rdf.type, $rdf.namedNode('Person'));
const isValid = validateQuad(quad);
assert.strictEqual(isValid, true);
});
it('returns true for quad with blankNode object', () => {
const quad = $rdf.quad($rdf.blankNode(), rdf.first, $rdf.blankNode());
const isValid = validateQuad(quad);
assert.strictEqual(isValid, true);
});
});