38 lines
2.3 KiB
TypeScript
38 lines
2.3 KiB
TypeScript
import { LLGLTFMaterial } from './LLGLTFMaterial';
|
|
import * as assert from 'assert';
|
|
|
|
describe('LLGLTFMaterial', () =>
|
|
{
|
|
describe('parse', () =>
|
|
{
|
|
it ('should parse a valid GLTF material asset', () =>
|
|
{
|
|
const buf = Buffer.from('PD8gTExTRC9CaW5hcnkgPz4KewAAAANrAAAABGRhdGFzAAABznsiYXNzZXQiOnsidmVyc2lvbiI6IjIuMCJ9LCJpbWFnZXMiOlt7InVyaSI6IjJjN2U3MzMyLTM3MTctNWY0ZS04ZjIyLTZlZTlkYTUyNzVmYiJ9LHsidXJpIjoiMTA3OGY1ZWMtMWM1Ni1lNzNmLThmOGYtYmUzNmM0MGU1MTIxIn0seyJ1cmkiOiIyMzBkMmQyZC1iMDkyLTliZjUtYmE3ZS1iMzE5NTY2MzIyYTYifSx7InVyaSI6IjIzMGQyZDJkLWIwOTItOWJmNS1iYTdlLWIzMTk1NjYzMjJhNiJ9XSwibWF0ZXJpYWxzIjpbeyJub3JtYWxUZXh0dXJlIjp7ImluZGV4IjoxfSwib2NjbHVzaW9uVGV4dHVyZSI6eyJpbmRleCI6M30sInBick1ldGFsbGljUm91Z2huZXNzIjp7ImJhc2VDb2xvclRleHR1cmUiOnsiaW5kZXgiOjB9LCJtZXRhbGxpY1JvdWdobmVzc1RleHR1cmUiOnsiaW5kZXgiOjJ9fX1dLCJ0ZXh0dXJlcyI6W3sic291cmNlIjowfSx7InNvdXJjZSI6MX0seyJzb3VyY2UiOjJ9LHsic291cmNlIjozfV19CmsAAAAEdHlwZXMAAAAIR0xURiAyLjBrAAAAB3ZlcnNpb25zAAAAAzEuMX0A', 'base64');
|
|
const mat = new LLGLTFMaterial(buf);
|
|
|
|
assert.equal(mat.version, '1.1');
|
|
assert.equal(mat.type, 'GLTF 2.0');
|
|
assert.ok(mat.data);
|
|
assert.equal(mat.data.asset.version, '2.0');
|
|
assert.equal(mat.data.images.length, 4);
|
|
assert.equal(mat.data.images[0].uri, '2c7e7332-3717-5f4e-8f22-6ee9da5275fb');
|
|
assert.equal(mat.data.images[1].uri, '1078f5ec-1c56-e73f-8f8f-be36c40e5121');
|
|
assert.equal(mat.data.images[2].uri, '230d2d2d-b092-9bf5-ba7e-b319566322a6');
|
|
assert.equal(mat.data.images[3].uri, '230d2d2d-b092-9bf5-ba7e-b319566322a6');
|
|
assert.equal(mat.data.materials.length, 1);
|
|
|
|
const mat0 = mat.data.materials[0];
|
|
assert.equal(mat0.normalTexture.index, 1);
|
|
assert.equal(mat0.occlusionTexture.index, 3);
|
|
assert.equal(mat0.pbrMetallicRoughness.baseColorTexture.index, 0);
|
|
assert.equal(mat0.pbrMetallicRoughness.metallicRoughnessTexture.index, 2);
|
|
|
|
assert.equal(mat.data.textures.length, 4);
|
|
assert.equal(mat.data.textures[0].source, 0);
|
|
assert.equal(mat.data.textures[1].source, 1);
|
|
assert.equal(mat.data.textures[2].source, 2);
|
|
assert.equal(mat.data.textures[3].source, 3);
|
|
});
|
|
});
|
|
});
|