Skip to content

Commit 0259e6e

Browse files
committed
Ignore prefixes if not supported by serialization.
Closes #230
1 parent 2491527 commit 0259e6e

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/N3Writer.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,11 @@ export default class N3Writer {
227227

228228
// ### `addPrefixes` adds the prefixes to the output stream
229229
addPrefixes(prefixes, done) {
230+
// Ignore prefixes if not supported by the serialization
231+
if (!this._prefixIRIs)
232+
return done && done();
233+
234+
// Write all new prefixes
230235
let hasPrefixes = false;
231236
for (let prefix in prefixes) {
232237
let iri = prefixes[prefix];

test/N3Writer-test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,20 @@ describe('Writer', () => {
259259
});
260260
});
261261

262+
it('should not write prefixes in N-Triples mode', done => {
263+
const writer = new Writer({ format: 'N-Triples', prefixes: { a: 'b#' } });
264+
let called = false;
265+
function callback() { called = true; }
266+
writer.addPrefix('c', 'd#');
267+
writer.addQuad(new NamedNode('a'), new NamedNode('b'), new NamedNode('c'));
268+
writer.addPrefix('e', 'f#', callback);
269+
writer.end((error, output) => {
270+
called.should.be.true;
271+
output.should.equal('<a> <b> <c> .\n');
272+
done(error);
273+
});
274+
});
275+
262276
it('should accept triples with separated components', done => {
263277
const writer = new Writer();
264278
writer.addQuad(new NamedNode('a'), new NamedNode('b'), new NamedNode('c'));

0 commit comments

Comments
 (0)