phaser
Version:
A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers from the team at Phaser Studio Inc.
241 lines (208 loc) • 6.27 kB
JavaScript
var Flip = require('../../../src/gameobjects/components/Flip');
describe('Flip', function ()
{
var obj;
beforeEach(function ()
{
obj = Object.assign({}, Flip);
obj.flipX = false;
obj.flipY = false;
});
describe('default values', function ()
{
it('should have flipX default to false', function ()
{
expect(Flip.flipX).toBe(false);
});
it('should have flipY default to false', function ()
{
expect(Flip.flipY).toBe(false);
});
});
describe('toggleFlipX', function ()
{
it('should toggle flipX from false to true', function ()
{
obj.flipX = false;
obj.toggleFlipX();
expect(obj.flipX).toBe(true);
});
it('should toggle flipX from true to false', function ()
{
obj.flipX = true;
obj.toggleFlipX();
expect(obj.flipX).toBe(false);
});
it('should toggle flipX multiple times', function ()
{
obj.flipX = false;
obj.toggleFlipX();
obj.toggleFlipX();
expect(obj.flipX).toBe(false);
});
it('should return the object instance', function ()
{
var result = obj.toggleFlipX();
expect(result).toBe(obj);
});
it('should not affect flipY', function ()
{
obj.flipY = true;
obj.toggleFlipX();
expect(obj.flipY).toBe(true);
});
});
describe('toggleFlipY', function ()
{
it('should toggle flipY from false to true', function ()
{
obj.flipY = false;
obj.toggleFlipY();
expect(obj.flipY).toBe(true);
});
it('should toggle flipY from true to false', function ()
{
obj.flipY = true;
obj.toggleFlipY();
expect(obj.flipY).toBe(false);
});
it('should toggle flipY multiple times', function ()
{
obj.flipY = false;
obj.toggleFlipY();
obj.toggleFlipY();
expect(obj.flipY).toBe(false);
});
it('should return the object instance', function ()
{
var result = obj.toggleFlipY();
expect(result).toBe(obj);
});
it('should not affect flipX', function ()
{
obj.flipX = true;
obj.toggleFlipY();
expect(obj.flipX).toBe(true);
});
});
describe('setFlipX', function ()
{
it('should set flipX to true', function ()
{
obj.setFlipX(true);
expect(obj.flipX).toBe(true);
});
it('should set flipX to false', function ()
{
obj.flipX = true;
obj.setFlipX(false);
expect(obj.flipX).toBe(false);
});
it('should return the object instance', function ()
{
var result = obj.setFlipX(true);
expect(result).toBe(obj);
});
it('should not affect flipY', function ()
{
obj.flipY = true;
obj.setFlipX(true);
expect(obj.flipY).toBe(true);
});
});
describe('setFlipY', function ()
{
it('should set flipY to true', function ()
{
obj.setFlipY(true);
expect(obj.flipY).toBe(true);
});
it('should set flipY to false', function ()
{
obj.flipY = true;
obj.setFlipY(false);
expect(obj.flipY).toBe(false);
});
it('should return the object instance', function ()
{
var result = obj.setFlipY(true);
expect(result).toBe(obj);
});
it('should not affect flipX', function ()
{
obj.flipX = true;
obj.setFlipY(true);
expect(obj.flipX).toBe(true);
});
});
describe('setFlip', function ()
{
it('should set both flipX and flipY to true', function ()
{
obj.setFlip(true, true);
expect(obj.flipX).toBe(true);
expect(obj.flipY).toBe(true);
});
it('should set both flipX and flipY to false', function ()
{
obj.flipX = true;
obj.flipY = true;
obj.setFlip(false, false);
expect(obj.flipX).toBe(false);
expect(obj.flipY).toBe(false);
});
it('should set flipX to true and flipY to false', function ()
{
obj.setFlip(true, false);
expect(obj.flipX).toBe(true);
expect(obj.flipY).toBe(false);
});
it('should set flipX to false and flipY to true', function ()
{
obj.setFlip(false, true);
expect(obj.flipX).toBe(false);
expect(obj.flipY).toBe(true);
});
it('should return the object instance', function ()
{
var result = obj.setFlip(true, true);
expect(result).toBe(obj);
});
});
describe('resetFlip', function ()
{
it('should reset flipX to false', function ()
{
obj.flipX = true;
obj.resetFlip();
expect(obj.flipX).toBe(false);
});
it('should reset flipY to false', function ()
{
obj.flipY = true;
obj.resetFlip();
expect(obj.flipY).toBe(false);
});
it('should reset both flipX and flipY when both are true', function ()
{
obj.flipX = true;
obj.flipY = true;
obj.resetFlip();
expect(obj.flipX).toBe(false);
expect(obj.flipY).toBe(false);
});
it('should return the object instance', function ()
{
var result = obj.resetFlip();
expect(result).toBe(obj);
});
it('should have no effect when already at defaults', function ()
{
obj.flipX = false;
obj.flipY = false;
obj.resetFlip();
expect(obj.flipX).toBe(false);
expect(obj.flipY).toBe(false);
});
});
});