diff --git a/packages/playback/.size-limit.json b/packages/playback/.size-limit.json index a918f65..c19cf2f 100644 --- a/packages/playback/.size-limit.json +++ b/packages/playback/.size-limit.json @@ -1,26 +1,26 @@ [ { "path": "dist/player/core/cjs/index.min.js", - "limit": "1 s" + "limit": "800 ms" }, { "path": "dist/player/core/es/index.min.js", - "limit": "1 s" + "limit": "800 ms" }, { "path": "dist/player/core/iife/index.min.js", - "limit": "1 s" + "limit": "800 ms" }, { "path": "dist/player-with-worker/core/cjs/index.min.js", - "limit": "1 s" + "limit": "800 ms" }, { "path": "dist/player-with-worker/core/es/index.min.js", - "limit": "1 s" + "limit": "800 ms" }, { "path": "dist/player-with-worker/core/iife/index.min.js", - "limit": "1 s" + "limit": "800 ms" } ] diff --git a/packages/playback/src/lib/pipeline-loaders/hls-pipeline-loader.ts b/packages/playback/src/lib/pipeline-loaders/hls-pipeline-loader.ts index 195eab7..55a90e8 100644 --- a/packages/playback/src/lib/pipeline-loaders/hls-pipeline-loader.ts +++ b/packages/playback/src/lib/pipeline-loaders/hls-pipeline-loader.ts @@ -1,5 +1,4 @@ import type { ChunkPlaylistParser } from '@videojs/hls-parser'; - import type { IPipeline, IPipelineLoader, IPipelineLoaderDependencies } from '../types/pipeline.declarations'; import type { INetworkManager, INetworkRequest } from '../types/network.declarations'; import type { ILogger } from '../types/logger.declarations'; @@ -14,10 +13,14 @@ interface IHlsPipelineLoaderDependencies extends IPipelineLoaderDependencies { export class HlsPipelineLoader implements IPipelineLoader { private static hlsParserFactory_: typeof ChunkPlaylistParser | null = null; - public static setHlsParser(parser: typeof ChunkPlaylistParser): void { + public static setHlsParserFactory(parser: typeof ChunkPlaylistParser): void { HlsPipelineLoader.hlsParserFactory_ = parser; } + public static getHlsParserFactory(): typeof ChunkPlaylistParser | null { + return HlsPipelineLoader.hlsParserFactory_; + } + public static setVodPipelineFactory(): void {} public static setLivePipelineFactory(): void {} diff --git a/packages/playback/test/lib/pipeline-loaders/hls-pipeline-loader.test.ts b/packages/playback/test/lib/pipeline-loaders/hls-pipeline-loader.test.ts new file mode 100644 index 0000000..e80ec7e --- /dev/null +++ b/packages/playback/test/lib/pipeline-loaders/hls-pipeline-loader.test.ts @@ -0,0 +1,15 @@ +import { describe, expect, it } from 'vitest'; +import { HlsPipelineLoader } from '../../../src/lib/pipeline-loaders/hls-pipeline-loader'; +import { ChunkPlaylistParser } from '@videojs/hls-parser'; + +describe('hls-pipeline-loader spec', () => { + it('parser is static pipeline loader member', () => { + expect(HlsPipelineLoader.getHlsParserFactory()).toBe(null); + // set parser + HlsPipelineLoader.setHlsParserFactory(ChunkPlaylistParser); + const ChunkHlsParser = HlsPipelineLoader.getHlsParserFactory(); + expect(ChunkHlsParser).toBeTypeOf('function'); + const parser = ChunkHlsParser ? ChunkHlsParser.create({}) : null; + expect(parser).toBeInstanceOf(ChunkPlaylistParser); + }); +}); diff --git a/packages/playback/test/lib/service-locator.test.ts b/packages/playback/test/lib/service-locator.test.ts new file mode 100644 index 0000000..b15d90e --- /dev/null +++ b/packages/playback/test/lib/service-locator.test.ts @@ -0,0 +1,13 @@ +import { ServiceLocator } from '../../src/lib/service-locator'; +import { beforeEach, describe, expect, it } from 'vitest'; + +describe('Service locator spec', () => { + let serviceLocator: ServiceLocator; + beforeEach(() => { + serviceLocator = new ServiceLocator(); + }); + + it('should create a service locator instance', () => { + expect(serviceLocator).toBeInstanceOf(ServiceLocator); + }); +});