| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * Describes the test suite.
- */
- describe('Babylon Node', () => {
- let subject: BABYLON.Engine;
- /**
- * Loads the dependencies.
- */
- before(function (done) {
- this.timeout(180000);
- (BABYLONDEVTOOLS).Loader
- .useDist()
- .load(function () {
- // Force apply promise polyfill for consistent behavior between PhantomJS, IE11, and other browsers.
- BABYLON.PromisePolyfill.Apply(true);
- done();
- });
- });
- /**
- * Create a new engine subject before each test.
- */
- beforeEach(function () {
- subject = new BABYLON.NullEngine({
- renderHeight: 256,
- renderWidth: 256,
- textureSize: 256,
- deterministicLockstep: false,
- lockstepMaxSteps: 1
- });
- });
- describe('#Node', () => {
- it('dispose', () => {
- const scene = new BABYLON.Scene(subject);
- const node = new BABYLON.Node("node", scene);
- const transformNode = new BABYLON.TransformNode("transformNode", scene);
- transformNode.parent = node;
- const mesh = new BABYLON.Mesh("node2", scene);
- mesh.parent = node;
- mesh.material = new BABYLON.PBRMaterial("material", scene)
- node.dispose();
- expect(node.isDisposed(), "node.isDisposed").to.be.true;
- expect(transformNode.isDisposed(), "transformNode.isDisposed").to.be.true;
- expect(mesh.isDisposed(), "mesh.isDisposed").to.be.true;
- expect(scene.materials, "scene.materials").to.have.lengthOf(1);
- });
- it('dispose with doNotRecurse', () => {
- const scene = new BABYLON.Scene(subject);
- const node = new BABYLON.Node("node", scene);
- const transformNode = new BABYLON.TransformNode("transformNode", scene);
- transformNode.parent = node;
- const mesh = new BABYLON.Mesh("node2", scene);
- mesh.parent = node;
- mesh.material = new BABYLON.PBRMaterial("material", scene)
- node.dispose(true);
- expect(node.isDisposed(), "node.isDisposed").to.be.true;
- expect(transformNode.isDisposed(), "transformNode.isDisposed").to.be.false;
- expect(mesh.isDisposed(), "mesh.isDisposed").to.be.false;
- expect(scene.materials, "scene.materials").to.have.lengthOf(1);
- });
- it('dispose with disposeMaterialAndTextures', () => {
- const scene = new BABYLON.Scene(subject);
- const transformNode = new BABYLON.TransformNode("transformNode", scene);
- const mesh = new BABYLON.Mesh("mesh", scene);
- mesh.parent = transformNode;
- mesh.material = new BABYLON.PBRMaterial("material", scene)
- transformNode.dispose(false, true);
- expect(transformNode.isDisposed(), "node.isDisposed").to.be.true;
- expect(mesh.isDisposed(), "mesh.isDisposed").to.be.true;
- expect(scene.meshes, "scene.meshes").to.be.empty;
- expect(scene.materials, "scene.materials").to.be.empty;
- });
- });
- });
|