Index: LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered.html |
diff --git a/LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered.html b/LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..07ecb78114aa27f74323ff06bb083a69beb917bd |
--- /dev/null |
+++ b/LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered.html |
@@ -0,0 +1,45 @@ |
+<html> |
jochen (gone - plz use gerrit)
2014/01/28 13:13:23
<!DOCTYPE html>
|
+<body> |
+<p>This test makes sure that navigator.isProtocolHandlerRegistered throws the proper exceptions and returns the default state of handler.</p> |
+<pre id="console"></pre> |
+<script> |
+if (window.testRunner) |
+ testRunner.dumpAsText(); |
+ |
+function debug(str) |
+{ |
+ var c = document.getElementById('console') |
+ c.appendChild(document.createTextNode(str + '\n')); |
+} |
+ |
+if (window.navigator.isProtocolHandlerRegistered) |
+ debug('Pass: window.navigator.isProtocolHandlerRegistered is defined.'); |
+else |
+ debug('Fail: window.navigator.isProtocolHandlerRegistered is not defined.'); |
+ |
+var invalidUrl = "%S"; |
+var succeeded = false; |
+try { |
+ window.navigator.isProtocolHandlerRegistered(protocol, invalidUrl); |
+ succeeded = false; |
+} catch (e) { |
+ succeeded = true; |
+} |
+if (succeeded) |
+ debug('Pass: Invalid url "' + invalidUrl + '" threw SyntaxError exception.'); |
+else |
+ debug('Fail: Invalid url "' + invalidUrl + '" allowed.'); |
+ |
+// FIXME: Need to check if this function can return 'registered' and 'declined' states as well. |
+try { |
+ var state = window.navigator.isProtocolHandlerRegistered("bitcoin", "valid protocol %s"); |
+ if (state == "new") |
+ debug('Pass: window.navigator.isProtocolHandlerRegistered returns "new" state'); |
+ else |
+ debug("Fail: window.navigator.isProtocolHandlerRegistered doesn't return the default state."); |
+} catch (e) { |
+ debug('Fail: window.navigator.isProtocolHandlerRegistered call is failed: "' + e.message + '".'); |
+} |
+</script> |
+</body> |
+</html> |