tests: In browser based tests, actually press play and check that the movie spits out some text
This commit is contained in:
parent
4c6c8ee1f2
commit
085c61b94f
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Embed tag", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-embed />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { open_test, inject_ruffle_and_wait } = require("../utils");
|
||||
const {
|
||||
open_test,
|
||||
inject_ruffle_and_wait,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -18,4 +22,11 @@ describe("Embed with case-insensitive MIME type", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-embed />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Embed without type attribute", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-embed />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { open_test, inject_ruffle_and_wait } = require("../utils");
|
||||
const {
|
||||
open_test,
|
||||
inject_ruffle_and_wait,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -18,4 +22,11 @@ describe("Object with case-insensitive MIME type", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { open_test, inject_ruffle_and_wait } = require("../utils");
|
||||
const {
|
||||
open_test,
|
||||
inject_ruffle_and_wait,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -18,4 +22,11 @@ describe("Object with case-insensitive clsid", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { open_test, inject_ruffle_and_wait } = require("../utils");
|
||||
const {
|
||||
open_test,
|
||||
inject_ruffle_and_wait,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -18,4 +22,11 @@ describe("Object with only data attribute", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object tag", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object for old IE must work everywhere", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object without type attribute", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object without type and classid attributes", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object with unexpected string", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
const { inject_ruffle_and_wait, open_test } = require("../utils");
|
||||
const {
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
play_and_monitor,
|
||||
} = require("../utils");
|
||||
const { expect, use } = require("chai");
|
||||
const chaiHtml = require("chai-html");
|
||||
const fs = require("fs");
|
||||
|
@ -16,4 +20,11 @@ describe("Object with wrong type attribute value", () => {
|
|||
const expected = fs.readFileSync(`${__dirname}/expected.html`, "utf8");
|
||||
expect(actual).html.to.equal(expected);
|
||||
});
|
||||
|
||||
it("Plays a movie", () => {
|
||||
play_and_monitor(
|
||||
browser,
|
||||
browser.$("#test-container").$("<ruffle-object />")
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -24,6 +24,45 @@ function inject_ruffle(browser) {
|
|||
});
|
||||
}
|
||||
|
||||
function play_and_monitor(browser, player) {
|
||||
// TODO: better way to test for this in the API
|
||||
browser.waitUntil(
|
||||
() => {
|
||||
return browser.execute((player) => {
|
||||
return (
|
||||
player.play_button_clicked !== undefined && player.instance
|
||||
);
|
||||
}, player);
|
||||
},
|
||||
{
|
||||
timeoutMsg: "Expected player to have initialized",
|
||||
}
|
||||
);
|
||||
|
||||
browser.execute((player) => {
|
||||
player.__ruffle_log__ = "";
|
||||
player.trace_observer = (msg) => {
|
||||
player.__ruffle_log__ += msg + "\n";
|
||||
};
|
||||
|
||||
// TODO: make this an actual intended api...
|
||||
player.play_button_clicked();
|
||||
}, player);
|
||||
|
||||
browser.waitUntil(
|
||||
() => {
|
||||
return (
|
||||
browser.execute((player) => {
|
||||
return player.__ruffle_log__;
|
||||
}, player) === "Hello from Flash!\n"
|
||||
);
|
||||
},
|
||||
{
|
||||
timeoutMsg: "Expected Ruffle to trace a message",
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function inject_ruffle_and_wait(browser) {
|
||||
inject_ruffle(browser);
|
||||
wait_for_ruffle(browser);
|
||||
|
@ -40,6 +79,7 @@ function open_test(browser, absolute_dir, file_name) {
|
|||
module.exports = {
|
||||
is_ruffle_loaded,
|
||||
wait_for_ruffle,
|
||||
play_and_monitor,
|
||||
inject_ruffle,
|
||||
inject_ruffle_and_wait,
|
||||
open_test,
|
||||
|
|
Loading…
Reference in New Issue