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