playable
Version:
Video player based on HTML5Video
66 lines • 2.7 kB
JavaScript
;
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