UNPKG

phaser

Version:

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

107 lines (92 loc) 3.75 kB
var BaseFilter = require('../../../../../src/renderer/webgl/renderNodes/filters/BaseFilter'); describe('BaseFilter', function () { var mockManager; beforeEach(function () { mockManager = { renderer: {}, nodes: {} }; }); describe('constructor', function () { it('should create a BaseFilter with the given name', function () { var filter = new BaseFilter('TestFilter', mockManager); expect(filter.name).toBe('TestFilter'); }); it('should create a BaseFilter with the given manager', function () { var filter = new BaseFilter('TestFilter', mockManager); expect(filter.manager).toBe(mockManager); }); it('should create a BaseFilter with any string name', function () { var filter = new BaseFilter('BlurFilter', mockManager); expect(filter.name).toBe('BlurFilter'); var filter2 = new BaseFilter('GlowFilter', mockManager); expect(filter2.name).toBe('GlowFilter'); }); it('should create a BaseFilter with an empty string name', function () { var filter = new BaseFilter('', mockManager); expect(filter.name).toBe(''); }); }); describe('run', function () { it('should return undefined (base implementation does nothing)', function () { var filter = new BaseFilter('TestFilter', mockManager); var result = filter.run({}, {}, {}, {}); expect(result).toBeUndefined(); }); it('should return undefined when called with no arguments', function () { var filter = new BaseFilter('TestFilter', mockManager); var result = filter.run(); expect(result).toBeUndefined(); }); it('should return undefined when called with only a controller', function () { var filter = new BaseFilter('TestFilter', mockManager); var mockController = { padding: { x: 0, y: 0 } }; var result = filter.run(mockController); expect(result).toBeUndefined(); }); it('should return undefined when called with controller and inputDrawingContext', function () { var filter = new BaseFilter('TestFilter', mockManager); var mockController = {}; var mockInputCtx = { texture: {}, framebuffer: {} }; var result = filter.run(mockController, mockInputCtx); expect(result).toBeUndefined(); }); it('should return undefined when called with all arguments', function () { var filter = new BaseFilter('TestFilter', mockManager); var mockController = {}; var mockInputCtx = { texture: {}, framebuffer: {} }; var mockOutputCtx = { texture: {}, framebuffer: {} }; var mockPadding = { x: 4, y: 4, width: 8, height: 8 }; var result = filter.run(mockController, mockInputCtx, mockOutputCtx, mockPadding); expect(result).toBeUndefined(); }); it('should not throw when called', function () { var filter = new BaseFilter('TestFilter', mockManager); expect(function () { filter.run({}, {}, {}, {}); }).not.toThrow(); }); it('should not mutate the controller argument', function () { var filter = new BaseFilter('TestFilter', mockManager); var mockController = { value: 42 }; filter.run(mockController, {}, {}, {}); expect(mockController.value).toBe(42); }); }); });