63 lines
2.8 KiB
HTML
63 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>[Optional] Starting a presentation from the browser using a default presentation request.</title>
|
|
<link rel="author" title="Marius Wessel" href="http://www.fokus.fraunhofer.de">
|
|
<link rel="author" title="Tomoyuki Shimizu" href="https://github.com/tomoyukilabs">
|
|
<link rel="help" href="http://w3c.github.io/presentation-api/#dom-presentation-defaultrequest">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="common.js"></script>
|
|
|
|
<p>
|
|
Click the button or the menu item for presentation on your browser (for example, "Cast"), <br>
|
|
to start the manual test, and select a presentation display when prompted to do so.<br>
|
|
The test passes if a "PASS" result appears.
|
|
</p>
|
|
<p id="notice">
|
|
If your browser does not support <code>defaultRequest</code>, please click this button: <button id="notsupported">Not Supported</button>
|
|
</p>
|
|
|
|
<script>
|
|
// disable the timeout function for the tests
|
|
// and call 'done()' when the tests cases are finished.
|
|
setup({explicit_timeout: true});
|
|
|
|
// -----------
|
|
// DOM Element
|
|
// -----------
|
|
var button = document.getElementById('notsupported'),
|
|
notice = document.getElementById('notice');
|
|
|
|
// ------------------------------
|
|
// Start New Presentation with
|
|
// 'default request' Test - BEGIN
|
|
// ------------------------------
|
|
async_test(function(t) {
|
|
// clean up the presentation and the instruction notice when the test ends
|
|
var connection;
|
|
t.add_cleanup(function() {
|
|
notice.parentNode.removeChild(notice);
|
|
if(connection)
|
|
connection.terminate();
|
|
});
|
|
// set an event handler to make the test fail when the button is clicked
|
|
button.onclick = t.step_func_done(function() {
|
|
assert_unreached('This browser does not support defaultRequest.');
|
|
});
|
|
// set up a default presentation request
|
|
var request = new PresentationRequest(presentationUrls);
|
|
navigator.presentation.defaultRequest = request;
|
|
request.onconnectionavailable = t.step_func_done(function (evt) {
|
|
connection = evt.connection;
|
|
// check the presentation connection and its attributes
|
|
assert_equals(connection.state, 'connecting', 'The initial state of the presentation connection is "connecting".');
|
|
assert_true(!!connection.id, 'The connection ID is set.');
|
|
assert_equals(typeof connection.id, 'string', 'The connection ID is a string.');
|
|
assert_true(connection instanceof PresentationConnection, 'The connection is an instance of PresentationConnection.');
|
|
});
|
|
});
|
|
// ----------------------------
|
|
// Start New Presentation with
|
|
// 'default request' Test - END
|
|
// ----------------------------
|
|
</script>
|