phaser
Version:
A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers from the team at Phaser Studio Inc.
90 lines (75 loc) • 3.04 kB
JavaScript
var helper = require('../../../helper');
describe('BatchHandlerQuadSingle', function ()
{
var scene;
beforeEach(async function ()
{
scene = await helper.createGame();
});
afterEach(function ()
{
helper.destroyGame();
});
it('should exist in Phaser namespace', function ()
{
expect(helper.Phaser.Renderer.WebGL.RenderNodes.BatchHandlerQuadSingle).toBeDefined();
});
it('should set default config name when none provided', function ()
{
var config = {};
if (!config.name) { config.name = 'BatchHandlerQuadSingle'; }
expect(config.name).toBe('BatchHandlerQuadSingle');
});
it('should set default shaderName when none provided', function ()
{
var config = {};
if (!config.shaderName) { config.shaderName = 'STANDARD_SINGLE'; }
expect(config.shaderName).toBe('STANDARD_SINGLE');
});
it('should set default instancesPerBatch to 1 when none provided', function ()
{
var config = {};
if (!config.instancesPerBatch) { config.instancesPerBatch = 1; }
expect(config.instancesPerBatch).toBe(1);
});
it('should not override existing config name', function ()
{
var config = { name: 'CustomName' };
if (!config.name) { config.name = 'BatchHandlerQuadSingle'; }
expect(config.name).toBe('CustomName');
});
it('should not override existing shaderName', function ()
{
var config = { shaderName: 'CUSTOM_SHADER' };
if (!config.shaderName) { config.shaderName = 'STANDARD_SINGLE'; }
expect(config.shaderName).toBe('CUSTOM_SHADER');
});
it('should not override existing instancesPerBatch', function ()
{
var config = { instancesPerBatch: 4 };
if (!config.instancesPerBatch) { config.instancesPerBatch = 1; }
expect(config.instancesPerBatch).toBe(4);
});
it('should treat empty config as requiring all defaults', function ()
{
var config = {};
if (config === undefined) { config = {}; }
if (!config.name) { config.name = 'BatchHandlerQuadSingle'; }
if (!config.shaderName) { config.shaderName = 'STANDARD_SINGLE'; }
if (!config.instancesPerBatch) { config.instancesPerBatch = 1; }
expect(config.name).toBe('BatchHandlerQuadSingle');
expect(config.shaderName).toBe('STANDARD_SINGLE');
expect(config.instancesPerBatch).toBe(1);
});
it('should treat undefined config the same as empty config', function ()
{
var config = undefined;
if (config === undefined) { config = {}; }
if (!config.name) { config.name = 'BatchHandlerQuadSingle'; }
if (!config.shaderName) { config.shaderName = 'STANDARD_SINGLE'; }
if (!config.instancesPerBatch) { config.instancesPerBatch = 1; }
expect(config.name).toBe('BatchHandlerQuadSingle');
expect(config.shaderName).toBe('STANDARD_SINGLE');
expect(config.instancesPerBatch).toBe(1);
});
});