rx-player
Version:
Canal+ HTML5 Video Player
83 lines (76 loc) • 2.47 kB
text/typescript
import { describe, afterEach, it, expect, vi } from "vitest";
import type ICanReuseMediaKeys from "../can_reuse_media_keys";
describe("Compat - canReuseMediaKeys", () => {
afterEach(() => {
vi.resetModules();
});
it("should return true on most browsers", async () => {
vi.doMock("../browser_detection", () => {
return {
isA1KStb40xx: false,
isWebOs: false,
isPhilipsNetTv: false,
isPanasonic: false,
};
});
const canReuseMediaKeys = (await vi.importActual("../can_reuse_media_keys.ts"))
.default as typeof ICanReuseMediaKeys;
expect(canReuseMediaKeys()).toBe(true);
});
it("should return false on WebOs", async () => {
vi.doMock("../browser_detection", () => {
return {
isA1KStb40xx: false,
isWebOs: true,
isWebOs2022: false,
isPanasonic: false,
isPhilipsNetTv: false,
};
});
const canReuseMediaKeys = (await vi.importActual("../can_reuse_media_keys.ts"))
.default as typeof ICanReuseMediaKeys;
expect(canReuseMediaKeys()).toBe(false);
});
it("should return false on Panasonic", async () => {
vi.doMock("../browser_detection", () => {
return {
isA1KStb40xx: false,
isWebOs: false,
isWebOs2022: false,
isPanasonic: true,
isPhilipsNetTv: false,
};
});
const canReuseMediaKeys = (await vi.importActual("../can_reuse_media_keys.ts"))
.default as typeof ICanReuseMediaKeys;
expect(canReuseMediaKeys()).toBe(false);
});
it("should return false on Philips' NETTV", async () => {
vi.doMock("../browser_detection", () => {
return {
isA1KStb40xx: false,
isWebOs: false,
isWebOs2022: false,
isPanasonic: false,
isPhilipsNetTv: true,
};
});
const canReuseMediaKeys = (await vi.importActual("../can_reuse_media_keys.ts"))
.default as typeof ICanReuseMediaKeys;
expect(canReuseMediaKeys()).toBe(false);
});
it("should return false on A1 KSTB 40xxx", async () => {
vi.doMock("../browser_detection", () => {
return {
isA1KStb40xx: true,
isWebOs: false,
isWebOs2022: false,
isPanasonic: false,
isPhilipsNetTv: false,
};
});
const canReuseMediaKeys = (await vi.importActual("../can_reuse_media_keys.ts"))
.default as typeof ICanReuseMediaKeys;
expect(canReuseMediaKeys()).toBe(false);
});
});