Skip to content

Commit 90ebcdb

Browse files
authored
Merge pull request #61 from IIIF-Commons/feature/collection-type-fix
Fix for collection items without a type
2 parents 00724d3 + 793036d commit 90ebcdb

3 files changed

Lines changed: 410 additions & 8 deletions

File tree

__tests__/presentation-2-parser/upgrade.test.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Validator } from '@hyperion-framework/validator';
22
import { expect } from 'vitest';
33
import choiceAnnoList from '../../fixtures/presentation-2/anno_list_choice.json';
44
import artic from '../../fixtures/presentation-2/artic-manifest.json';
5+
import biblissimaCollection from '../../fixtures/presentation-2/biblissima-collection.json';
56
import iiifManifest2 from '../../fixtures/presentation-2/biblissima-manifest.json';
67
import blManifest from '../../fixtures/presentation-2/bl-manifest.json';
78
import bodleianManifest from '../../fixtures/presentation-2/bodleian-manifest.json';
@@ -17,6 +18,7 @@ import iiifManifest from '../../fixtures/presentation-2/iiif-fixture-manifest.js
1718
import iiifManifestInvalid from '../../fixtures/presentation-2/iiif-fixture-manifest.json';
1819
import withDimensions from '../../fixtures/presentation-2/iiif-fixture-manifest-with-dimensions.json';
1920
import loc from '../../fixtures/presentation-2/loc.json';
21+
import malformedImageAnnotation from '../../fixtures/presentation-2/malformed-image-annotation.json';
2022
import level0manifest from '../../fixtures/presentation-2/manifest-l0.json';
2123
import nestedRanges from '../../fixtures/presentation-2/nested-ranges.json';
2224
import ngaManifest from '../../fixtures/presentation-2/nga-manifest.json';
@@ -33,7 +35,6 @@ import stanfordManifest from '../../fixtures/presentation-2/stanford-manifest.js
3335
import goettingen from '../../fixtures/presentation-2/uni-goettingen.json';
3436
import villanovaManifest from '../../fixtures/presentation-2/villanova-manifest.json';
3537
import wikimediaProxy from '../../fixtures/presentation-2/wikimedia-proxy.json';
36-
import malformedImageAnnotation from '../../fixtures/presentation-2/malformed-image-annotation.json';
3738
import { convertPresentation2, presentation2to3 } from '../../src/presentation-2';
3839

3940
describe('Presentation 2 to 3', () => {
@@ -2636,4 +2637,17 @@ describe('Presentation 2 to 3', () => {
26362637
expect(annotation?.motivation).toEqual('painting');
26372638
expect(annotation?.body).toBeDefined();
26382639
});
2640+
2641+
test('automatic @type=sc:Manifest for Biblissima Collection', () => {
2642+
const result = presentation2to3.traverseCollection(biblissimaCollection as any);
2643+
const isValid = validator.validateCollection(result);
2644+
2645+
expect(validator.validators.collection!.errors).toEqual(null);
2646+
expect(validator.validators.manifest!.errors).toEqual(null);
2647+
expect(isValid).toEqual(true);
2648+
2649+
const collection = result as any;
2650+
expect(collection.type).toEqual('Collection');
2651+
expect(collection.items?.[0].type).toEqual('Manifest');
2652+
});
26392653
});

0 commit comments

Comments
 (0)