UNPKG

rdf

Version:

RDF datatype integration, RDF Interfaces API, and utility functions

111 lines (108 loc) 4.18 kB
var assert = require('assert'); var rdf = require('..'); describe('String builtins', function(){ before(function(){ rdf.setBuiltins(); }); after(function(){ rdf.unsetBuiltins(); }); it("String.prototype.profile", function(){ var t = "".profile; assert(t instanceof rdf.Profile); assert.strictEqual(t, rdf.environment); }); it("String.resolve rdf:type", function(){ var t = "rdf:type".resolve(); assert.strictEqual(t, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"); }); it("String.resolve rdfs:Class", function(){ var t = "rdfs:Class".resolve(); assert.strictEqual(t, "http://www.w3.org/2000/01/rdf-schema#Class"); assert.equal(typeof t, 'string'); }); it("String.resolve unknown CURIE", function(){ var t = "unknownprefixfoo2:bar".resolve(); assert.strictEqual(t, "unknownprefixfoo2:bar"); assert.equal(t, "unknownprefixfoo2:bar"); assert.equal(typeof t, "string"); assert.ok("unknownprefixfoo2:bar".equals(t)); }); it("String.resolve defined CURIE", function(){ assert.strictEqual("unknownprefixfoo2:answer".resolve(), 'unknownprefixfoo2:answer'); rdf.environment.setPrefix("unknownprefixfoo2", "http://example.com/2/ex/42/"); var t = "unknownprefixfoo2:answer".resolve(); assert.strictEqual(t, "http://example.com/2/ex/42/answer"); assert.strictEqual(t.valueOf(), "http://example.com/2/ex/42/answer"); assert.ok("http://example.com/2/ex/42/answer".equals(t)); rdf.environment.setPrefix("unknownprefixfoo2", null); assert.strictEqual("unknownprefixfoo2:answer".resolve(), 'unknownprefixfoo2:answer'); }); it("String.resolve defined term", function(){ assert.strictEqual("term2".resolve(), 'term2'); rdf.environment.setTerm("term2", "http://example.com/2/ex/42"); var t = "term2".resolve(); assert.strictEqual(t, "http://example.com/2/ex/42"); //assert.strictEqual(t.valueOf(), "http://example.com/2/ex/42"); //assert.ok("http://example.com/2/ex/42".equals(t)); rdf.environment.setTerm("term2", null); assert.strictEqual("term2".resolve(), 'term2'); }); it("String.resolve http: URI", function(){ assert.strictEqual("http://example.com/foo".resolve(), 'http://example.com/foo'); }); it("String.resolve https: URI", function(){ assert.strictEqual("https://example.com/foo".resolve(), 'https://example.com/foo'); }); it("String.resolve urn:uuid: URI", function(){ assert.strictEqual("urn:uuid:76E923E9-67CD-47AC-AB72-1C339A31CE57".resolve(), 'urn:uuid:76E923E9-67CD-47AC-AB72-1C339A31CE57'); }); it("string.resolve() resolved URI", function(){ var t = "http://slashdot.org/".resolve(); assert.strictEqual(t, 'http://slashdot.org/'); }); it("string.resolve() bnode syntax", function(){ var t = "_:someBlankNode".resolve(); assert.strictEqual(t, '_:someBlankNode'); }); it("string.n3()", function(){ var t = "http://slashdot.org/".n3(); assert.strictEqual(t, '<http://slashdot.org/>'); }); it("string.toNT()", function(){ var t = "http://slashdot.org/".toNT(); assert.strictEqual(t, '<http://slashdot.org/>'); }); it('string.l().n3()', function(){ var t = "PLAINLITERAL".l().n3(); assert.strictEqual(t, '"PLAINLITERAL"'); }); it('string.l().toNT()', function(){ var t = "PLAINLITERAL".l().toNT(); assert.strictEqual(t, '"PLAINLITERAL"'); }); it('string.l().n3()', function(){ var t = "PLAIN LITERAL WITH A SPACE".l().n3(); assert.strictEqual(t, '"PLAIN LITERAL WITH A SPACE"'); }); it('string.l().toNT()', function(){ var t = "PLAIN LITERAL WITH A SPACE".l().toNT(); assert.strictEqual(t, '"PLAIN LITERAL WITH A SPACE"'); }); it('string.l(en).n3()', function(){ var t = "English language literal".l("en").n3(); assert.strictEqual(t, '"English language literal"@en'); }); it('string.l(en).toNT()', function(){ var t = "English language literal".l("en").toNT(); assert.strictEqual(t, '"English language literal"@en'); }); it('string.tl(xsd:string).n3()', function(){ var t = "XSD String".tl("xsd:string".resolve()).n3(); assert.strictEqual(t, '"XSD String"'); }); it('string.tl(xsd:string).toNT()', function(){ var t = "XSD String".tl("xsd:string".resolve()).toNT(); assert.strictEqual(t, '"XSD String"'); }); });