UNPKG

videogular2

Version:

Videogular is a video application framework for desktop and mobile powered by Angular

98 lines 14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var vg_controls_1 = require("./vg-controls"); var vg_controls_hidden_1 = require("./../core/services/vg-controls-hidden"); var vg_api_1 = require("../core/services/vg-api"); var vg_states_1 = require("../core/states/vg-states"); describe('Controls Bar', function () { var controls; var ref; var api; var hidden; beforeEach(function () { jasmine.clock().uninstall(); jasmine.clock().install(); api = new vg_api_1.VgAPI(); hidden = new vg_controls_hidden_1.VgControlsHidden(); ref = { nativeElement: { getAttribute: function (name) { return name; } } }; controls = new vg_controls_1.VgControls(api, ref, hidden); }); afterEach(function () { jasmine.clock().uninstall(); }); it('Should have been defined', function () { expect(controls).toBeTruthy(); }); it('Should listen for mouseenter and mouseleave events', function () { var vgElem = document.createElement('vg-player'); api.registerElement(vgElem); controls.ngOnInit(); expect(controls.mouseMove$).toBeDefined(); expect(controls.touchStart$).toBeDefined(); }); it('Should hide controls after view init', function () { spyOn(controls, 'hide').and.callFake(function () { }); controls.vgAutohide = true; controls.ngAfterViewInit(); expect(controls.hide).toHaveBeenCalled(); }); it('Should show controls after view init', function () { spyOn(controls, 'show').and.callFake(function () { }); controls.vgAutohide = false; controls.ngAfterViewInit(); expect(controls.show).toHaveBeenCalled(); }); it('Should show controls', function () { spyOn(window, 'clearTimeout').and.callFake(function () { }); spyOn(hidden, 'state').and.callFake(function () { }); controls.show(); expect(window.clearTimeout).toHaveBeenCalled(); expect(controls.hideControls).toBe(false); expect(hidden.state).toHaveBeenCalledWith(false); }); it('Should hide controls when is playing', function () { spyOn(hidden, 'state').and.callFake(function () { }); controls.vgAutohide = true; api.medias = [{ state: vg_states_1.VgStates.VG_PLAYING }]; controls.hide(); jasmine.clock().tick(3100); expect(controls.hideControls).toBe(true); expect(hidden.state).toHaveBeenCalledWith(true); }); it('Should not hide controls if player is paused', function () { controls.hideControls = false; controls.vgAutohide = false; controls.vgAutohide = true; api.medias = [{ state: vg_states_1.VgStates.VG_PAUSED }]; controls.hide(); jasmine.clock().tick(3100); expect(controls.hideControls).toBe(false); }); it('Should not hide controls if autohide is false', function () { controls.hideControls = false; controls.vgAutohide = false; controls.hide(); jasmine.clock().tick(3100); expect(controls.hideControls).toBe(false); }); it('Should start hiding controls if media is playing', function () { spyOn(controls, 'hide').and.callFake(function () { }); controls.vgAutohide = true; controls.onPlay(); expect(controls.hide).toHaveBeenCalled(); }); it('Should show controls if media is paused', function () { spyOn(hidden, 'state').and.callFake(function () { }); controls.vgAutohide = true; controls.onPause(); expect(controls.hideControls).toBe(false); expect(hidden.state).toHaveBeenCalledWith(false); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmctY29udHJvbHMuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9scy92Zy1jb250cm9scy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQXlDO0FBQ3pDLDRFQUF1RTtBQUV2RSxrREFBOEM7QUFHOUMsc0RBQW9EO0FBRXBELFFBQVEsQ0FBQyxjQUFjLEVBQUU7SUFDckIsSUFBSSxRQUFtQixDQUFDO0lBQ3hCLElBQUksR0FBYyxDQUFDO0lBQ25CLElBQUksR0FBUyxDQUFDO0lBQ2QsSUFBSSxNQUF3QixDQUFDO0lBRTdCLFVBQVUsQ0FBQztRQUNQLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFMUIsR0FBRyxHQUFHLElBQUksY0FBSyxFQUFFLENBQUM7UUFDbEIsTUFBTSxHQUFHLElBQUkscUNBQWdCLEVBQUUsQ0FBQztRQUVoQyxHQUFHLEdBQUc7WUFDRixhQUFhLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLFVBQUMsSUFBSTtvQkFDZixPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQzthQUNKO1NBQ0osQ0FBQztRQUVGLFFBQVEsR0FBRyxJQUFJLHdCQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQztRQUNOLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywwQkFBMEIsRUFBRTtRQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsb0RBQW9ELEVBQUU7UUFFckQsSUFBSSxNQUFNLEdBQUcsUUFB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RTNCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVuQixNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1ZnQ29udHJvbHN9IGZyb20gXCIuL3ZnLWNvbnRyb2xzXCI7XG5pbXBvcnQge1ZnQ29udHJvbHNIaWRkZW59IGZyb20gJy4vLi4vY29yZS9zZXJ2aWNlcy92Zy1jb250cm9scy1oaWRkZW4nO1xuaW1wb3J0IHtFbGVtZW50UmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtWZ0FQSX0gZnJvbSBcIi4uL2NvcmUvc2VydmljZXMvdmctYXBpXCI7XG5cblxuaW1wb3J0IHsgVmdTdGF0ZXMgfSBmcm9tICcuLi9jb3JlL3N0YXRlcy92Zy1zdGF0ZXMnO1xuXG5kZXNjcmliZSgnQ29udHJvbHMgQmFyJywgKCkgPT4ge1xuICAgIGxldCBjb250cm9sczpWZ0NvbnRyb2xzO1xuICAgIGxldCByZWY6RWxlbWVudFJlZjtcbiAgICBsZXQgYXBpOlZnQVBJO1xuICAgIGxldCBoaWRkZW46IFZnQ29udHJvbHNIaWRkZW47XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgamFzbWluZS5jbG9jaygpLnVuaW5zdGFsbCgpO1xuICAgICAgICBqYXNtaW5lLmNsb2NrKCkuaW5zdGFsbCgpO1xuXG4gICAgICAgIGFwaSA9IG5ldyBWZ0FQSSgpO1xuICAgICAgICBoaWRkZW4gPSBuZXcgVmdDb250cm9sc0hpZGRlbigpO1xuXG4gICAgICAgIHJlZiA9IHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQ6IHtcbiAgICAgICAgICAgICAgICBnZXRBdHRyaWJ1dGU6IChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb250cm9scyA9IG5ldyBWZ0NvbnRyb2xzKGFwaSwgcmVmLCBoaWRkZW4pO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgamFzbWluZS5jbG9jaygpLnVuaW5zdGFsbCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBoYXZlIGJlZW4gZGVmaW5lZCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KGNvbnRyb2xzKS50b0JlVHJ1dGh5KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGxpc3RlbiBmb3IgbW91c2VlbnRlciBhbmQgbW91c2VsZWF2ZSBldmVudHMnLCAoKSA9PiB7XG5cbiAgICAgICAgbGV0IHZnRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZnLXBsYXllcicpO1xuXG4gICAgICAgIGFwaS5yZWdpc3RlckVsZW1lbnQodmdFbGVtKTtcblxuICAgICAgICBjb250cm9scy5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGV4cGVjdChjb250cm9scy5tb3VzZU1vdmUkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgICBleHBlY3QoY29udHJvbHMudG91Y2hTdGFydCQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhpZGUgY29udHJvbHMgYWZ0ZXIgdmlldyBpbml0JywgKCkgPT4ge1xuICAgICAgICBzcHlPbihjb250cm9scywgJ2hpZGUnKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuXG4gICAgICAgIGNvbnRyb2xzLnZnQXV0b2hpZGUgPSB0cnVlO1xuXG4gICAgICAgIGNvbnRyb2xzLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgICAgIGV4cGVjdChjb250cm9scy5oaWRlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHNob3cgY29udHJvbHMgYWZ0ZXIgdmlldyBpbml0JywgKCkgPT4ge1xuICAgICAgICBzcHlPbihjb250cm9scywgJ3Nob3cnKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuXG4gICAgICAgIGNvbnRyb2xzLnZnQXV0b2hpZGUgPSBmYWxzZTtcblxuICAgICAgICBjb250cm9scy5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgICAgICBleHBlY3QoY29udHJvbHMuc2hvdykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1Nob3VsZCBzaG93IGNvbnRyb2xzJywgKCkgPT4ge1xuICAgICAgICBzcHlPbih3aW5kb3csICdjbGVhclRpbWVvdXQnKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuICAgICAgICBzcHlPbihoaWRkZW4sICdzdGF0ZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgICAgY29udHJvbHMuc2hvdygpO1xuXG4gICAgICAgIGV4cGVjdCh3aW5kb3cuY2xlYXJUaW1lb3V0KS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChjb250cm9scy5oaWRlQ29udHJvbHMpLnRvQmUoZmFsc2UpO1xuICAgICAgICBleHBlY3QoaGlkZGVuLnN0YXRlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIGhpZGUgY29udHJvbHMgd2hlbiBpcyBwbGF5aW5nJywgKCkgPT4ge1xuICAgICAgICBzcHlPbihoaWRkZW4sICdzdGF0ZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgICAgY29udHJvbHMudmdBdXRvaGlkZSA9IHRydWU7XG4gICAgICAgIGFwaS5tZWRpYXMgPSBbe3N0YXRlOiBWZ1N0YXRlcy5WR19QTEFZSU5HfV07XG5cbiAgICAgICAgY29udHJvbHMuaGlkZSgpO1xuXG4gICAgICAgIGphc21pbmUuY2xvY2soKS50aWNrKDMxMDApO1xuICAgICAgICBleHBlY3QoY29udHJvbHMuaGlkZUNvbnRyb2xzKS50b0JlKHRydWUpO1xuICAgICAgICBleHBlY3QoaGlkZGVuLnN0YXRlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdTaG91bGQgbm90IGhpZGUgY29udHJvbHMgaWYgcGxheWVyIGlzIHBhdXNlZCcsICgpID0+IHtcbiAgICAgICAgY29udHJvbHMuaGlkZUNvbnRyb2xzID0gZmFsc2U7XG4gICAgICAgIGNvbnRyb2xzLnZnQXV0b2hpZGUgPSBmYWxzZTtcblxuICAgICAgICBjb250cm9scy52Z0F1dG9oaWRlID0gdHJ1ZTtcbiAgICAgICAgYXBpLm1lZGlhcyA9IFt7c3RhdGU6IFZnU3RhdGVzLlZHX1BBVVNFRH1dO1xuXG4gICAgICAgIGNvbnRyb2xzLmhpZGUoKTtcblxuICAgICAgICBqYXNtaW5lLmNsb2NrKCkudGljaygzMTAwKTtcbiAgICAgICAgZXhwZWN0KGNvbnRyb2xzLmhpZGVDb250cm9scykudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIG5vdCBoaWRlIGNvbnRyb2xzIGlmIGF1dG9oaWRlIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBjb250cm9scy5oaWRlQ29udHJvbHMgPSBmYWxzZTtcbiAgICAgICAgY29udHJvbHMudmdBdXRvaGlkZSA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnRyb2xzLmhpZGUoKTtcblxuICAgICAgICBqYXNtaW5lLmNsb2NrKCkudGljaygzMTAwKTtcbiAgICAgICAgZXhwZWN0KGNvbnRyb2xzLmhpZGVDb250cm9scykudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHN0YXJ0IGhpZGluZyBjb250cm9scyBpZiBtZWRpYSBpcyBwbGF5aW5nJywgKCkgPT4ge1xuICAgICAgICBzcHlPbihjb250cm9scywgJ2hpZGUnKS5hbmQuY2FsbEZha2UoKCkgPT4ge30pO1xuXG4gICAgICAgIGNvbnRyb2xzLnZnQXV0b2hpZGUgPSB0cnVlO1xuXG4gICAgICAgIGNvbnRyb2xzLm9uUGxheSgpO1xuXG4gICAgICAgIGV4cGVjdChjb250cm9scy5oaWRlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnU2hvdWxkIHNob3cgY29udHJvbHMgaWYgbWVkaWEgaXMgcGF1c2VkJywgKCkgPT4ge1xuICAgICAgICBzcHlPbihoaWRkZW4sICdzdGF0ZScpLmFuZC5jYWxsRmFrZSgoKSA9PiB7fSk7XG5cbiAgICAgICAgY29udHJvbHMudmdBdXRvaGlkZSA9IHRydWU7XG5cbiAgICAgICAgY29udHJvbHMub25QYXVzZSgpO1xuXG4gICAgICAgIGV4cGVjdChjb250cm9scy5oaWRlQ29udHJvbHMpLnRvQmUoZmFsc2UpO1xuICAgICAgICBleHBlY3QoaGlkZGVuLnN0YXRlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmYWxzZSk7XG4gICAgfSk7XG59KTtcbiJdfQ==