Index: third_party/WebKit/LayoutTests/external/wpt/credential-management/credentialscontainer-create-basics.https.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/credential-management/credentialscontainer-create-basics.https.html b/third_party/WebKit/LayoutTests/external/wpt/credential-management/credentialscontainer-create-basics.https.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cf4ac063e98ce3279f4d3f84de2fda413db7c21c |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/credential-management/credentialscontainer-create-basics.https.html |
@@ -0,0 +1,104 @@ |
+<!DOCTYPE html> |
+<title>Credential Management API: create() basics.</title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<script> |
+promise_test(function(t) { |
+ return promise_rejects(t, "NotSupportedError", |
+ navigator.credentials.create()); |
+}, "navigator.credentials.create() with no argument."); |
+ |
+promise_test(function(t) { |
+ return promise_rejects(t, "NotSupportedError", |
+ navigator.credentials.create({})); |
+}, "navigator.credentials.create() with empty argument."); |
+ |
+promise_test(function(t) { |
+ var credential_data = { |
+ id: 'id', |
+ password: 'pencil', |
+ }; |
+ |
+ return navigator.credentials.create({password: credential_data}) |
+ .then(function(credential) { |
+ assert_equals(credential.id, 'id'); |
+ assert_equals(credential.name, ''); |
+ assert_equals(credential.iconURL, ''); |
+ assert_equals(credential.type, 'password'); |
+ // TODO(jdoerrie): Add checks for 'credential.password'. |
+ }); |
+}, "navigator.credentials.create() with valid PasswordCredentialData"); |
+ |
+promise_test(function(t) { |
+ var f = document.createElement('form'); |
+ f.innerHTML = "<input type='text' name='theId' value='musterman' autocomplete='username'>" |
+ + "<input type='text' name='thePassword' value='sekrit' autocomplete='current-password'>" |
+ + "<input type='text' name='theIcon' value='https://example.com/photo' autocomplete='photo'>" |
+ + "<input type='text' name='theExtraField' value='extra'>" |
+ + "<input type='text' name='theName' value='friendly name' autocomplete='name'>"; |
+ |
+ return navigator.credentials.create({password: f}) |
+ .then(function(credential) { |
+ assert_equals(credential.id, 'musterman'); |
+ assert_equals(credential.name, 'friendly name'); |
+ assert_equals(credential.iconURL, 'https://example.com/photo'); |
+ assert_equals(credential.type, 'password'); |
+ }); |
+}, "navigator.credentials.create() with valid HTMLFormElement"); |
+ |
+promise_test(function(t) { |
+ return promise_rejects(t, new TypeError(), |
+ navigator.credentials.create({password: "bogus password data"})); |
+}, "navigator.credentials.create() with bogus password data"); |
+ |
+promise_test(function(t) { |
+ var federated_data = { |
+ id: 'id', |
+ provider: 'https://example.com/', |
+ }; |
+ |
+ return navigator.credentials.create({federated: federated_data}) |
+ .then(function(credential) { |
+ assert_equals(credential.id, 'id'); |
+ assert_equals(credential.name, ''); |
+ assert_equals(credential.iconURL, ''); |
+ assert_equals(credential.type, 'federated'); |
+ }); |
+}, "navigator.credentials.create() with valid FederatedCredentialData"); |
+ |
+promise_test(function(t) { |
+ return promise_rejects(t, new TypeError(), |
+ navigator.credentials.create({federated: "bogus federated data"})); |
+}, "navigator.credentials.create() with bogus federated data"); |
+ |
+promise_test(function(t) { |
+ var credential_data = { |
+ id: 'id', |
+ password: 'pencil', |
+ }; |
+ |
+ var federated_data = { |
+ id: 'id', |
+ provider: 'https://example.com/', |
+ }; |
+ |
+ return promise_rejects(t, "NotSupportedError", |
+ navigator.credentials.create({ |
+ password: credential_data, |
+ federated: federated_data, |
+ })); |
+}, "navigator.credentials.create() with both PasswordCredentialData and FederatedCredentialData"); |
+ |
+promise_test(function(t) { |
+ return promise_rejects(t, new TypeError(), |
+ navigator.credentials.create({ |
+ password: "bogus password data", |
+ federated: "bogus federated data", |
+ })); |
+}, "navigator.credentials.create() with bogus password and federated data"); |
+ |
+promise_test(function(t) { |
+ return promise_rejects(t, "NotSupportedError", |
+ navigator.credentials.create({bogus_key: "bogus data"})); |
+}, "navigator.credentials.create() with bogus data"); |
+</script> |