mirror of
https://github.com/CesiumGS/obj2gltf.git
synced 2024-11-27 10:30:16 -05:00
100 lines
3.5 KiB
JavaScript
100 lines
3.5 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);
|
|
});
|
|
});
|