mirror of
https://github.com/CesiumGS/obj2gltf.git
synced 2025-01-31 03:53:13 -05:00
100 lines
3.8 KiB
JavaScript
100 lines
3.8 KiB
JavaScript
'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);
|
|
});
|
|
});
|