diff --git a/__tests__/integration/mirador/index.html b/__tests__/integration/mirador/index.html index e947ffa013b2d36cd77a8cf63df4cab223addb61..46a2a53a1f9d4091e7770b40dd8981f01aa86fc6 100644 --- a/__tests__/integration/mirador/index.html +++ b/__tests__/integration/mirador/index.html @@ -14,6 +14,7 @@ id: 'mirador', windows: [{ loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', + canvasIndex: 2, }, { loadedManifest: 'https://media.nga.gov/public/manifests/nga_highlights.json', diff --git a/__tests__/integration/mirador/thumbnail-navigation.test.js b/__tests__/integration/mirador/thumbnail-navigation.test.js index de83c2d2d0a09bb727e7b9a8d3b51be6f029cf3a..1baaa01d0b4d9b2e0e6a8329a2f52052c7e19c8e 100644 --- a/__tests__/integration/mirador/thumbnail-navigation.test.js +++ b/__tests__/integration/mirador/thumbnail-navigation.test.js @@ -10,8 +10,10 @@ describe('Thumbnail navigation', () => { let windows = await page.evaluate(() => ( miradorInstance.store.getState().windows )); - expect(Object.values(windows)[0].canvasIndex).toBe(0); + expect(Object.values(windows)[0].canvasIndex).toBe(2); // test harness in index.html starts at 2 + await page.waitFor(1000); await expect(page).toClick('.mirador-thumbnail-nav-canvas-1'); + await expect(page).toMatchElement('.mirador-thumbnail-nav-canvas-1.mirador-current-canvas', { timeout: 1500 }); windows = await page.evaluate(() => ( miradorInstance.store.getState().windows )); diff --git a/__tests__/src/lib/MiradorViewer.test.js b/__tests__/src/lib/MiradorViewer.test.js index d33c6af428fcd9ca41619e6b37a08a138aece88f..496701c8bb61ac72e0bc891d34f538545098e09b 100644 --- a/__tests__/src/lib/MiradorViewer.test.js +++ b/__tests__/src/lib/MiradorViewer.test.js @@ -46,6 +46,7 @@ describe('MiradorViewer', () => { id: 'mirador', windows: [{ loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', + canvasIndex: 2, }, { loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', @@ -57,6 +58,8 @@ describe('MiradorViewer', () => { const { windows } = instance.store.getState(); const windowIds = Object.keys(windows); expect(Object.keys(windowIds).length).toBe(2); + expect(windows[windowIds[0]].canvasIndex).toBe(2); + expect(windows[windowIds[1]].canvasIndex).toBe(0); expect(windows[windowIds[0]].thumbnailNavigationPosition).toBe('bottom'); expect(windows[windowIds[1]].thumbnailNavigationPosition).toBe('off'); }); diff --git a/src/lib/MiradorViewer.js b/src/lib/MiradorViewer.js index 325b7b5cb9f97acb96b0b61595dbf24cc9320c1d..b68f8b64e1cef928229b3f261a0aea504f7d77bd 100644 --- a/src/lib/MiradorViewer.js +++ b/src/lib/MiradorViewer.js @@ -51,6 +51,7 @@ class MiradorViewer { } store.dispatch(actions.fetchManifest(miradorWindow.loadedManifest)); store.dispatch(actions.addWindow({ + canvasIndex: (miradorWindow.canvasIndex || 0), manifestId: miradorWindow.loadedManifest, thumbnailNavigationPosition, }));