UNPKG

playable

Version:

Video player based on HTML5Video

66 lines 2.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); require("jsdom-global/register"); var chai_1 = require("chai"); var sinon = (0, tslib_1.__importStar)(require("sinon")); var player_factory_1 = require("./player-factory"); describe('registerModule', function () { it('should add additional module', function () { var spy = sinon.spy(); var ClassA = /** @class */ (function () { function ClassA() { spy(); } return ClassA; }()); (0, player_factory_1.registerModule)('ClassA', ClassA); /*const player = */ (0, player_factory_1.create)(); (0, chai_1.expect)(spy.called).to.be.true; (0, player_factory_1.clearAdditionalModules)(); }); it('should add module API', function () { var spy = sinon.spy(); var methodName = 'customModuleMethod'; var method = function () { }; var CustomModule = /** @class */ (function () { function CustomModule() { } CustomModule.prototype.getAPI = function () { var _a; spy(); return _a = {}, _a[methodName] = method, _a; }; return CustomModule; }()); (0, player_factory_1.registerModule)('customModule', CustomModule); var player = (0, player_factory_1.create)(); player[methodName](); (0, chai_1.expect)(spy.called).to.be.true; (0, chai_1.expect)(player[methodName]).to.equal(method); (0, player_factory_1.clearAdditionalModules)(); }); }); describe('Player', function () { var player; beforeEach(function () { player = (0, player_factory_1.create)(); }); describe('constructor', function () { it('should create instance ', function () { (0, chai_1.expect)(player).to.exist; (0, chai_1.expect)(player._defaultModules.engine).to.exist; (0, chai_1.expect)(player.getElement()).to.exist; (0, chai_1.expect)(player._defaultModules.eventEmitter).to.exist; }); it('should create separate instances', function () { var player2 = (0, player_factory_1.create)(); (0, chai_1.expect)(player._defaultModules.engine).to.not.be.equal(player2._defaultModules.engine); (0, chai_1.expect)(player.getElement()).to.not.be.equal(player2.getElement()); (0, chai_1.expect)(player._defaultModules.eventEmitter).to.not.be.equal(player2._defaultModules.eventEmitter); }); }); }); //# sourceMappingURL=player-factory.spec.js.map