videogular2
Version:
Videogular is a video application framework for desktop and mobile powered by Angular 2.0
84 lines • 9.72 kB
JavaScript
;
var vg_play_pause_1 = require("./vg-play-pause");
var vg_api_1 = require("../../core/services/vg-api");
var vg_states_1 = require("../../core/states/vg-states");
describe('Play/Pause Button', function () {
var playPause;
var ref;
var api;
beforeEach(function () {
ref = {
nativeElement: {
getAttribute: function (name) {
return name;
}
}
};
api = new vg_api_1.VgAPI();
api.medias = {
main: {
state: vg_states_1.VgStates.VG_PLAYING
},
secondary: {
state: vg_states_1.VgStates.VG_PAUSED
}
};
playPause = new vg_play_pause_1.VgPlayPause(ref, api);
});
it('Should get media by id on init', function () {
spyOn(api, 'getMediaById').and.callFake(function () {
return {
volume: 1
};
});
playPause.vgFor = 'test';
playPause.onPlayerReady();
expect(api.getMediaById).toHaveBeenCalledWith('test');
});
it('Should get state for one media file', function () {
api.medias = {
main: {
state: vg_states_1.VgStates.VG_PLAYING
}
};
playPause.target = api;
var state = playPause.getState();
expect(state).toBe(vg_states_1.VgStates.VG_PLAYING);
});
describe('onClick (single and multiple media)', function () {
it('should pause if current state is different play', function () {
spyOn(api, 'pause').and.callFake(function () { });
api.medias = {
main: {
state: vg_states_1.VgStates.VG_PLAYING
}
};
playPause.target = api;
playPause.onClick();
expect(api.pause).toHaveBeenCalled();
});
it('should play if current state is pause', function () {
spyOn(api, 'play').and.callFake(function () { });
api.medias = {
main: {
state: vg_states_1.VgStates.VG_PAUSED
}
};
playPause.target = api;
playPause.onClick();
expect(api.play).toHaveBeenCalled();
});
it('should play if current state is ended', function () {
spyOn(api, 'play').and.callFake(function () { });
api.medias = {
main: {
state: vg_states_1.VgStates.VG_ENDED
}
};
playPause.target = api;
playPause.onClick();
expect(api.play).toHaveBeenCalled();
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmctcGxheS1wYXVzZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmctcGxheS1wYXVzZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw4QkFBMEIsaUJBQWlCLENBQUMsQ0FBQTtBQUM1Qyx1QkFBb0IsNEJBQTRCLENBQUMsQ0FBQTtBQUVqRCwwQkFBdUIsNkJBQTZCLENBQUMsQ0FBQTtBQUVyRCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDMUIsSUFBSSxTQUFxQixDQUFDO0lBQzFCLElBQUksR0FBYyxDQUFDO0lBQ25CLElBQUksR0FBUyxDQUFDO0lBRWQsVUFBVSxDQUFDO1FBQ1AsR0FBRyxHQUFHO1lBQ0YsYUFBYSxFQUFFO2dCQUNYLFlBQVksRUFBRSxVQUFDLElBQUk7b0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDaEIsQ0FBQzthQUNKO1NBQ0osQ0FBQztRQUVGLEdBQUcsR0FBRyxJQUFJLGNBQUssRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxNQUFNLEdBQUc7WUFDVCxJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLG9CQUFRLENBQUMsVUFBVTthQUM3QjtZQUNELFNBQVMsRUFBRTtnQkFDUCxLQUFLLEVBQUUsb0JBQVEsQ0FBQyxTQUFTO2FBQzVCO1NBQ0osQ0FBQztRQUdGLFNBQVMsR0FBRyxJQUFJLDJCQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFO1FBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNwQyxNQUFNLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLENBQUM7YUFDWixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUN6QixTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtRQUN0QyxHQUFHLENBQUMsTUFBTSxHQUFHO1lBQ1QsSUFBSSxFQUFFO2dCQUNGLEtBQUssRUFBRSxvQkFBUSxDQUFDLFVBQVU7YUFDN0I7U0FDSixDQUFDO1FBRUYsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFdkIsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRTtRQUM1QyxFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDbEQsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7WUFFM0MsR0FBRyxDQUFDLE1BQU0sR0FBRztnQkFDVCxJQUFJLEVBQUU7b0JBQ0YsS0FBSyxFQUFFLG9CQUFRLENBQUMsVUFBVTtpQkFDN0I7YUFDSixDQUFDO1lBRUYsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFFdkIsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXBCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRTtZQUN4QyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBTyxDQUFDLENBQUMsQ0FBQztZQUUxQyxHQUFHLENBQUMsTUFBTSxHQUFHO2dCQUNULElBQUksRUFBRTtvQkFDRixLQUFLLEVBQUUsb0JBQVEsQ0FBQyxTQUFTO2lCQUM1QjthQUNKLENBQUM7WUFFRixTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUV2QixTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFO1lBQ3hDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO1lBRTFDLEdBQUcsQ0FBQyxNQUFNLEdBQUc7Z0JBQ1QsSUFBSSxFQUFFO29CQUNGLEtBQUssRUFBRSxvQkFBUSxDQUFDLFFBQVE7aUJBQzNCO2FBQ0osQ0FBQztZQUVGLFNBQVMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRXZCLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVwQixNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtWZ1BsYXlQYXVzZX0gZnJvbSBcIi4vdmctcGxheS1wYXVzZVwiO1xuaW1wb3J0IHtWZ0FQSX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZXMvdmctYXBpXCI7XG5pbXBvcnQge0VsZW1lbnRSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1ZnU3RhdGVzfSBmcm9tIFwiLi4vLi4vY29yZS9zdGF0ZXMvdmctc3RhdGVzXCI7XG5cbmRlc2NyaWJlKCdQbGF5L1BhdXNlIEJ1dHRvbicsICgpID0+IHtcbiAgICBsZXQgcGxheVBhdXNlOlZnUGxheVBhdXNlO1xuICAgIGxldCByZWY6RWxlbWVudFJlZjtcbiAgICBsZXQgYXBpOlZnQVBJO1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIHJlZiA9IHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQ6IHtcbiAgICAgICAgICAgICAgICBnZXRBdHRyaWJ1dGU6IChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBhcGkgPSBuZXcgVmdBUEkoKTtcbiAgICAgICAgYXBpLm1lZGlhcyA9IHtcbiAgICAgICAgICAgIG1haW46IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfUExBWUlOR1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNlY29uZGFyeToge1xuICAgICAgICAgICAgICAgIHN0YXRlOiBWZ1N0YXRlcy5WR19QQVVTRURcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuXG4gICAgICAgIHBsYXlQYXVzZSA9IG5ldyBWZ1BsYXlQYXVzZShyZWYsIGFwaSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGdldCBtZWRpYSBieSBpZCBvbiBpbml0JywgKCkgPT4ge1xuICAgICAgICBzcHlPbihhcGksICdnZXRNZWRpYUJ5SWQnKS5hbmQuY2FsbEZha2UoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2b2x1bWU6IDFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBsYXlQYXVzZS52Z0ZvciA9ICd0ZXN0JztcbiAgICAgICAgcGxheVBhdXNlLm9uUGxheWVyUmVhZHkoKTtcblxuICAgICAgICBleHBlY3QoYXBpLmdldE1lZGlhQnlJZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ3Rlc3QnKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgZ2V0IHN0YXRlIGZvciBvbmUgbWVkaWEgZmlsZScsICgpID0+IHtcbiAgICAgICAgYXBpLm1lZGlhcyA9IHtcbiAgICAgICAgICAgIG1haW46IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfUExBWUlOR1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHBsYXlQYXVzZS50YXJnZXQgPSBhcGk7XG5cbiAgICAgICAgbGV0IHN0YXRlID0gcGxheVBhdXNlLmdldFN0YXRlKCk7XG5cbiAgICAgICAgZXhwZWN0KHN0YXRlKS50b0JlKFZnU3RhdGVzLlZHX1BMQVlJTkcpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ29uQ2xpY2sgKHNpbmdsZSBhbmQgbXVsdGlwbGUgbWVkaWEpJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvdWxkIHBhdXNlIGlmIGN1cnJlbnQgc3RhdGUgaXMgZGlmZmVyZW50IHBsYXknLCAoKSA9PiB7XG4gICAgICAgICAgICBzcHlPbihhcGksICdwYXVzZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgICAgICAgIGFwaS5tZWRpYXMgPSB7XG4gICAgICAgICAgICAgICAgbWFpbjoge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfUExBWUlOR1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHBsYXlQYXVzZS50YXJnZXQgPSBhcGk7XG5cbiAgICAgICAgICAgIHBsYXlQYXVzZS5vbkNsaWNrKCk7XG5cbiAgICAgICAgICAgIGV4cGVjdChhcGkucGF1c2UpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBwbGF5IGlmIGN1cnJlbnQgc3RhdGUgaXMgcGF1c2UnLCAoKSA9PiB7XG4gICAgICAgICAgICBzcHlPbihhcGksICdwbGF5JykuYW5kLmNhbGxGYWtlKCgpID0+IHt9KTtcblxuICAgICAgICAgICAgYXBpLm1lZGlhcyA9IHtcbiAgICAgICAgICAgICAgICBtYWluOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBWZ1N0YXRlcy5WR19QQVVTRURcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBwbGF5UGF1c2UudGFyZ2V0ID0gYXBpO1xuXG4gICAgICAgICAgICBwbGF5UGF1c2Uub25DbGljaygpO1xuXG4gICAgICAgICAgICBleHBlY3QoYXBpLnBsYXkpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBwbGF5IGlmIGN1cnJlbnQgc3RhdGUgaXMgZW5kZWQnLCAoKSA9PiB7XG4gICAgICAgICAgICBzcHlPbihhcGksICdwbGF5JykuYW5kLmNhbGxGYWtlKCgpID0+IHt9KTtcblxuICAgICAgICAgICAgYXBpLm1lZGlhcyA9IHtcbiAgICAgICAgICAgICAgICBtYWluOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiBWZ1N0YXRlcy5WR19FTkRFRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHBsYXlQYXVzZS50YXJnZXQgPSBhcGk7XG5cbiAgICAgICAgICAgIHBsYXlQYXVzZS5vbkNsaWNrKCk7XG5cbiAgICAgICAgICAgIGV4cGVjdChhcGkucGxheSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuXG5pbnRlcmZhY2UgRGVjb3JhdG9ySW52b2NhdGlvbiB7XG4gIHR5cGU6IEZ1bmN0aW9uO1xuICBhcmdzPzogYW55W107XG59XG4iXX0=