videogular2
Version:
Videogular is a video application framework for desktop and mobile powered by Angular
81 lines • 9.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmctcGxheS1wYXVzZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyb2xzL3ZnLXBsYXktcGF1c2UvdmctcGxheS1wYXVzZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQThDO0FBQzlDLHFEQUFtRDtBQUVuRCx5REFBdUQ7QUFFdkQsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzVCLElBQUksU0FBc0IsQ0FBQztJQUMzQixJQUFJLEdBQWUsQ0FBQztJQUNwQixJQUFJLEdBQVUsQ0FBQztJQUVmLFVBQVUsQ0FBQztRQUNULEdBQUcsR0FBRztZQUNKLGFBQWEsRUFBRTtnQkFDYixZQUFZLEVBQUUsVUFBQyxJQUFJO29CQUNqQixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBRUYsR0FBRyxHQUFHLElBQUksY0FBSyxFQUFFLENBQUM7UUFDbEIsR0FBRyxDQUFDLE1BQU0sR0FBRztZQUNYLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsb0JBQVEsQ0FBQyxVQUFVO2FBQzNCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxvQkFBUSxDQUFDLFNBQVM7YUFDMUI7U0FDRixDQUFDO1FBRUYsU0FBUyxHQUFHLElBQUksMkJBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDbkMsS0FBSyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQU0sT0FBQSxDQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFBLEVBQWxCLENBQWtCLENBQUMsQ0FBQztRQUVsRSxTQUFTLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUN6QixTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtRQUN4QyxHQUFHLENBQUMsTUFBTSxHQUFHO1lBQ1gsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxvQkFBUSxDQUFDLFVBQVU7YUFDM0I7U0FDRixDQUFDO1FBRUYsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFFdkIsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRTtRQUM5QyxFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDcEQsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7WUFFM0MsR0FBRyxDQUFDLE1BQU0sR0FBRztnQkFDWCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLG9CQUFRLENBQUMsVUFBVTtpQkFDM0I7YUFDRixDQUFDO1lBRUYsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFFdkIsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXBCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRTtZQUMxQyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBTyxDQUFDLENBQUMsQ0FBQztZQUUxQyxHQUFHLENBQUMsTUFBTSxHQUFHO2dCQUNYLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsb0JBQVEsQ0FBQyxTQUFTO2lCQUMxQjthQUNGLENBQUM7WUFFRixTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUV2QixTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFcEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVDQUF1QyxFQUFFO1lBQzFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO1lBRTFDLEdBQUcsQ0FBQyxNQUFNLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxvQkFBUSxDQUFDLFFBQVE7aUJBQ3pCO2FBQ0YsQ0FBQztZQUVGLFNBQVMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRXZCLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVwQixNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmdQbGF5UGF1c2UgfSBmcm9tICcuL3ZnLXBsYXktcGF1c2UnO1xuaW1wb3J0IHsgVmdBUEkgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3ZnLWFwaSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWZ1N0YXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3ZnLXN0YXRlcyc7XG5cbmRlc2NyaWJlKCdQbGF5L1BhdXNlIEJ1dHRvbicsICgpID0+IHtcbiAgbGV0IHBsYXlQYXVzZTogVmdQbGF5UGF1c2U7XG4gIGxldCByZWY6IEVsZW1lbnRSZWY7XG4gIGxldCBhcGk6IFZnQVBJO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHJlZiA9IHtcbiAgICAgIG5hdGl2ZUVsZW1lbnQ6IHtcbiAgICAgICAgZ2V0QXR0cmlidXRlOiAobmFtZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGFwaSA9IG5ldyBWZ0FQSSgpO1xuICAgIGFwaS5tZWRpYXMgPSB7XG4gICAgICBtYWluOiB7XG4gICAgICAgIHN0YXRlOiBWZ1N0YXRlcy5WR19QTEFZSU5HXG4gICAgICB9LFxuICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgIHN0YXRlOiBWZ1N0YXRlcy5WR19QQVVTRURcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcGxheVBhdXNlID0gbmV3IFZnUGxheVBhdXNlKHJlZiwgYXBpKTtcbiAgfSk7XG5cbiAgaXQoJ1Nob3VsZCBnZXQgbWVkaWEgYnkgaWQgb24gaW5pdCcsICgpID0+IHtcbiAgICBzcHlPbihhcGksICdnZXRNZWRpYUJ5SWQnKS5hbmQuY2FsbEZha2UoKCkgPT4gPGFueT57IHZvbHVtZTogMSB9KTtcblxuICAgIHBsYXlQYXVzZS52Z0ZvciA9ICd0ZXN0JztcbiAgICBwbGF5UGF1c2Uub25QbGF5ZXJSZWFkeSgpO1xuXG4gICAgZXhwZWN0KGFwaS5nZXRNZWRpYUJ5SWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCd0ZXN0Jyk7XG4gIH0pO1xuXG4gIGl0KCdTaG91bGQgZ2V0IHN0YXRlIGZvciBvbmUgbWVkaWEgZmlsZScsICgpID0+IHtcbiAgICBhcGkubWVkaWFzID0ge1xuICAgICAgbWFpbjoge1xuICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfUExBWUlOR1xuICAgICAgfVxuICAgIH07XG5cbiAgICBwbGF5UGF1c2UudGFyZ2V0ID0gYXBpO1xuXG4gICAgbGV0IHN0YXRlID0gcGxheVBhdXNlLmdldFN0YXRlKCk7XG5cbiAgICBleHBlY3Qoc3RhdGUpLnRvQmUoVmdTdGF0ZXMuVkdfUExBWUlORyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdvbkNsaWNrIChzaW5nbGUgYW5kIG11bHRpcGxlIG1lZGlhKScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBhdXNlIGlmIGN1cnJlbnQgc3RhdGUgaXMgZGlmZmVyZW50IHBsYXknLCAoKSA9PiB7XG4gICAgICBzcHlPbihhcGksICdwYXVzZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgIGFwaS5tZWRpYXMgPSB7XG4gICAgICAgIG1haW46IHtcbiAgICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfUExBWUlOR1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBwbGF5UGF1c2UudGFyZ2V0ID0gYXBpO1xuXG4gICAgICBwbGF5UGF1c2Uub25DbGljaygpO1xuXG4gICAgICBleHBlY3QoYXBpLnBhdXNlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHBsYXkgaWYgY3VycmVudCBzdGF0ZSBpcyBwYXVzZScsICgpID0+IHtcbiAgICAgIHNweU9uKGFwaSwgJ3BsYXknKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuXG4gICAgICBhcGkubWVkaWFzID0ge1xuICAgICAgICBtYWluOiB7XG4gICAgICAgICAgc3RhdGU6IFZnU3RhdGVzLlZHX1BBVVNFRFxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBwbGF5UGF1c2UudGFyZ2V0ID0gYXBpO1xuXG4gICAgICBwbGF5UGF1c2Uub25DbGljaygpO1xuXG4gICAgICBleHBlY3QoYXBpLnBsYXkpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcGxheSBpZiBjdXJyZW50IHN0YXRlIGlzIGVuZGVkJywgKCkgPT4ge1xuICAgICAgc3B5T24oYXBpLCAncGxheScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgIGFwaS5tZWRpYXMgPSB7XG4gICAgICAgIG1haW46IHtcbiAgICAgICAgICBzdGF0ZTogVmdTdGF0ZXMuVkdfRU5ERURcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcGxheVBhdXNlLnRhcmdldCA9IGFwaTtcblxuICAgICAgcGxheVBhdXNlLm9uQ2xpY2soKTtcblxuICAgICAgZXhwZWN0KGFwaS5wbGF5KS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=