/* global QUnit */ import { Light } from '../../../../src/lights/Light.js'; import { Object3D } from '../../../../src/core/Object3D.js'; import { runStdLightTests } from '../../utils/qunit-utils.js'; export default QUnit.module( 'Lights', () => { QUnit.module( 'Light', ( hooks ) => { let lights = undefined; hooks.beforeEach( function () { const parameters = { color: 0xaaaaaa, intensity: 0.5 }; lights = [ new Light(), new Light( parameters.color ), new Light( parameters.color, parameters.intensity ) ]; } ); // INHERITANCE QUnit.test( 'Extending', ( assert ) => { const object = new Light(); assert.strictEqual( object instanceof Object3D, true, 'Light extends from Object3D' ); } ); // INSTANCING QUnit.test( 'Instancing', ( assert ) => { const object = new Light(); assert.ok( object, 'Can instantiate a Light.' ); } ); // PROPERTIES QUnit.test( 'type', ( assert ) => { const object = new Light(); assert.ok( object.type === 'Light', 'Light.type should be Light' ); } ); QUnit.todo( 'color', ( assert ) => { assert.ok( false, 'everything\'s gonna be alright' ); } ); QUnit.todo( 'intensity', ( assert ) => { assert.ok( false, 'everything\'s gonna be alright' ); } ); // PUBLIC QUnit.test( 'isLight', ( assert ) => { const object = new Light(); assert.ok( object.isLight, 'Light.isLight should be true' ); } ); QUnit.test( 'dispose', ( assert ) => { assert.expect( 0 ); // empty, test exists const object = new Light(); object.dispose(); } ); QUnit.todo( 'copy', ( assert ) => { assert.ok( false, 'everything\'s gonna be alright' ); } ); QUnit.todo( 'toJSON', ( assert ) => { assert.ok( false, 'everything\'s gonna be alright' ); } ); // OTHERS QUnit.test( 'Standard light tests', ( assert ) => { runStdLightTests( assert, lights ); } ); } ); } );