Skip to content

Commit

Permalink
Merge branch 'feature/modern-ui-base' into feature/auto-resolve-tv-ui
Browse files Browse the repository at this point in the history
  • Loading branch information
stonko1994 committed Jan 14, 2025
2 parents 8304d91 + 6d9fa82 commit 232f3c0
Show file tree
Hide file tree
Showing 201 changed files with 887 additions and 895 deletions.
10 changes: 5 additions & 5 deletions spec/uimanager.spec.ts → spec/UIManager.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import {
UIInstanceManager,
UIManager,
UIVariant,
} from '../src/ts/uimanager';
} from '../src/ts/UIManager';
import { PlayerAPI } from 'bitmovin-player';
import { MockHelper, TestingPlayerAPI } from './helper/MockHelper';
import { MobileV3PlayerEvent } from '../src/ts/mobilev3playerapi';
import { UIContainer } from '../src/ts/components/uicontainer';
import { Container } from '../src/ts/components/container';
import { MobileV3PlayerEvent } from '../src/ts/utils/MobileV3PlayerAPI';
import { UIContainer } from '../src/ts/components/UIContainer';
import { Container } from '../src/ts/components/Container';

jest.mock('../src/ts/dom');
jest.mock('../src/ts/DOM');

// This just simulates a Class that can be wrapped by our PlayerWrapper.
// To enable this simple class structure we need a lot of any casts in the tests.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { UIContainer } from '../../src/ts/components/uicontainer';
import { PlayerUtils } from '../../src/ts/playerutils';
import type { UIInstanceManager } from '../../src/ts/uimanager';
import { UIContainer } from '../../src/ts/components/UIContainer';
import { PlayerUtils } from '../../src/ts/utils/PlayerUtils';
import type { UIInstanceManager } from '../../src/ts/UIManager';
import type { TestingPlayerAPI } from '../helper/MockHelper';
import { MockHelper } from '../helper/MockHelper';
import generateDOMMock = MockHelper.generateDOMMock;
import getUiInstanceManagerMock = MockHelper.getUiInstanceManagerMock;
import getPlayerMock = MockHelper.getPlayerMock;

jest.mock('../../src/ts/dom', generateDOMMock);
jest.mock('../../src/ts/DOM', generateDOMMock);

let playerMock: TestingPlayerAPI;
let uiInstanceManagerMock: UIInstanceManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { FullscreenToggleButton } from '../../src/ts/components/fullscreentogglebutton';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { FullscreenToggleButton } from '../../../src/ts/components/buttons/FullscreenToggleButton';
import { ViewMode } from 'bitmovin-player';

let playerMock: TestingPlayerAPI;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { PictureInPictureToggleButton } from '../../src/ts/components/pictureinpicturetogglebutton';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { PictureInPictureToggleButton } from '../../../src/ts/components/buttons/PictureInPictureToggleButton';
import { ViewMode } from 'bitmovin-player';

let playerMock: TestingPlayerAPI;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { ToggleButton } from '../../src/ts/components/togglebutton';
import { ToggleButtonConfig } from '../../src/ts/components/togglebutton';
import { DOM } from '../../src/ts/dom';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { ToggleButton } from '../../../src/ts/components/buttons/ToggleButton';
import { ToggleButtonConfig } from '../../../src/ts/components/buttons/ToggleButton';
import { DOM } from '../../../src/ts/DOM';

let playerMock: TestingPlayerAPI;
let uiInstanceManagerMock: UIInstanceManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { PlaybackTimeLabel, PlaybackTimeLabelMode } from '../../src/ts/components/playbacktimelabel';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { PlaybackTimeLabel, PlaybackTimeLabelMode } from '../../../src/ts/components/labels/PlaybackTimeLabel';
import { PlayerEvent, PlayerEventBase } from 'bitmovin-player';

const liveEdgeActiveCssClassName = 'ui-playbacktimelabel-live-edge';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { SeekBarLabel } from '../../src/ts/components/seekbarlabel';
import { SeekPreviewEventArgs } from '../../src/ts/components/seekbar';
import { DOM } from '../../src/ts/dom';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { SeekBarLabel } from '../../../src/ts/components/seekbar/SeekBarLabel';
import { SeekPreviewEventArgs } from '../../../src/ts/components/seekbar/SeekBar';
import { DOM } from '../../../src/ts/DOM';

let playerMock: TestingPlayerAPI;
let uiInstanceManagerMock: UIInstanceManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ListItem, ListSelector, ListSelectorConfig } from '../../src/ts/components/listselector';
import { ListItem, ListSelector, ListSelectorConfig } from '../../../src/ts/components/lists/ListSelector';

class ListSelectorTestClass extends ListSelector<ListSelectorConfig> {
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { UIInstanceManager } from './../../src/ts/uimanager';
import { ErrorMessageOverlay } from '../../src/ts/components/errormessageoverlay';
import { MobileV3PlayerEvent } from '../../src/ts/mobilev3playerapi';
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { ErrorMessageOverlay } from '../../../src/ts/components/overlays/ErrorMessageOverlay';
import { MobileV3PlayerEvent } from '../../../src/ts/utils/MobileV3PlayerAPI';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';

describe('ErrorMessageOverlay', () => {
describe('configure', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { SubtitleOverlay, SubtitleRegionContainerManager } from '../../src/ts/components/subtitleoverlay';
import { DOM } from '../../src/ts/dom';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { SubtitleOverlay, SubtitleRegionContainerManager } from '../../../src/ts/components/overlays/SubtitleOverlay';
import { DOM } from '../../../src/ts/DOM';

let playerMock: jest.Mocked<TestingPlayerAPI>;
let uiInstanceManagerMock: UIInstanceManager;
let subtitleOverlay: SubtitleOverlay;

jest.mock('../../src/ts/components/container');
jest.mock('../../../src/ts/components/Container');

let subtitleRegionContainerManagerMock: SubtitleRegionContainerManager;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MockHelper, TestingPlayerAPI } from '../helper/MockHelper';
import { SeekBar } from '../../src/ts/components/seekbar';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { Timeout } from '../../src/ts/timeout';
import { MockHelper, TestingPlayerAPI } from '../../helper/MockHelper';
import { SeekBar } from '../../../src/ts/components/seekbar/SeekBar';
import { UIInstanceManager } from '../../../src/ts/UIManager';
import { Timeout } from '../../../src/ts/utils/Timeout';

let playerMock: TestingPlayerAPI;
let uiInstanceManagerMock: UIInstanceManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import type { PlayerAPI } from 'bitmovin-player';

import type { Component, ViewModeChangedEventArgs } from '../../src/ts/components/component';
import { ViewMode } from '../../src/ts/components/component';
import type { ListSelectorConfig } from '../../src/ts/components/listselector';
import { SelectBox } from '../../src/ts/components/selectbox';
import type { Event } from '../../src/ts/eventdispatcher';
import { PlayerUtils } from '../../src/ts/playerutils';
import type { UIInstanceManager } from '../../src/ts/uimanager';
import { MockHelper } from '../helper/MockHelper';
import type { Component, ViewModeChangedEventArgs } from '../../../src/ts/components/Component';
import { ViewMode } from '../../../src/ts/components/Component';
import type { ListSelectorConfig } from '../../../src/ts/components/lists/ListSelector';
import { SelectBox } from '../../../src/ts/components/settings/SelectBox';
import type { Event } from '../../../src/ts/EventDispatcher';
import { PlayerUtils } from '../../../src/ts/utils/PlayerUtils';
import type { UIInstanceManager } from '../../../src/ts/UIManager';
import { MockHelper } from '../../helper/MockHelper';
import getUiInstanceManagerMock = MockHelper.getUiInstanceManagerMock;
import getPlayerMock = MockHelper.getPlayerMock;
import generateDOMMock = MockHelper.generateDOMMock;
import PlayerState = PlayerUtils.PlayerState;
import type { DOM } from '../../src/ts/dom';
import type { DOM } from '../../../src/ts/DOM';

jest.mock('../../src/ts/dom', generateDOMMock);
jest.mock('../../../src/ts/DOM', generateDOMMock);

describe('SelectBox', () => {
let selectBox: SelectBox;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import type { PlayerAPI } from 'bitmovin-player';

import type { Component, ComponentConfig, ViewModeChangedEventArgs } from '../../src/ts/components/component';
import { ViewMode } from '../../src/ts/components/component';
import { SettingsPanel } from '../../src/ts/components/settingspanel';
import { SettingsPanelPage } from '../../src/ts/components/settingspanelpage';
import { EventDispatcher } from '../../src/ts/eventdispatcher';
import type { UIInstanceManager } from '../../src/ts/uimanager';
import { MockHelper } from '../helper/MockHelper';
import type { Component, ComponentConfig, ViewModeChangedEventArgs } from '../../../src/ts/components/Component';
import { ViewMode } from '../../../src/ts/components/Component';
import { SettingsPanel } from '../../../src/ts/components/settings/SettingsPanel';
import { SettingsPanelPage } from '../../../src/ts/components/settings/SettingsPanelPage';
import { EventDispatcher } from '../../../src/ts/EventDispatcher';
import type { UIInstanceManager } from '../../../src/ts/UIManager';
import { MockHelper } from '../../helper/MockHelper';
import getPlayerMock = MockHelper.getPlayerMock;
import getUiInstanceManagerMock = MockHelper.getUiInstanceManagerMock;
import { Label } from '../../src/ts/components/label';
import { SelectBox } from '../../src/ts/components/selectbox';
import { SettingsPanelItem } from '../../src/ts/components/settingspanelitem';
import { VolumeSlider } from '../../src/ts/components/volumeslider';
import { Label } from '../../../src/ts/components/labels/Label';
import { SelectBox } from '../../../src/ts/components/settings/SelectBox';
import { SettingsPanelItem } from '../../../src/ts/components/settings/SettingsPanelItem';
import { VolumeSlider } from '../../../src/ts/components/seekbar/VolumeSlider';

let settingsPanel: SettingsPanel;

Expand Down
8 changes: 4 additions & 4 deletions spec/helper/MockHelper.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { PlayerAPI, PlayerEvent } from 'bitmovin-player';
import { UIInstanceManager } from '../../src/ts/uimanager';
import { DOM } from '../../src/ts/dom';
import { UIInstanceManager } from '../../src/ts/UIManager';
import { DOM } from '../../src/ts/DOM';
import { PlayerEventEmitter } from './PlayerEventEmitter';
import { UIContainer } from '../../src/ts/components/uicontainer';
import { UIContainer } from '../../src/ts/components/UIContainer';

jest.mock('../../src/ts/dom');
jest.mock('../../src/ts/DOM');

export interface TestingPlayerAPI extends PlayerAPI {
eventEmitter: PlayerEventEmitter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { i18n } from '../src/ts/localization/i18n';
import { i18n } from '../../src/ts/localization/i18n';

const fallbackTest = 'fallback test';
const successEn = 'success';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { UIContainer } from '../../src/ts/components/uicontainer';
import { UIContainer } from '../../src/ts/components/UIContainer';
import { mockClass } from '../helper/mockClass';
import { Action, Direction } from '../../src/ts/spatialnavigation/types';
import { ListNavigationGroup, ListOrientation } from '../../src/ts/spatialnavigation/ListNavigationGroup';

jest.mock('../../src/ts/spatialnavigation/navigationgroup.ts');
jest.mock('../../src/ts/spatialnavigation/NavigationGroup.ts');

describe('ListNavigationGroup', () => {
let containerUiMock: jest.Mocked<UIContainer>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getElementInDirection } from '../../src/ts/spatialnavigation/navigationalgorithm';
import { getElementInDirection } from '../../src/ts/spatialnavigation/NavigationAlgorithm';
import { Direction } from '../../src/ts/spatialnavigation/types';

describe('getElementInDirection', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { NavigationGroup } from '../../src/ts/spatialnavigation/navigationgroup';
import { UIContainer } from '../../src/ts/components/uicontainer';
import { PlaybackToggleButton } from '../../src/ts/components/playbacktogglebutton';
import { SettingsToggleButton } from '../../src/ts/components/settingstogglebutton';
import { NavigationGroup } from '../../src/ts/spatialnavigation/NavigationGroup';
import { UIContainer } from '../../src/ts/components/UIContainer';
import { PlaybackToggleButton } from '../../src/ts/components/buttons/PlaybackToggleButton';
import { SettingsToggleButton } from '../../src/ts/components/settings/SettingsToggleButton';
import { getFirstDomElement, mockComponent } from '../helper/mockComponent';
import * as navigationAlgorithm from '../../src/ts/spatialnavigation/navigationalgorithm';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/nodeeventsubscriber';
import * as navigationAlgorithm from '../../src/ts/spatialnavigation/NavigationAlgorithm';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/NodeEventSubscriber';
import { Action, Direction } from '../../src/ts/spatialnavigation/types';

jest.mock('../../src/ts/spatialnavigation/navigationalgorithm.ts');
jest.mock('../../src/ts/spatialnavigation/nodeeventsubscriber.ts');
jest.mock('../../src/ts/spatialnavigation/NavigationAlgorithm.ts');
jest.mock('../../src/ts/spatialnavigation/NodeEventSubscriber.ts');


describe('NavigationGroup', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { mockHtmlElement } from '../helper/mockComponent';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/nodeeventsubscriber';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/NodeEventSubscriber';

describe('NodeEventSubscriber', () => {
let htmlElementMock: jest.Mocked<HTMLElement>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { UIContainer } from '../../src/ts/components/uicontainer';
import { UIContainer } from '../../src/ts/components/UIContainer';
import { mockClass } from '../helper/mockClass';
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/rootnavigationgroup';
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/RootNavigationGroup';
import { Action, Direction } from '../../src/ts/spatialnavigation/types';

jest.mock('../../src/ts/spatialnavigation/navigationgroup.ts');
jest.mock('../../src/ts/spatialnavigation/NavigationGroup.ts');

describe('RootNavigationGroup', () => {
let containerUiMock: jest.Mocked<UIContainer>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/rootnavigationgroup';
import { SeekBarHandler } from '../../src/ts/spatialnavigation/seekbarhandler';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/nodeeventsubscriber';
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/RootNavigationGroup';
import { SeekBarHandler } from '../../src/ts/spatialnavigation/SeekBarHandler';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/NodeEventSubscriber';
import { Action, Direction } from '../../src/ts/spatialnavigation/types';

jest.mock('../../src/ts/spatialnavigation/nodeeventsubscriber');
jest.mock('../../src/ts/spatialnavigation/NodeEventSubscriber');

describe('SeekBarHandler', () => {
let seekBarHandler: SeekBarHandler;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { SpatialNavigation } from '../../src/ts/spatialnavigation/spatialnavigation';
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/rootnavigationgroup';
import { UIContainer } from '../../src/ts/components/uicontainer';
import { NavigationGroup } from '../../src/ts/spatialnavigation/navigationgroup';
import { SettingsPanel } from '../../src/ts/components/settingspanel';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/nodeeventsubscriber';
import { SeekBarHandler } from '../../src/ts/spatialnavigation/seekbarhandler';
import { SpatialNavigation } from '../../src/ts/spatialnavigation/SpatialNavigation';
import { RootNavigationGroup } from '../../src/ts/spatialnavigation/RootNavigationGroup';
import { UIContainer } from '../../src/ts/components/UIContainer';
import { NavigationGroup } from '../../src/ts/spatialnavigation/NavigationGroup';
import { SettingsPanel } from '../../src/ts/components/settings/SettingsPanel';
import { NodeEventSubscriber } from '../../src/ts/spatialnavigation/NodeEventSubscriber';
import { SeekBarHandler } from '../../src/ts/spatialnavigation/SeekBarHandler';
import { Action, Direction } from '../../src/ts/spatialnavigation/types';

jest.mock('../../src/ts/spatialnavigation/seekbarhandler.ts');
jest.mock('../../src/ts/spatialnavigation/nodeeventsubscriber.ts');
jest.mock('../../src/ts/spatialnavigation/SeekBarHandler.ts');
jest.mock('../../src/ts/spatialnavigation/NodeEventSubscriber.ts');

describe('SpatialNavigation', () => {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Container } from '../../src/ts/components/container';
import { Component } from '../../src/ts/components/component';
import { ListBox } from '../../src/ts/components/listbox';
import { getHtmlElementsFromComponents } from '../../src/ts/spatialnavigation/gethtmlelementsfromcomponents';
import { Container } from '../../src/ts/components/Container';
import { Component } from '../../src/ts/components/Component';
import { ListBox } from '../../src/ts/components/lists/ListBox';
import { getHtmlElementsFromComponents } from '../../src/ts/spatialnavigation/getHtmlElementsFromComponents';

class DummyListBox extends ListBox {
public className = 'ListBox';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getKeyMapForPlatform } from '../../src/ts/spatialnavigation/keymap';
import { getKeyMapForPlatform } from '../../src/ts/spatialnavigation/getKeyMapForPlatform';
import { Action } from '../../src/ts/spatialnavigation/types';

const userAgent = {
Expand Down
6 changes: 3 additions & 3 deletions spec/audioutils.spec.ts → spec/utils/AudioUtils.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MockHelper } from './helper/MockHelper';
import { ListSelector, ListSelectorConfig } from '../src/ts/components/listselector';
import { AudioTrackSwitchHandler } from '../src/ts/audiotrackutils';
import { MockHelper } from '../helper/MockHelper';
import { ListSelector, ListSelectorConfig } from '../../src/ts/components/lists/ListSelector';
import { AudioTrackSwitchHandler } from '../../src/ts/utils/AudioTrackUtils';
import { AudioTrack } from 'bitmovin-player';

let playerMock = MockHelper.getPlayerMock();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BrowserUtils } from '../src/ts/browserutils';
import { BrowserUtils } from '../../src/ts/utils/BrowserUtils';

const mobileSafariUserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A356 Safari/604.1';

Expand Down
4 changes: 2 additions & 2 deletions spec/errorutils.spec.ts → spec/utils/ErrorUtils.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MobileV3PlayerErrorEvent } from '../src/ts/mobilev3playerapi';
import { ErrorUtils } from '../src/ts/errorutils';
import { MobileV3PlayerErrorEvent } from '../../src/ts/utils/MobileV3PlayerAPI';
import { ErrorUtils } from '../../src/ts/utils/ErrorUtils';
import defaultMobileV3ErrorMessageTranslator = ErrorUtils.defaultMobileV3ErrorMessageTranslator;
import { ErrorEvent } from 'bitmovin-player';
import defaultWebErrorMessageTranslator = ErrorUtils.defaultWebErrorMessageTranslator;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { JSDOM } from 'jsdom';
import { FocusVisibilityTracker } from '../src/ts/focusvisibilitytracker';
import { FocusVisibilityTracker } from '../../src/ts/utils/FocusVisibilityTracker';

describe('FocusVisibilityTracker', () => {
const bitmovinUIPrefix = 'bmpui';
Expand Down
Loading

0 comments on commit 232f3c0

Please sign in to comment.