'use strict'; const loadTexture = require('../../lib/loadTexture'); const pngTexturePath = 'specs/data/box-complex-material/shininess.png'; const jpgTexturePath = 'specs/data/box-complex-material/emission.jpg'; const jpegTexturePath = 'specs/data/box-complex-material/specular.jpeg'; const gifTexturePath = 'specs/data/box-complex-material/ambient.gif'; const grayscaleTexturePath = 'specs/data/box-complex-material-alpha/alpha.png'; const transparentTexturePath = 'specs/data/box-complex-material/diffuse.png'; describe('loadTexture', () => { it('loads png texture', async () => { const texture = await loadTexture(pngTexturePath); expect(texture.transparent).toBe(false); expect(texture.source).toBeDefined(); expect(texture.name).toBe('shininess'); expect(texture.extension).toBe('.png'); expect(texture.path).toBe(pngTexturePath); expect(texture.pixels).toBeUndefined(); expect(texture.width).toBeUndefined(); expect(texture.height).toBeUndefined(); }); it('loads jpg texture', async () => { const texture = await loadTexture(jpgTexturePath); expect(texture.transparent).toBe(false); expect(texture.source).toBeDefined(); expect(texture.name).toBe('emission'); expect(texture.extension).toBe('.jpg'); expect(texture.path).toBe(jpgTexturePath); expect(texture.pixels).toBeUndefined(); expect(texture.width).toBeUndefined(); expect(texture.height).toBeUndefined(); }); it('loads jpeg texture', async () => { const texture = await loadTexture(jpegTexturePath); expect(texture.transparent).toBe(false); expect(texture.source).toBeDefined(); expect(texture.name).toBe('specular'); expect(texture.extension).toBe('.jpeg'); expect(texture.path).toBe(jpegTexturePath); expect(texture.pixels).toBeUndefined(); expect(texture.width).toBeUndefined(); expect(texture.height).toBeUndefined(); }); it('loads gif texture', async () => { const texture = await loadTexture(gifTexturePath); expect(texture.transparent).toBe(false); expect(texture.source).toBeDefined(); expect(texture.name).toBe('ambient'); expect(texture.extension).toBe('.gif'); expect(texture.path).toBe(gifTexturePath); expect(texture.pixels).toBeUndefined(); expect(texture.width).toBeUndefined(); expect(texture.height).toBeUndefined(); }); it('loads grayscale texture', async () => { const texture = await loadTexture(grayscaleTexturePath); expect(texture.transparent).toBe(false); expect(texture.source).toBeDefined(); expect(texture.extension).toBe('.png'); }); it('loads texture with alpha channel', async () => { const texture = await loadTexture(transparentTexturePath); expect(texture.transparent).toBe(false); }); it('loads texture with checkTransparency flag', async () => { const options = { checkTransparency : true }; const texture = await loadTexture(transparentTexturePath, options); expect(texture.transparent).toBe(true); }); it('loads and decodes png', async () => { const options = { decode : true }; const texture = await loadTexture(pngTexturePath, options); expect(texture.pixels).toBeDefined(); expect(texture.width).toBe(211); expect(texture.height).toBe(211); }); it('loads and decodes jpeg', async () => { const options = { decode : true }; const texture = await loadTexture(jpegTexturePath, options); expect(texture.pixels).toBeDefined(); expect(texture.width).toBe(211); expect(texture.height).toBe(211); }); });