387b8da7a59af1ef7a141655e591f0aa121130e5
[WebKit-https.git] / LayoutTests / fast / dom / NavigatorContentUtils / is-protocol-handler-registered.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <p>This test makes sure that navigator.isProtocolHandlerRegistered throws the proper exceptions and returns the default state of handler.</p>
8 <pre id="console"></pre>
9 <script>
10 if (window.testRunner)
11     testRunner.dumpAsText();
12
13 if (window.navigator.isProtocolHandlerRegistered)
14     debug('PASS window.navigator.isProtocolHandlerRegistered is defined.');
15 else
16     debug('FAIL window.navigator.isProtocolHandlerRegistered is not defined.');
17
18 var invalidUrl = "%S";
19 var succeeded = false;
20 try {
21     window.navigator.isProtocolHandlerRegistered(protocol, invalidUrl);
22     succeeded = false;
23 } catch (e) {
24     succeeded = true;
25 }
26 if (succeeded)
27     debug('PASS Invalid url "' + invalidUrl + '" threw SyntaxError exception.');
28 else
29     debug('FAIL Invalid url "' + invalidUrl + '" allowed.');
30
31 try {
32     var state = window.navigator.isProtocolHandlerRegistered("bitcoin", "valid protocol %s");
33     if (state == "registered")
34         debug('PASS window.navigator.isProtocolHandlerRegistered returns "registered" state');
35     else
36         debug("FAIL window.navigator.isProtocolHandlerRegistered doesn't return the default state.");
37 } catch (e) {
38     debug('FAIL window.navigator.isProtocolHandlerRegistered call is failed: "' + e.message + '".');
39 }
40 </script>
41 </body>
42 </html>