UNPKG

phaser

Version:

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

93 lines (74 loc) 2.89 kB
var SetTileCollision = require('../../../src/tilemaps/components/SetTileCollision'); describe('Phaser.Tilemaps.Components.SetTileCollision', function () { var tile; beforeEach(function () { tile = { setCollisionCalled: false, setCollisionArgs: null, resetCollisionCalled: false, resetCollisionArgs: null, setCollision: function (left, right, up, down, recalc) { this.setCollisionCalled = true; this.setCollisionArgs = { left: left, right: right, up: up, down: down, recalc: recalc }; }, resetCollision: function (recalc) { this.resetCollisionCalled = true; this.resetCollisionArgs = { recalc: recalc }; } }; }); it('should call setCollision with all sides true and recalc false when collides is true', function () { SetTileCollision(tile, true); expect(tile.setCollisionCalled).toBe(true); expect(tile.setCollisionArgs.left).toBe(true); expect(tile.setCollisionArgs.right).toBe(true); expect(tile.setCollisionArgs.up).toBe(true); expect(tile.setCollisionArgs.down).toBe(true); expect(tile.setCollisionArgs.recalc).toBe(false); }); it('should not call resetCollision when collides is true', function () { SetTileCollision(tile, true); expect(tile.resetCollisionCalled).toBe(false); }); it('should call resetCollision with false when collides is false', function () { SetTileCollision(tile, false); expect(tile.resetCollisionCalled).toBe(true); expect(tile.resetCollisionArgs.recalc).toBe(false); }); it('should not call setCollision when collides is false', function () { SetTileCollision(tile, false); expect(tile.setCollisionCalled).toBe(false); }); it('should call resetCollision when collides is omitted (defaults to falsy)', function () { SetTileCollision(tile); expect(tile.resetCollisionCalled).toBe(true); expect(tile.setCollisionCalled).toBe(false); }); it('should call setCollision when collides is a truthy non-boolean', function () { SetTileCollision(tile, 1); expect(tile.setCollisionCalled).toBe(true); expect(tile.resetCollisionCalled).toBe(false); }); it('should call resetCollision when collides is 0', function () { SetTileCollision(tile, 0); expect(tile.resetCollisionCalled).toBe(true); expect(tile.setCollisionCalled).toBe(false); }); it('should call resetCollision when collides is null', function () { SetTileCollision(tile, null); expect(tile.resetCollisionCalled).toBe(true); expect(tile.setCollisionCalled).toBe(false); }); });