blob: 435164c90f0c1474454fb5a662b11cf7e5db63a3 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<button>click me</button>
<script type="module">
import {PresentationServiceMock, waitForClick} from './resources/presentation-service-mock.js';
const mock = new PresentationServiceMock();
const button = document.querySelector('button');
async function testPresentationRequestStart(requestArgument, connectionUrl) {
await waitForClick(button);
const connection =
await new PresentationRequest(requestArgument).start();
assert_equals(connection.url, connectionUrl);
assert_equals(connection.state, 'connecting');
};
promise_test(async _ => {
const presentationUrl = "https://example.com/example.html";
await testPresentationRequestStart(presentationUrl, presentationUrl);
}, "Test that the PresentationRequest.start() with single URL resolves with correct PresentationConnection object.");
promise_test(async _ => {
const presentationUrls = ["https://example.com/example.html", "cast://google.com/app_id=deadbeef"];
await testPresentationRequestStart(presentationUrls, presentationUrls[0]);
}, "Test that the PresentationRequest.start() with multiple URLs resolves with correct PresentationConnection object.");
promise_test(async _ => {
const presentationUrl = "https://example.com/\ud801/example.html";
const connectionUrl = "https://example.com/" + encodeURIComponent('\ufffd') + "/example.html"
await testPresentationRequestStart(presentationUrl, connectionUrl);
}, "Test that the PresentationRequest.start() with single URL containing special symbol resolves with correct PresentationConnection object.");
</script>
</body>
</html>