rx-player
Version:
Canal+ HTML5 Video Player
34 lines (32 loc) • 1.46 kB
text/typescript
import { describe, it, expect } from "vitest";
import initializeCoreEntry from "../../../core/entry";
import { MonoThreadCoreInterface } from "../../../main_thread/core_interface/monothread";
import MediaSourceContentInitializer from "../../../main_thread/init/media_source_content_initializer";
import dashJsParser from "../../../parsers/manifest/dash/js-parser";
import DASHFeature from "../../../transports/dash";
import type { IFeaturesObject } from "../../types";
import addDASHFeature from "../dash";
describe("Features list - DASH", () => {
it("should add DASH in the current features", () => {
const featureObject = {
transports: {},
dashParsers: { js: null, wasm: null },
monothread: null,
} as unknown as IFeaturesObject;
addDASHFeature(featureObject);
expect(featureObject).toEqual({
transports: { dash: DASHFeature },
dashParsers: { js: dashJsParser, wasm: null },
monothread: {
init: MediaSourceContentInitializer,
coreInterface: MonoThreadCoreInterface,
initializeCoreEntry,
},
});
expect(featureObject.transports.dash).toBe(DASHFeature);
expect(featureObject.monothread).not.toBe(null);
expect(featureObject.monothread?.init).toBe(MediaSourceContentInitializer);
expect(featureObject.monothread?.coreInterface).toBe(MonoThreadCoreInterface);
expect(featureObject.monothread?.initializeCoreEntry).toBe(initializeCoreEntry);
});
});