diff --git a/js/package.json b/js/package.json index 1dae3019..bf96eae6 100644 --- a/js/package.json +++ b/js/package.json @@ -4,11 +4,11 @@ "private": true, "devDependencies": { "mocha": "^9.0.0", - "@rdfjs/data-model": "^1.3.0", + "@rdfjs/data-model": "^2.0.0", "standard": "^16.0.0" }, "scripts": { - "test": "standard test/*.js && wasm-pack build --dev --target nodejs && mocha", + "test": "standard test/* && wasm-pack build --dev --target nodejs && mocha", "build": "wasm-pack build --release --target nodejs && sed -i 's/oxigraph_js/oxigraph/g' pkg/package.json", "release": "wasm-pack pack && wasm-pack publish" } diff --git a/js/test/model.js b/js/test/model.mjs similarity index 89% rename from js/test/model.js rename to js/test/model.mjs index 7900073f..1844b062 100644 --- a/js/test/model.js +++ b/js/test/model.mjs @@ -1,8 +1,10 @@ /* global describe, it */ -const oxigraph = require('../pkg/oxigraph.js') -const assert = require('assert') -require('../node_modules/@rdfjs/data-model/test/index.js')(oxigraph) +import oxigraph from '../pkg/oxigraph.js' +import assert from 'assert' +import runTests from '../node_modules/@rdfjs/data-model/test/index.js' + +runTests({ factory: oxigraph }) describe('DataModel', function () { describe('#toString()', function () { diff --git a/js/test/store.js b/js/test/store.mjs similarity index 66% rename from js/test/store.js rename to js/test/store.mjs index dfd9a760..2b56203d 100644 --- a/js/test/store.js +++ b/js/test/store.mjs @@ -1,60 +1,60 @@ /* global describe, it */ -const { Store } = require('../pkg/oxigraph.js') -const assert = require('assert') -const dataFactory = require('@rdfjs/data-model') - -const ex = dataFactory.namedNode('http://example.com') -const triple = dataFactory.triple( - dataFactory.blankNode('s'), - dataFactory.namedNode('http://example.com/p'), - dataFactory.literal('o') +import { Store } from '../pkg/oxigraph.js' +import assert from 'assert' +import dataModel from '@rdfjs/data-model' + +const ex = dataModel.namedNode('http://example.com') +const triple = dataModel.quad( + dataModel.blankNode('s'), + dataModel.namedNode('http://example.com/p'), + dataModel.literal('o') ) describe('Store', function () { describe('#add()', function () { it('an added quad should be in the store', function () { const store = new Store() - store.add(dataFactory.triple(ex, ex, triple)) - assert(store.has(dataFactory.triple(ex, ex, triple))) + store.add(dataModel.quad(ex, ex, triple)) + assert(store.has(dataModel.quad(ex, ex, triple))) }) }) describe('#delete()', function () { it('an removed quad should not be in the store anymore', function () { - const store = new Store([dataFactory.triple(triple, ex, ex)]) - assert(store.has(dataFactory.triple(triple, ex, ex))) - store.delete(dataFactory.triple(triple, ex, ex)) - assert(!store.has(dataFactory.triple(triple, ex, ex))) + const store = new Store([dataModel.quad(triple, ex, ex)]) + assert(store.has(dataModel.quad(triple, ex, ex))) + store.delete(dataModel.quad(triple, ex, ex)) + assert(!store.has(dataModel.quad(triple, ex, ex))) }) }) describe('#has()', function () { it('an added quad should be in the store', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) - assert(store.has(dataFactory.triple(ex, ex, ex))) + const store = new Store([dataModel.quad(ex, ex, ex)]) + assert(store.has(dataModel.quad(ex, ex, ex))) }) }) describe('#size()', function () { it('A store with one quad should have 1 for size', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) assert.strictEqual(1, store.size) }) }) describe('#match_quads()', function () { it('blank pattern should return all quads', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) const results = store.match() assert.strictEqual(1, results.length) - assert(dataFactory.triple(ex, ex, ex).equals(results[0])) + assert(dataModel.quad(ex, ex, ex).equals(results[0])) }) }) describe('#query()', function () { it('ASK true', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) assert.strictEqual(true, store.query('ASK { ?s ?s ?s }')) }) @@ -64,27 +64,27 @@ describe('Store', function () { }) it('CONSTRUCT', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) const results = store.query('CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }') assert.strictEqual(1, results.length) - assert(dataFactory.triple(ex, ex, ex).equals(results[0])) + assert(dataModel.quad(ex, ex, ex).equals(results[0])) }) it('SELECT', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) const results = store.query('SELECT ?s WHERE { ?s ?p ?o }') assert.strictEqual(1, results.length) assert(ex.equals(results[0].get('s'))) }) it('SELECT with NOW()', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) const results = store.query('SELECT (YEAR(NOW()) AS ?y) WHERE {}') assert.strictEqual(1, results.length) }) it('SELECT with RAND()', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) const results = store.query('SELECT (RAND() AS ?y) WHERE {}') assert.strictEqual(1, results.length) }) @@ -98,13 +98,13 @@ describe('Store', function () { }) it('DELETE DATA', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) store.update('DELETE DATA { }') assert.strictEqual(0, store.size) }) it('DELETE WHERE', function () { - const store = new Store([dataFactory.triple(ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex)]) store.update('DELETE WHERE { ?v ?v ?v }') assert.strictEqual(0, store.size) }) @@ -114,47 +114,47 @@ describe('Store', function () { it('load NTriples in the default graph', function () { const store = new Store() store.load(' .', 'application/n-triples') - assert(store.has(dataFactory.triple(ex, ex, ex))) + assert(store.has(dataModel.quad(ex, ex, ex))) }) it('load NTriples in an other graph', function () { const store = new Store() store.load(' .', 'application/n-triples', null, ex) - assert(store.has(dataFactory.quad(ex, ex, ex, ex))) + assert(store.has(dataModel.quad(ex, ex, ex, ex))) }) it('load Turtle with a base IRI', function () { const store = new Store() store.load(' <> .', 'text/turtle', 'http://example.com') - assert(store.has(dataFactory.triple(ex, ex, ex))) + assert(store.has(dataModel.quad(ex, ex, ex))) }) it('load NQuads', function () { const store = new Store() store.load(' .', 'application/n-quads') - assert(store.has(dataFactory.quad(ex, ex, ex, ex))) + assert(store.has(dataModel.quad(ex, ex, ex, ex))) }) it('load TriG with a base IRI', function () { const store = new Store() store.load('GRAPH <> { <> }', 'application/trig', 'http://example.com') - assert(store.has(dataFactory.quad(ex, ex, ex, ex))) + assert(store.has(dataModel.quad(ex, ex, ex, ex))) }) }) describe('#dump()', function () { it('dump dataset content', function () { - const store = new Store([dataFactory.quad(ex, ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex, ex)]) assert.strictEqual(' .\n', store.dump('application/n-quads')) }) it('dump named graph content', function () { - const store = new Store([dataFactory.quad(ex, ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex, ex)]) assert.strictEqual(' .\n', store.dump('application/n-triples', ex)) }) it('dump default graph content', function () { - const store = new Store([dataFactory.quad(ex, ex, ex, ex)]) + const store = new Store([dataModel.quad(ex, ex, ex, ex)]) assert.strictEqual('', store.dump('application/n-triples')) }) })