tests: Test exposed RufflePlayer API

This commit is contained in:
Tom Schuster 2024-09-12 16:07:55 +02:00
parent bade6dd50c
commit 9df13ad511
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
import { loadJsAPI } from "../utils.js";
import { expect, use } from "chai";
import chaiHtml from "chai-html";
use(chaiHtml);
describe("Exposed RufflePlayer methods/properties", () => {
loadJsAPI();
it("exposed API has not changed", async () => {
const player = await browser.$("<ruffle-player>");
const keys = await browser.execute(async (playerElement) => {
// https://github.com/webdriverio/webdriverio/issues/6486
const player = playerElement as unknown;
return Reflect.ownKeys(Object.getPrototypeOf(player));
}, player);
expect(keys).to.have.members([
// FlashAPI
"PercentLoaded",
// LegacyRuffleAPI
"onFSCommand",
"config",
"loadedConfig",
"readyState",
"metadata",
"reload",
"load",
"play",
"isPlaying",
"volume",
"fullscreenEnabled",
"isFullscreen",
"setFullscreen",
"enterFullscreen",
"exitFullscreen",
"pause",
"traceObserver",
"downloadSwf",
"displayMessage",
// RufflePlayerElement
"attributeChangedCallback",
"connectedCallback",
"constructor",
"debugPlayerInfo",
"disconnectedCallback",
]);
});
});