OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('settings_people_page_quick_unlock', function() { | 5 cr.define('settings_people_page_quick_unlock', function() { |
6 var element = null; | 6 var element = null; |
7 var quickUnlockPrivateApi = null; | 7 var quickUnlockPrivateApi = null; |
8 var QuickUnlockMode = chrome.quickUnlockPrivate.QuickUnlockMode; | 8 var QuickUnlockMode = chrome.quickUnlockPrivate.QuickUnlockMode; |
9 | 9 |
10 /** | 10 /** |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 | 315 |
316 setup(function() { | 316 setup(function() { |
317 PolymerTest.clearBody(); | 317 PolymerTest.clearBody(); |
318 | 318 |
319 quickUnlockPrivateApi = new settings.FakeQuickUnlockPrivate(); | 319 quickUnlockPrivateApi = new settings.FakeQuickUnlockPrivate(); |
320 | 320 |
321 // Create setup-pin element. | 321 // Create setup-pin element. |
322 element = document.createElement('settings-setup-pin-dialog'); | 322 element = document.createElement('settings-setup-pin-dialog'); |
323 element.setModes = | 323 element.setModes = |
324 quickUnlockPrivateApi.setModes.bind(quickUnlockPrivateApi, ''); | 324 quickUnlockPrivateApi.setModes.bind(quickUnlockPrivateApi, ''); |
| 325 element.checkCredential_ = |
| 326 quickUnlockPrivateApi.checkCredential.bind(quickUnlockPrivateApi); |
| 327 element.getCredentialRequirements_ = |
| 328 quickUnlockPrivateApi.getCredentialRequirements.bind( |
| 329 quickUnlockPrivateApi); |
325 | 330 |
326 document.body.appendChild(element); | 331 document.body.appendChild(element); |
327 Polymer.dom.flush(); | 332 Polymer.dom.flush(); |
328 | 333 |
329 element.open(); | 334 element.open(); |
330 | 335 |
331 titleDiv = getFromElement('div[class="title"]'); | 336 titleDiv = getFromElement('div[class="title"]'); |
332 problemDiv = getFromElement('#problemDiv'); | 337 problemDiv = getFromElement('#problemDiv'); |
333 pinKeyboard = getFromElement('pin-keyboard'); | 338 pinKeyboard = getFromElement('pin-keyboard'); |
334 backButton = getFromElement('paper-button[class="cancel-button"]'); | 339 backButton = getFromElement('paper-button[class="cancel-button"]'); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 | 382 |
378 pinKeyboard.value = ''; | 383 pinKeyboard.value = ''; |
379 assertTrue(isVisible(problemDiv)); | 384 assertTrue(isVisible(problemDiv)); |
380 }); | 385 }); |
381 | 386 |
382 // If the PIN is too short an error problem is shown. | 387 // If the PIN is too short an error problem is shown. |
383 test('WarningShownForShortPins', function() { | 388 test('WarningShownForShortPins', function() { |
384 pinKeyboard.value = '11'; | 389 pinKeyboard.value = '11'; |
385 | 390 |
386 assertTrue(isVisible(problemDiv)); | 391 assertTrue(isVisible(problemDiv)); |
387 assertHasClass(problemDiv, 'warning'); | 392 assertHasClass(problemDiv, 'error'); |
388 assertTrue(continueButton.disabled); | 393 assertTrue(continueButton.disabled); |
389 }); | 394 }); |
390 | 395 |
391 // If the PIN is weak a warning problem is shown. | 396 // If the PIN is weak a warning problem is shown. |
392 test('WarningShownForWeakPins', function() { | 397 test('WarningShownForWeakPins', function() { |
393 pinKeyboard.value = '111111'; | 398 pinKeyboard.value = '1111'; |
394 | 399 |
395 assertTrue(isVisible(problemDiv)); | 400 assertTrue(isVisible(problemDiv)); |
396 assertHasClass(problemDiv, 'warning'); | 401 assertHasClass(problemDiv, 'warning'); |
397 }); | 402 }); |
398 | 403 |
399 // If the confirm PIN does not match the initial PIN a warning is shown. | 404 // If the confirm PIN does not match the initial PIN a warning is shown. |
400 // If the user tries to submit the PIN, the warning changes to an error. | 405 // If the user tries to submit the PIN, the warning changes to an error. |
401 test('WarningThenErrorShownForMismatchedPins', function() { | 406 test('WarningThenErrorShownForMismatchedPins', function() { |
402 pinKeyboard.value = '1118'; | 407 pinKeyboard.value = '1118'; |
403 MockInteractions.tap(continueButton); | 408 MockInteractions.tap(continueButton); |
404 | 409 |
405 // Entering a mismatched PIN shows a warning. | 410 // Entering a mismatched PIN shows a warning. |
406 pinKeyboard.value = '1119'; | 411 pinKeyboard.value = '1119'; |
407 assertTrue(isVisible(problemDiv)); | 412 assertTrue(isVisible(problemDiv)); |
408 assertHasClass(problemDiv, 'warning'); | 413 assertHasClass(problemDiv, 'warning'); |
409 | 414 |
410 // Submitting a mistmatched PIN shows an error. | 415 // Submitting a mistmatched PIN shows an error. Directly call the button |
411 MockInteractions.tap(continueButton); | 416 // event since a tap on the disabled button does nothing. |
| 417 element.onPinSubmit_(); |
412 assertHasClass(problemDiv, 'error'); | 418 assertHasClass(problemDiv, 'error'); |
413 | 419 |
414 // Changing the PIN changes the error to a warning. | 420 // Changing the PIN changes the error to a warning. |
415 pinKeyboard.value = '111'; | 421 pinKeyboard.value = '111'; |
416 assertHasClass(problemDiv, 'warning'); | 422 assertHasClass(problemDiv, 'warning'); |
417 }); | 423 }); |
418 | 424 |
419 // Hitting cancel at the setup step dismisses the dialog. | 425 // Hitting cancel at the setup step dismisses the dialog. |
420 test('HittingBackButtonResetsState', function() { | 426 test('HittingBackButtonResetsState', function() { |
421 MockInteractions.tap(backButton); | 427 MockInteractions.tap(backButton); |
(...skipping 29 matching lines...) Expand all Loading... |
451 }); | 457 }); |
452 }); | 458 }); |
453 } | 459 } |
454 | 460 |
455 return { | 461 return { |
456 registerAuthenticateTests: registerAuthenticateTests, | 462 registerAuthenticateTests: registerAuthenticateTests, |
457 registerLockScreenTests: registerLockScreenTests, | 463 registerLockScreenTests: registerLockScreenTests, |
458 registerSetupPinDialogTests: registerSetupPinDialogTests | 464 registerSetupPinDialogTests: registerSetupPinDialogTests |
459 }; | 465 }; |
460 }); | 466 }); |
OLD | NEW |