forked from Kitware/itk-vtk-viewer
/
pipelineTest.js
51 lines (42 loc) · 1.43 KB
/
pipelineTest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import test from 'tape-catch'
import axios from 'axios'
import { readImageArrayBuffer } from 'itk-wasm'
import testUtils from 'vtk.js/Sources/Testing/testUtils'
import createViewer from '../src/createViewer'
import './customElementsDefineOverride.js'
const testImage3DPath = 'base/test/data/input/HeadMRVolume.nrrd'
const testLabelImage3DPath =
'base/test/data/input/HeadMRVolumeLabelsSmaller.nrrd'
test('Test createViewer with smaller size label image', async t => {
const gc = testUtils.createGarbageCollector(t)
const container = document.querySelector('body')
const viewerContainer = gc.registerDOMElement(document.createElement('div'))
container.appendChild(viewerContainer)
const imageResponse = await axios.get(testImage3DPath, {
responseType: 'arraybuffer',
})
const { image, webWorker: imageWorker } = await readImageArrayBuffer(
null,
imageResponse.data,
'data.nrrd'
)
imageWorker.terminate()
const labelResponse = await axios.get(testLabelImage3DPath, {
responseType: 'arraybuffer',
})
const {
image: labelImage,
webWorker: labelWorker,
} = await readImageArrayBuffer(null, labelResponse.data, 'data.nrrd')
labelWorker.terminate()
const viewer = await createViewer(container, {
image,
labelImage,
rotate: false,
})
t.plan(1)
viewer.once('renderedImageAssigned', () => {
t.pass('createViewer did not crash with smaller label image')
gc.releaseResources()
})
})