manifesto.js
Version:
IIIF Presentation API utility library for client and server
42 lines (38 loc) • 1.44 kB
JavaScript
var expect = require('chai').expect;
var manifesto = require('../../dist-commonjs/');
var manifests = require('../fixtures/manifests');
var manifest;
describe('LabelValuePair', function() {
beforeEach(function(done) {
manifesto.loadManifest(manifests['4']).then(function(data) {
manifest = manifesto.parseManifest(data);
done();
});
})
describe('#getLabels', function() {
it('returns an array of language labels', function() {
var metadata = manifest.getMetadata().map(m => m.getLabels());
expect(metadata[0]).to.eql(['date']);
});
});
describe('#getValues', function() {
it('returns an array of language values', function() {
var metadata = manifest.getMetadata().map(m => m.getValues());
expect(metadata[0]).to.eql(['some date', 'some other date']);
});
});
});
describe('LabelValuePair without label', function() {
beforeEach(function(done) {
manifesto.loadManifest(manifests['attributionWithoutLabel']).then(function(data) {
manifest = manifesto.parseManifest(data);
done();
});
})
describe('#getLabels', function() {
it('returns an array of language labels', function() {
var attributionLabels = manifest.getRequiredStatement().getLabels();
expect(attributionLabels).to.be.empty;
});
});
});