videogular2
Version:
Videogular is a video application framework for desktop and mobile powered by Angular 2.0
92 lines • 12.8 kB
JavaScript
;
var vg_overlay_play_1 = require("./vg-overlay-play");
var vg_api_1 = require("../core/services/vg-api");
var vg_states_1 = require("../core/states/vg-states");
var vg_fullscreen_api_1 = require('../core/services/vg-fullscreen-api');
describe('Videogular Player', function () {
var overlayPlay;
var ref;
var api;
var fsAPI;
var controlsHidden;
beforeEach(function () {
ref = {
nativeElement: {
getAttribute: function (name) {
return name;
}
}
};
controlsHidden = {
isHidden: {
subscribe: function () { }
}
};
api = new vg_api_1.VgAPI();
fsAPI = new vg_fullscreen_api_1.VgFullscreenAPI();
overlayPlay = new vg_overlay_play_1.VgOverlayPlay(ref, api, fsAPI, controlsHidden);
});
it('Should get media by id on init', function () {
spyOn(api, 'getMediaById').and.returnValue({
subscriptions: {
bufferDetected: { subscribe: jasmine.createSpy('bufferDetected') }
}
});
overlayPlay.vgFor = 'test';
overlayPlay.onPlayerReady();
expect(api.getMediaById).toHaveBeenCalledWith('test');
expect(overlayPlay.target.subscriptions.bufferDetected.subscribe).toHaveBeenCalled();
});
describe('onClick', function () {
beforeEach(function () {
overlayPlay.target = {
play: function () { },
pause: function () { }
};
});
it('current state play should set target to pause', function () {
spyOn(overlayPlay, 'getState').and.callFake(function () { return vg_states_1.VgStates.VG_PLAYING; });
spyOn(overlayPlay.target, 'pause');
overlayPlay.onClick();
expect(overlayPlay.getState).toHaveBeenCalled();
expect(overlayPlay.target.pause).toHaveBeenCalled();
});
it('current state pause should set target to play', function () {
spyOn(overlayPlay, 'getState').and.callFake(function () { return vg_states_1.VgStates.VG_PAUSED; });
spyOn(overlayPlay.target, 'play');
overlayPlay.onClick();
expect(overlayPlay.getState).toHaveBeenCalled();
expect(overlayPlay.target.play).toHaveBeenCalled();
});
});
describe('getState', function () {
beforeEach(function () {
overlayPlay.target = {
state: null
};
});
it('if only one state returns that state', function () {
overlayPlay.target.state = vg_states_1.VgStates.VG_PAUSED;
expect(overlayPlay.getState()).toEqual(vg_states_1.VgStates.VG_PAUSED);
});
it('if more than one target should return pause if all of them are pause', function () {
overlayPlay.target.state = [
vg_states_1.VgStates.VG_PAUSED,
vg_states_1.VgStates.VG_PAUSED,
vg_states_1.VgStates.VG_PAUSED,
vg_states_1.VgStates.VG_PAUSED
];
expect(overlayPlay.getState()).toEqual(vg_states_1.VgStates.VG_PAUSED);
});
it('if more than one target should return play if any of them is play', function () {
overlayPlay.target.state = [
vg_states_1.VgStates.VG_PAUSED,
vg_states_1.VgStates.VG_PLAYING,
vg_states_1.VgStates.VG_PAUSED,
vg_states_1.VgStates.VG_PAUSED
];
expect(overlayPlay.getState()).toEqual(vg_states_1.VgStates.VG_PLAYING);
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmctb3ZlcmxheS1wbGF5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ2Zy1vdmVybGF5LXBsYXkuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0NBQTRCLG1CQUFtQixDQUFDLENBQUE7QUFDaEQsdUJBQW9CLHlCQUF5QixDQUFDLENBQUE7QUFFOUMsMEJBQXVCLDBCQUEwQixDQUFDLENBQUE7QUFDbEQsa0NBQWdDLG9DQUFvQyxDQUFDLENBQUE7QUFHckUsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzFCLElBQUksV0FBMEIsQ0FBQztJQUMvQixJQUFJLEdBQWMsQ0FBQztJQUNuQixJQUFJLEdBQVMsQ0FBQztJQUNkLElBQUksS0FBcUIsQ0FBQztJQUMxQixJQUFJLGNBQStCLENBQUM7SUFFcEMsVUFBVSxDQUFDO1FBQ1AsR0FBRyxHQUFHO1lBQ0YsYUFBYSxFQUFFO2dCQUNYLFlBQVksRUFBRSxVQUFDLElBQUk7b0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDaEIsQ0FBQzthQUNKO1NBQ0osQ0FBQztRQUVGLGNBQWMsR0FBRztZQUNiLFFBQVEsRUFBRTtnQkFDTixTQUFTLEVBQUUsY0FBTyxDQUFDO2FBQ3RCO1NBQ2dCLENBQUM7UUFFdEIsR0FBRyxHQUFHLElBQUksY0FBSyxFQUFFLENBQUM7UUFDbEIsS0FBSyxHQUFHLElBQUksbUNBQWUsRUFBRSxDQUFDO1FBQzlCLFdBQVcsR0FBRyxJQUFJLCtCQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDakMsS0FBSyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLGFBQWEsRUFBRTtnQkFDWCxjQUFjLEVBQUUsRUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FB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QUNwRSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRztnQkFDdkIsb0JBQVEsQ0FBQyxTQUFTO2dCQUNsQixvQkFBUSxDQUFDLFVBQVU7Z0JBQ25CLG9CQUFRLENBQUMsU0FBUztnQkFDbEIsb0JBQVEsQ0FBQyxTQUFTO2FBQ3JCLENBQUM7WUFFRixNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtWZ092ZXJsYXlQbGF5fSBmcm9tIFwiLi92Zy1vdmVybGF5LXBsYXlcIjtcbmltcG9ydCB7VmdBUEl9IGZyb20gXCIuLi9jb3JlL3NlcnZpY2VzL3ZnLWFwaVwiO1xuaW1wb3J0IHtFbGVtZW50UmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtWZ1N0YXRlc30gZnJvbSBcIi4uL2NvcmUvc3RhdGVzL3ZnLXN0YXRlc1wiO1xuaW1wb3J0IHsgVmdGdWxsc2NyZWVuQVBJIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy92Zy1mdWxsc2NyZWVuLWFwaSc7XG5pbXBvcnQgeyBWZ0NvbnRyb2xzSGlkZGVuIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy92Zy1jb250cm9scy1oaWRkZW4nO1xuXG5kZXNjcmliZSgnVmlkZW9ndWxhciBQbGF5ZXInLCAoKSA9PiB7XG4gICAgbGV0IG92ZXJsYXlQbGF5OiBWZ092ZXJsYXlQbGF5O1xuICAgIGxldCByZWY6RWxlbWVudFJlZjtcbiAgICBsZXQgYXBpOlZnQVBJO1xuICAgIGxldCBmc0FQSTpWZ0Z1bGxzY3JlZW5BUEk7XG4gICAgbGV0IGNvbnRyb2xzSGlkZGVuOlZnQ29udHJvbHNIaWRkZW47XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgcmVmID0ge1xuICAgICAgICAgICAgbmF0aXZlRWxlbWVudDoge1xuICAgICAgICAgICAgICAgIGdldEF0dHJpYnV0ZTogKG5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnRyb2xzSGlkZGVuID0ge1xuICAgICAgICAgICAgaXNIaWRkZW46IHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmU6ICgpID0+IHt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gYXMgVmdDb250cm9sc0hpZGRlbjtcblxuICAgICAgICBhcGkgPSBuZXcgVmdBUEkoKTtcbiAgICAgICAgZnNBUEkgPSBuZXcgVmdGdWxsc2NyZWVuQVBJKCk7XG4gICAgICAgIG92ZXJsYXlQbGF5ID0gbmV3IFZnT3ZlcmxheVBsYXkocmVmLCBhcGksIGZzQVBJLCBjb250cm9sc0hpZGRlbik7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGdldCBtZWRpYSBieSBpZCBvbiBpbml0JywgKCkgPT4ge1xuICAgICAgICBzcHlPbihhcGksICdnZXRNZWRpYUJ5SWQnKS5hbmQucmV0dXJuVmFsdWUoe1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIGJ1ZmZlckRldGVjdGVkOiB7c3Vic2NyaWJlOiBqYXNtaW5lLmNyZWF0ZVNweSgnYnVmZmVyRGV0ZWN0ZWQnKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG92ZXJsYXlQbGF5LnZnRm9yID0gJ3Rlc3QnO1xuICAgICAgICBvdmVybGF5UGxheS5vblBsYXllclJlYWR5KCk7XG5cbiAgICAgICAgZXhwZWN0KGFwaS5nZXRNZWRpYUJ5SWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCd0ZXN0Jyk7XG4gICAgICAgIGV4cGVjdChvdmVybGF5UGxheS50YXJnZXQuc3Vic2NyaXB0aW9ucy5idWZmZXJEZXRlY3RlZC5zdWJzY3JpYmUpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdvbkNsaWNrJywgKCkgPT4ge1xuICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXlQbGF5LnRhcmdldCA9IHtcbiAgICAgICAgICAgICAgICBwbGF5OiAoKSA9PiB7IH0sXG4gICAgICAgICAgICAgICAgcGF1c2U6ICgpID0+IHsgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2N1cnJlbnQgc3RhdGUgcGxheSBzaG91bGQgc2V0IHRhcmdldCB0byBwYXVzZScsICgpID0+IHtcbiAgICAgICAgICAgIHNweU9uKG92ZXJsYXlQbGF5LCAnZ2V0U3RhdGUnKS5hbmQuY2FsbEZha2UoKCkgPT4geyByZXR1cm4gVmdTdGF0ZXMuVkdfUExBWUlORzsgfSk7XG4gICAgICAgICAgICBzcHlPbihvdmVybGF5UGxheS50YXJnZXQsICdwYXVzZScpO1xuXG4gICAgICAgICAgICBvdmVybGF5UGxheS5vbkNsaWNrKCk7XG5cbiAgICAgICAgICAgIGV4cGVjdChvdmVybGF5UGxheS5nZXRTdGF0ZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgICAgICAgZXhwZWN0KG92ZXJsYXlQbGF5LnRhcmdldC5wYXVzZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnY3VycmVudCBzdGF0ZSBwYXVzZSBzaG91bGQgc2V0IHRhcmdldCB0byBwbGF5JywgKCkgPT4ge1xuICAgICAgICAgICAgc3B5T24ob3ZlcmxheVBsYXksICdnZXRTdGF0ZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7IHJldHVybiBWZ1N0YXRlcy5WR19QQVVTRUQ7IH0pO1xuICAgICAgICAgICAgc3B5T24ob3ZlcmxheVBsYXkudGFyZ2V0LCAncGxheScpO1xuXG4gICAgICAgICAgICBvdmVybGF5UGxheS5vbkNsaWNrKCk7XG5cbiAgICAgICAgICAgIGV4cGVjdChvdmVybGF5UGxheS5nZXRTdGF0ZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgICAgICAgZXhwZWN0KG92ZXJsYXlQbGF5LnRhcmdldC5wbGF5KS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2dldFN0YXRlJywgKCkgPT4ge1xuICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXlQbGF5LnRhcmdldCA9IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2lmIG9ubHkgb25lIHN0YXRlIHJldHVybnMgdGhhdCBzdGF0ZScsICgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXlQbGF5LnRhcmdldC5zdGF0ZSA9IFZnU3RhdGVzLlZHX1BBVVNFRDtcblxuICAgICAgICAgICAgZXhwZWN0KG92ZXJsYXlQbGF5LmdldFN0YXRlKCkpLnRvRXF1YWwoVmdTdGF0ZXMuVkdfUEFVU0VEKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2lmIG1vcmUgdGhhbiBvbmUgdGFyZ2V0IHNob3VsZCByZXR1cm4gcGF1c2UgaWYgYWxsIG9mIHRoZW0gYXJlIHBhdXNlJywgKCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheVBsYXkudGFyZ2V0LnN0YXRlID0gW1xuICAgICAgICAgICAgICAgIFZnU3RhdGVzLlZHX1BBVVNFRCxcbiAgICAgICAgICAgICAgICBWZ1N0YXRlcy5WR19QQVVTRUQsXG4gICAgICAgICAgICAgICAgVmdTdGF0ZXMuVkdfUEFVU0VELFxuICAgICAgICAgICAgICAgIFZnU3RhdGVzLlZHX1BBVVNFRFxuICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgZXhwZWN0KG92ZXJsYXlQbGF5LmdldFN0YXRlKCkpLnRvRXF1YWwoVmdTdGF0ZXMuVkdfUEFVU0VEKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2lmIG1vcmUgdGhhbiBvbmUgdGFyZ2V0IHNob3VsZCByZXR1cm4gcGxheSBpZiBhbnkgb2YgdGhlbSBpcyBwbGF5JywgKCkgPT4ge1xuICAgICAgICAgICAgb3ZlcmxheVBsYXkudGFyZ2V0LnN0YXRlID0gW1xuICAgICAgICAgICAgICAgIFZnU3RhdGVzLlZHX1BBVVNFRCxcbiAgICAgICAgICAgICAgICBWZ1N0YXRlcy5WR19QTEFZSU5HLFxuICAgICAgICAgICAgICAgIFZnU3RhdGVzLlZHX1BBVVNFRCxcbiAgICAgICAgICAgICAgICBWZ1N0YXRlcy5WR19QQVVTRURcbiAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgIGV4cGVjdChvdmVybGF5UGxheS5nZXRTdGF0ZSgpKS50b0VxdWFsKFZnU3RhdGVzLlZHX1BMQVlJTkcpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuXG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=