UNPKG

phaser

Version:

A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers from the team at Phaser Studio Inc.

203 lines (174 loc) 6.62 kB
var Barrel = require('../../src/filters/Barrel'); describe('Barrel', function () { var mockCamera; beforeEach(function () { mockCamera = { id: 'mockCamera' }; }); describe('constructor', function () { it('should create a Barrel with default amount of 1', function () { var barrel = new Barrel(mockCamera); expect(barrel.amount).toBe(1); }); it('should create a Barrel with a custom amount', function () { var barrel = new Barrel(mockCamera, 0.5); expect(barrel.amount).toBe(0.5); }); it('should create a Barrel with amount greater than 1 (barrel distortion)', function () { var barrel = new Barrel(mockCamera, 2); expect(barrel.amount).toBe(2); }); it('should create a Barrel with amount less than 1 (pincushion distortion)', function () { var barrel = new Barrel(mockCamera, 0.2); expect(barrel.amount).toBe(0.2); }); it('should create a Barrel with a negative amount', function () { var barrel = new Barrel(mockCamera, -1); expect(barrel.amount).toBe(-1); }); it('should create a Barrel with amount of zero', function () { var barrel = new Barrel(mockCamera, 0); expect(barrel.amount).toBe(0); }); it('should set active to true by default (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.active).toBe(true); }); it('should store the camera reference (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.camera).toBe(mockCamera); }); it('should set renderNode to FilterBarrel (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.renderNode).toBe('FilterBarrel'); }); it('should set allowBaseDraw to true by default (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.allowBaseDraw).toBe(true); }); it('should set ignoreDestroy to false by default (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.ignoreDestroy).toBe(false); }); it('should initialise paddingOverride as a Rectangle (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.paddingOverride).not.toBeNull(); expect(typeof barrel.paddingOverride).toBe('object'); }); it('should initialise currentPadding as a Rectangle (inherited from Controller)', function () { var barrel = new Barrel(mockCamera); expect(barrel.currentPadding).not.toBeNull(); expect(typeof barrel.currentPadding).toBe('object'); }); }); describe('amount property', function () { it('should allow amount to be reassigned', function () { var barrel = new Barrel(mockCamera, 1); barrel.amount = 0.5; expect(barrel.amount).toBe(0.5); }); it('should allow amount to be set to a floating point value', function () { var barrel = new Barrel(mockCamera, 1.75); expect(barrel.amount).toBeCloseTo(1.75); }); }); describe('setActive (inherited from Controller)', function () { it('should set active to false', function () { var barrel = new Barrel(mockCamera); barrel.setActive(false); expect(barrel.active).toBe(false); }); it('should set active to true', function () { var barrel = new Barrel(mockCamera); barrel.setActive(false); barrel.setActive(true); expect(barrel.active).toBe(true); }); it('should return the instance for chaining', function () { var barrel = new Barrel(mockCamera); var result = barrel.setActive(false); expect(result).toBe(barrel); }); }); describe('getPadding (inherited from Controller)', function () { it('should return the paddingOverride when set', function () { var barrel = new Barrel(mockCamera); var padding = barrel.getPadding(); expect(padding).toBe(barrel.paddingOverride); }); it('should return currentPadding when paddingOverride is null', function () { var barrel = new Barrel(mockCamera); barrel.setPaddingOverride(null); var padding = barrel.getPadding(); expect(padding).toBe(barrel.currentPadding); }); }); describe('setPaddingOverride (inherited from Controller)', function () { it('should set paddingOverride to null when called with null', function () { var barrel = new Barrel(mockCamera); barrel.setPaddingOverride(null); expect(barrel.paddingOverride).toBeNull(); }); it('should create a new Rectangle when called with no arguments', function () { var barrel = new Barrel(mockCamera); barrel.setPaddingOverride(null); barrel.setPaddingOverride(); expect(barrel.paddingOverride).not.toBeNull(); }); it('should return the instance for chaining', function () { var barrel = new Barrel(mockCamera); var result = barrel.setPaddingOverride(null); expect(result).toBe(barrel); }); }); describe('destroy (inherited from Controller)', function () { it('should set active to false on destroy', function () { var barrel = new Barrel(mockCamera); barrel.destroy(); expect(barrel.active).toBe(false); }); it('should set renderNode to null on destroy', function () { var barrel = new Barrel(mockCamera); barrel.destroy(); expect(barrel.renderNode).toBeNull(); }); it('should set camera to null on destroy', function () { var barrel = new Barrel(mockCamera); barrel.destroy(); expect(barrel.camera).toBeNull(); }); }); });