@@ -50,6 +50,17 @@ function checkPasswordCardFields(megalist) {
50
50
}
51
51
}
52
52
53
+ async function waitForPasswordConceal ( passwordLine ) {
54
+ const concealedPromise = BrowserTestUtils . waitForMutationCondition (
55
+ passwordLine ,
56
+ {
57
+ attributeFilter : [ "inputtype" ] ,
58
+ } ,
59
+ ( ) => passwordLine . loginLine . getAttribute ( "inputtype" ) === "password"
60
+ ) ;
61
+ return concealedPromise ;
62
+ }
63
+
53
64
add_setup ( async function ( ) {
54
65
await SpecialPowers . pushPrefEnv ( {
55
66
set : [
@@ -154,6 +165,7 @@ add_task(async function test_login_line_commands() {
154
165
155
166
add_task ( async function test_passwords_menu_external_links ( ) {
156
167
const passwordsSidebar = await openPasswordsSidebar ( ) ;
168
+ await waitForSnapshots ( ) ;
157
169
const menu = passwordsSidebar . querySelector ( "panel-list" ) ;
158
170
const menuButton = passwordsSidebar . querySelector ( "#more-options-menubutton" ) ;
159
171
@@ -200,6 +212,7 @@ async function waitForMigrationWizard() {
200
212
201
213
add_task ( async function test_passwords_menu_import_from_browser ( ) {
202
214
const passwordsSidebar = await openPasswordsSidebar ( ) ;
215
+ await waitForSnapshots ( ) ;
203
216
const menu = passwordsSidebar . querySelector ( "panel-list" ) ;
204
217
const menuButton = passwordsSidebar . querySelector ( "#more-options-menubutton" ) ;
205
218
@@ -214,3 +227,42 @@ add_task(async function test_passwords_menu_import_from_browser() {
214
227
BrowserTestUtils . removeTab ( gBrowser . selectedTab ) ;
215
228
SidebarController . hide ( ) ;
216
229
} ) ;
230
+
231
+ add_task ( async function test_passwords_visibility_when_view_shown ( ) {
232
+ const login = TEST_LOGIN_1 ;
233
+ await LoginTestUtils . addLogin ( login ) ;
234
+
235
+ let megalist = await openPasswordsSidebar ( ) ;
236
+ await checkAllLoginsRendered ( megalist ) ;
237
+
238
+ info ( "Test that reopening the sidebar should have password concealed." ) ;
239
+ let passwordCard = megalist . querySelector ( "password-card" ) ;
240
+ await waitForReauth ( async ( ) => {
241
+ return await waitForPasswordReveal ( passwordCard . passwordLine ) ;
242
+ } ) ;
243
+
244
+ info ( "Hide the sidebar" ) ;
245
+ SidebarController . hide ( ) ;
246
+ await BrowserTestUtils . waitForCondition ( ( ) => {
247
+ return ! SidebarController . isOpen ;
248
+ } , "Sidebar did not close." ) ;
249
+
250
+ info ( "Open sidebar and check visibility of password field" ) ;
251
+ megalist = await openPasswordsSidebar ( ) ;
252
+ await checkAllLoginsRendered ( megalist ) ;
253
+ passwordCard = megalist . querySelector ( "password-card" ) ;
254
+ await waitForPasswordConceal ( passwordCard . passwordLine ) ;
255
+ ok ( true , "Password is hidden." ) ;
256
+
257
+ info (
258
+ "Test that switching panels then switching back to Passwords should have password concealed."
259
+ ) ;
260
+ await SidebarController . show ( "viewBookmarksSidebar" ) ;
261
+ megalist = await openPasswordsSidebar ( ) ;
262
+ await checkAllLoginsRendered ( megalist ) ;
263
+ passwordCard = megalist . querySelector ( "password-card" ) ;
264
+ await waitForPasswordConceal ( passwordCard . passwordLine ) ;
265
+ ok ( true , "Password is hidden." ) ;
266
+
267
+ SidebarController . hide ( ) ;
268
+ } ) ;
0 commit comments