web: Add test for classic <frame>s
This commit is contained in:
parent
a0bfe72b19
commit
a7abdba49c
|
@ -0,0 +1,9 @@
|
||||||
|
<ruffle-object
|
||||||
|
type="application/x-shockwave-flash"
|
||||||
|
data="/test_assets/example.swf"
|
||||||
|
width="550"
|
||||||
|
height="400"
|
||||||
|
>
|
||||||
|
<param name="movie" value="/test_assets/example.swf" />
|
||||||
|
<param name="quality" value="high" />
|
||||||
|
</ruffle-object>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Nav</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<a href="frame2.html" target="content" id="reload-link">Reload frame</a>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>REAL CONTENT</title>
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="test-container">
|
||||||
|
<object
|
||||||
|
type="application/x-shockwave-flash"
|
||||||
|
data="/test_assets/example.swf"
|
||||||
|
width="550"
|
||||||
|
height="400"
|
||||||
|
>
|
||||||
|
<param name="movie" value="/test_assets/example.swf" />
|
||||||
|
<param name="quality" value="high" />
|
||||||
|
</object>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,40 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>WEB</title>
|
||||||
|
<script>
|
||||||
|
window.RufflePlayer = window.RufflePlayer || {};
|
||||||
|
window.RufflePlayer.config = {
|
||||||
|
polyfills: [
|
||||||
|
"static-content",
|
||||||
|
"plugin-detect",
|
||||||
|
"dynamic-content",
|
||||||
|
"frames",
|
||||||
|
],
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<!--
|
||||||
|
Frame polyfilling depends on ruffle being loaded first,
|
||||||
|
so here we explicitly add it early and not after-load
|
||||||
|
-->
|
||||||
|
<script src="/dist/ruffle.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<frameset rows="10%,90%">
|
||||||
|
<frame
|
||||||
|
id="nav-frame"
|
||||||
|
name="nav"
|
||||||
|
src="frame1.html"
|
||||||
|
scrolling="no"
|
||||||
|
frameborder="0"
|
||||||
|
></frame>
|
||||||
|
<frame
|
||||||
|
id="test-frame"
|
||||||
|
name="content"
|
||||||
|
src="frame2.html"
|
||||||
|
scrolling="no"
|
||||||
|
frameborder="0"
|
||||||
|
></frame>
|
||||||
|
</frameset>
|
||||||
|
</html>
|
|
@ -0,0 +1,46 @@
|
||||||
|
const { open_test } = require("../utils");
|
||||||
|
const { expect, use } = require("chai");
|
||||||
|
const chaiHtml = require("chai-html");
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
use(chaiHtml);
|
||||||
|
|
||||||
|
describe("Object and embed", () => {
|
||||||
|
it("loads the test", () => {
|
||||||
|
open_test(browser, __dirname);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("polyfills inside a frame", () => {
|
||||||
|
browser.switchToFrame(browser.$("#test-frame"));
|
||||||
|
browser.waitUntil(() =>
|
||||||
|
browser.execute(() => document.readyState === "complete")
|
||||||
|
);
|
||||||
|
|
||||||
|
const actual = browser.$("#test-container").getHTML(false);
|
||||||
|
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||||
|
expect(actual).html.to.equal(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("polyfills even after a reload", () => {
|
||||||
|
// Contaminate the old contents, to ensure we get a "fresh" state
|
||||||
|
browser.execute(() => {
|
||||||
|
document.getElementById("test-container").remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Then reload
|
||||||
|
browser.switchToParentFrame();
|
||||||
|
browser.switchToFrame(browser.$("#nav-frame"));
|
||||||
|
browser.$("#reload-link").click();
|
||||||
|
|
||||||
|
// And finally, check
|
||||||
|
browser.switchToParentFrame();
|
||||||
|
browser.switchToFrame(browser.$("#test-frame"));
|
||||||
|
browser.waitUntil(() =>
|
||||||
|
browser.execute(() => document.readyState === "complete")
|
||||||
|
);
|
||||||
|
|
||||||
|
const actual = browser.$("#test-container").getHTML(false);
|
||||||
|
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||||
|
expect(actual).html.to.equal(expected);
|
||||||
|
});
|
||||||
|
});
|
|
@ -28,8 +28,6 @@ function inject_ruffle(browser) {
|
||||||
function inject_ruffle_and_wait(browser) {
|
function inject_ruffle_and_wait(browser) {
|
||||||
inject_ruffle(browser);
|
inject_ruffle(browser);
|
||||||
wait_for_ruffle(browser);
|
wait_for_ruffle(browser);
|
||||||
|
|
||||||
console.log(browser.$("html").getHTML(true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function open_test(browser, absolute_dir, file_name) {
|
function open_test(browser, absolute_dir, file_name) {
|
||||||
|
|
Loading…
Reference in New Issue