Source code

Revision control

Copy as Markdown

Other Tools

<!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">
<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>