OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <title>Credential Manager: PasswordCredential basics.</title> | |
3 <script src="../resources/testharness.js"></script> | |
4 <script src="../resources/testharnessreport.js"></script> | |
5 <script src="/serviceworker/resources/interfaces.js"></script> | |
6 <script> | |
7 promise_test(function(t) { | |
8 var credential = new PasswordCredential({ | |
9 id: 'id', | |
10 password: 'pencil', | |
11 name: 'name', | |
12 iconURL: 'https://example.com/icon.png' | |
13 }); | |
14 | |
15 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
16 .then(function (r) { | |
17 return r.json(); | |
18 }) | |
19 .then(function (j) { | |
20 assert_equals(j.username, 'id'); | |
21 assert_equals(j.password, 'pencil'); | |
22 }); | |
23 }, "Simple Fetch"); | |
24 | |
25 promise_test(function(t) { | |
26 var credential = new PasswordCredential({ | |
27 id: 'id', | |
28 password: 'pencil', | |
29 name: 'name', | |
30 iconURL: 'https://example.com/icon.png' | |
31 }); | |
32 | |
33 credential.idName = "notUsername"; | |
34 credential.passwordName = "notPassword"; | |
35 | |
36 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
37 .then(function (r) { | |
38 return r.json() | |
39 }) | |
40 .then(function (j) { | |
41 assert_equals(j.username, undefined); | |
42 assert_equals(j.password, undefined); | |
43 assert_equals(j.notUsername, 'id'); | |
44 assert_equals(j.notPassword, 'pencil'); | |
45 }); | |
46 }, "'idName' and 'passwordName'"); | |
47 | |
48 promise_test(function(t) { | |
49 var credential = new PasswordCredential({ | |
50 id: 'id', | |
51 password: 'pencil', | |
52 name: 'name', | |
53 iconURL: 'https://example.com/icon.png' | |
54 }); | |
55 | |
56 var fd = new FormData(); | |
57 credential.additionalData = fd; | |
58 | |
59 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
60 .then(function (r) { | |
61 return r.json(); | |
62 }) | |
63 .then(function (j) { | |
64 assert_equals(j.username, 'id'); | |
65 assert_equals(j.password, 'pencil'); | |
66 }); | |
67 }, "'additionalData': Empty FormData has no effect."); | |
68 | |
69 promise_test(function(t) { | |
70 var credential = new PasswordCredential({ | |
71 id: 'id', | |
72 password: 'pencil', | |
73 name: 'name', | |
74 iconURL: 'https://example.com/icon.png' | |
75 }); | |
76 | |
77 var fd = new FormData(); | |
78 fd.append("excitingData", "exciting value"); | |
79 fd.append("csrf", "[randomness]"); | |
80 credential.additionalData = fd; | |
81 | |
82 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
83 .then(function (r) { | |
84 return r.json(); | |
85 }) | |
86 then(function (j) { | |
87 assert_equals(j.username, 'id'); | |
88 assert_equals(j.password, 'pencil'); | |
89 assert_equals(j.excitingData, 'exciting value'); | |
90 assert_equals(j.csrf, '[randomness]'); | |
91 }); | |
92 }, "'additionalData': FormData properties are properly injected."); | |
93 | |
94 promise_test(function(t) { | |
95 var credential = new PasswordCredential({ | |
96 id: 'id', | |
97 password: 'pencil', | |
98 name: 'name', | |
99 iconURL: 'https://example.com/icon.png' | |
100 }); | |
101 | |
102 var params = new URLSearchParams(); | |
103 credential.additionalData = params; | |
104 | |
105 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
106 .then(function (r) { | |
107 return r.json(); | |
108 }) | |
109 .then(function (j) { | |
110 assert_equals(j.username, 'id'); | |
111 assert_equals(j.password, 'pencil'); | |
112 }); | |
113 }, "'additionalData': Empty URLSearchParams has no effect."); | |
114 | |
115 promise_test(function(t) { | |
116 var credential = new PasswordCredential({ | |
117 id: 'id', | |
118 password: 'pencil', | |
119 name: 'name', | |
120 iconURL: 'https://example.com/icon.png' | |
121 }); | |
122 | |
123 var params = new URLSearchParams(); | |
124 params.append("excitingData", "exciting value"); | |
125 params.append("csrf", "[randomness]"); | |
126 credential.additionalData = params; | |
127 | |
128 return fetch("./resources/echo-post.php", { body: credential, method: "POST" }) | |
129 .then(function (r) { | |
130 return r.json(); | |
131 }) | |
132 .then(function (j) { | |
133 assert_equals(j.username, 'id'); | |
134 assert_equals(j.password, 'pencil'); | |
135 assert_equals(j.excitingData, 'exciting value'); | |
136 assert_equals(j.csrf, '[randomness]'); | |
137 }); | |
138 }, "'additionalData': URLSearchParams properties are properly injected."); | |
139 | |
140 promise_test(function(t) { | |
141 var credential = new PasswordCredential({ | |
142 id: 'id', | |
143 password: 'pencil', | |
144 name: 'name', | |
145 iconURL: 'https://example.com/icon.png' | |
146 }); | |
147 | |
148 var params = new URLSearchParams(); | |
149 params.append("a", "1"); | |
150 params.append("a", "2"); | |
151 params.append("a", "3"); | |
152 credential.additionalData = params; | |
153 | |
154 return fetch("./resources/echo-raw-post.php", { body: credential, method: "P OST" }) | |
155 .then(function (r) { | |
156 return r.text(); | |
157 }) | |
158 .then(function (t) { | |
philipj_slow
2015/11/18 10:00:05
Maybe expand this to text since t is also the test
| |
159 assert_equals(t, 'a=1&a=2&a=3&username=id&password=pencil'); | |
160 }); | |
161 }, "'additionalData': URLSearchParams properties are properly injected (ordering matters)."); | |
162 </script> | |
OLD | NEW |