Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: chrome/test/data/webui/settings/about_page_tests.js

Issue 2538283002: MD Settings: Fix "Check for updates" button regression. (Closed)
Patch Set: Nit. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/resources/settings/about_page/about_page.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_about_page', function() { 5 cr.define('settings_about_page', function() {
6 /** 6 /**
7 * @constructor 7 * @constructor
8 * @implements {settings.AboutPageBrowserProxy} 8 * @implements {settings.AboutPageBrowserProxy}
9 * @extends {settings.TestBrowserProxy} 9 * @extends {settings.TestBrowserProxy}
10 */ 10 */
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 aboutObsoleteEndOfTheLine: false, 250 aboutObsoleteEndOfTheLine: false,
251 }); 251 });
252 252
253 return initNewPage().then(function() { 253 return initNewPage().then(function() {
254 var icon = page.$$('iron-icon'); 254 var icon = page.$$('iron-icon');
255 assertTrue(!!icon); 255 assertTrue(!!icon);
256 assertTrue(!!page.$.updateStatusMessage); 256 assertTrue(!!page.$.updateStatusMessage);
257 assertTrue(!!page.$.deprecationWarning); 257 assertTrue(!!page.$.deprecationWarning);
258 258
259 assertFalse(page.$.deprecationWarning.hidden); 259 assertFalse(page.$.deprecationWarning.hidden);
260 assertFalse(page.$.updateStatusMessage.hidden); 260 // Update status message should be hidden before user has checked for
261 // updates, on ChromeOS.
262 assertEquals(cr.isChromeOS, page.$.updateStatusMessage.hidden);
261 263
262 fireStatusChanged(UpdateStatus.CHECKING); 264 fireStatusChanged(UpdateStatus.CHECKING);
263 assertEquals(SPINNER_ICON, icon.src); 265 assertEquals(SPINNER_ICON, icon.src);
264 assertEquals(null, icon.getAttribute('icon')); 266 assertEquals(null, icon.getAttribute('icon'));
265 assertFalse(page.$.deprecationWarning.hidden); 267 assertFalse(page.$.deprecationWarning.hidden);
266 assertFalse(page.$.updateStatusMessage.hidden); 268 assertFalse(page.$.updateStatusMessage.hidden);
267 269
268 fireStatusChanged(UpdateStatus.UPDATING); 270 fireStatusChanged(UpdateStatus.UPDATING);
269 assertEquals(SPINNER_ICON, icon.src); 271 assertEquals(SPINNER_ICON, icon.src);
270 assertEquals(null, icon.getAttribute('icon')); 272 assertEquals(null, icon.getAttribute('icon'));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 313
312 fireStatusChanged(UpdateStatus.UPDATED); 314 fireStatusChanged(UpdateStatus.UPDATED);
313 assertEquals(null, icon.src); 315 assertEquals(null, icon.src);
314 assertEquals('settings:error', icon.icon); 316 assertEquals('settings:error', icon.icon);
315 assertFalse(page.$.deprecationWarning.hidden); 317 assertFalse(page.$.deprecationWarning.hidden);
316 assertTrue(page.$.updateStatusMessage.hidden); 318 assertTrue(page.$.updateStatusMessage.hidden);
317 }); 319 });
318 }); 320 });
319 321
320 test('Relaunch', function() { 322 test('Relaunch', function() {
321 var relaunchContainer = page.$.relaunchContainer; 323 var relaunch = page.$.relaunch;
322 assertTrue(!!relaunchContainer); 324 assertTrue(!!relaunch);
323 assertTrue(relaunchContainer.hidden); 325 assertTrue(relaunch.hidden);
324 326
325 fireStatusChanged(UpdateStatus.NEARLY_UPDATED); 327 fireStatusChanged(UpdateStatus.NEARLY_UPDATED);
326 assertFalse(relaunchContainer.hidden); 328 assertFalse(relaunch.hidden);
327 329
328 var relaunch = page.$.relaunch; 330 var relaunch = page.$.relaunch;
329 assertTrue(!!relaunch); 331 assertTrue(!!relaunch);
330 MockInteractions.tap(relaunch); 332 MockInteractions.tap(relaunch);
331 return lifetimeBrowserProxy.whenCalled('relaunch'); 333 return lifetimeBrowserProxy.whenCalled('relaunch');
332 }); 334 });
333 335
334 if (cr.isChromeOS) { 336 if (cr.isChromeOS) {
335 /** 337 /**
336 * Test that all buttons update according to incoming 338 * Test that all buttons update according to incoming
337 * 'update-status-changed' events for the case where target and current 339 * 'update-status-changed' events for the case where target and current
338 * channel are the same. 340 * channel are the same.
339 */ 341 */
340 test('ButtonsUpdate_SameChannel', function() { 342 test('ButtonsUpdate_SameChannel', function() {
341 var relaunchContainer = page.$.relaunchContainer; 343 var relaunch = page.$.relaunch;
342 var checkForUpdates = page.$.checkForUpdates; 344 var checkForUpdates = page.$.checkForUpdates;
343 var relaunchAndPowerwash = page.$.relaunchAndPowerwash; 345 var relaunchAndPowerwash = page.$.relaunchAndPowerwash;
344 346
345 assertTrue(!!relaunchContainer); 347 assertTrue(!!relaunch);
346 assertTrue(!!relaunchAndPowerwash); 348 assertTrue(!!relaunchAndPowerwash);
347 assertTrue(!!checkForUpdates); 349 assertTrue(!!checkForUpdates);
348 350
349 function assertAllHidden() { 351 function assertAllHidden() {
350 assertTrue(checkForUpdates.hidden); 352 assertTrue(checkForUpdates.hidden);
351 assertTrue(relaunchContainer.hidden); 353 assertTrue(relaunch.hidden);
352 assertTrue(relaunchAndPowerwash.hidden); 354 assertTrue(relaunchAndPowerwash.hidden);
355 // Ensure that when all buttons are hidden, the container is also
356 // hidden.
357 assertTrue(page.$.buttonContainer.hidden);
353 } 358 }
354 359
355 // Check that |UPDATED| status is ignored if the user has not 360 // Check that |UPDATED| status is ignored if the user has not
356 // explicitly checked for updates yet. 361 // explicitly checked for updates yet.
357 fireStatusChanged(UpdateStatus.UPDATED); 362 fireStatusChanged(UpdateStatus.UPDATED);
358 assertFalse(checkForUpdates.hidden); 363 assertFalse(checkForUpdates.hidden);
359 assertTrue(relaunchContainer.hidden); 364 assertTrue(relaunch.hidden);
360 assertTrue(relaunchAndPowerwash.hidden); 365 assertTrue(relaunchAndPowerwash.hidden);
361 366
362 fireStatusChanged(UpdateStatus.CHECKING); 367 fireStatusChanged(UpdateStatus.CHECKING);
363 assertAllHidden(); 368 assertAllHidden();
364 369
365 fireStatusChanged(UpdateStatus.UPDATING); 370 fireStatusChanged(UpdateStatus.UPDATING);
366 assertAllHidden(); 371 assertAllHidden();
367 372
368 fireStatusChanged(UpdateStatus.NEARLY_UPDATED); 373 fireStatusChanged(UpdateStatus.NEARLY_UPDATED);
369 assertTrue(checkForUpdates.hidden); 374 assertTrue(checkForUpdates.hidden);
370 assertFalse(relaunchContainer.hidden); 375 assertFalse(relaunch.hidden);
371 assertTrue(relaunchAndPowerwash.hidden); 376 assertTrue(relaunchAndPowerwash.hidden);
372 377
373 fireStatusChanged(UpdateStatus.UPDATED); 378 fireStatusChanged(UpdateStatus.UPDATED);
374 assertAllHidden(); 379 assertAllHidden();
375 380
376 fireStatusChanged(UpdateStatus.FAILED); 381 fireStatusChanged(UpdateStatus.FAILED);
377 assertFalse(checkForUpdates.hidden); 382 assertFalse(checkForUpdates.hidden);
378 assertTrue(relaunchContainer.hidden); 383 assertTrue(relaunch.hidden);
379 assertTrue(relaunchAndPowerwash.hidden); 384 assertTrue(relaunchAndPowerwash.hidden);
380 385
381 fireStatusChanged(UpdateStatus.DISABLED); 386 fireStatusChanged(UpdateStatus.DISABLED);
382 assertAllHidden(); 387 assertAllHidden();
383 388
384 fireStatusChanged(UpdateStatus.DISABLED_BY_ADMIN); 389 fireStatusChanged(UpdateStatus.DISABLED_BY_ADMIN);
385 assertAllHidden(); 390 assertAllHidden();
386 }); 391 });
387 392
388 /** 393 /**
389 * Test that buttons update according to incoming 394 * Test that buttons update according to incoming
390 * 'update-status-changed' events for the case where the target channel 395 * 'update-status-changed' events for the case where the target channel
391 * is more stable than current channel. 396 * is more stable than current channel.
392 */ 397 */
393 test('ButtonsUpdate_BetaToStable', function() { 398 test('ButtonsUpdate_BetaToStable', function() {
394 aboutBrowserProxy.setChannels( 399 aboutBrowserProxy.setChannels(
395 BrowserChannel.BETA, BrowserChannel.STABLE); 400 BrowserChannel.BETA, BrowserChannel.STABLE);
396 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED); 401 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED);
397 402
398 return initNewPage().then(function() { 403 return initNewPage().then(function() {
399 assertTrue(!!page.$.relaunchContainer); 404 assertTrue(!!page.$.relaunch);
400 assertTrue(!!page.$.relaunchAndPowerwash); 405 assertTrue(!!page.$.relaunchAndPowerwash);
401 406
402 assertTrue(page.$.relaunchContainer.hidden); 407 assertTrue(page.$.relaunch.hidden);
403 assertFalse(page.$.relaunchAndPowerwash.hidden); 408 assertFalse(page.$.relaunchAndPowerwash.hidden);
404 409
405 MockInteractions.tap(page.$.relaunchAndPowerwash); 410 MockInteractions.tap(page.$.relaunchAndPowerwash);
406 return lifetimeBrowserProxy.whenCalled('factoryReset'); 411 return lifetimeBrowserProxy.whenCalled('factoryReset');
407 }); 412 });
408 }); 413 });
409 414
410 /** 415 /**
411 * Test that buttons update according to incoming 416 * Test that buttons update according to incoming
412 * 'update-status-changed' events for the case where the target channel 417 * 'update-status-changed' events for the case where the target channel
413 * is less stable than current channel. 418 * is less stable than current channel.
414 */ 419 */
415 test('ButtonsUpdate_StableToBeta', function() { 420 test('ButtonsUpdate_StableToBeta', function() {
416 aboutBrowserProxy.setChannels( 421 aboutBrowserProxy.setChannels(
417 BrowserChannel.STABLE, BrowserChannel.BETA); 422 BrowserChannel.STABLE, BrowserChannel.BETA);
418 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED); 423 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED);
419 424
420 return initNewPage().then(function() { 425 return initNewPage().then(function() {
421 assertTrue(!!page.$.relaunchContainer); 426 assertTrue(!!page.$.relaunch);
422 assertTrue(!!page.$.relaunchAndPowerwash); 427 assertTrue(!!page.$.relaunchAndPowerwash);
423 428
424 assertFalse(page.$.relaunchContainer.hidden); 429 assertFalse(page.$.relaunch.hidden);
425 assertTrue(page.$.relaunchAndPowerwash.hidden); 430 assertTrue(page.$.relaunchAndPowerwash.hidden);
426 431
427 MockInteractions.tap(page.$.relaunch); 432 MockInteractions.tap(page.$.relaunch);
428 return lifetimeBrowserProxy.whenCalled('relaunch'); 433 return lifetimeBrowserProxy.whenCalled('relaunch');
429 }); 434 });
430 }); 435 });
431 436
432 /** 437 /**
433 * Test that buttons update as a result of receiving a 438 * Test that buttons update as a result of receiving a
434 * 'target-channel-changed' event (normally fired from 439 * 'target-channel-changed' event (normally fired from
435 * <settings-channel-switcher-dialog>). 440 * <settings-channel-switcher-dialog>).
436 */ 441 */
437 test('ButtonsUpdate_TargetChannelChangedEvent', function() { 442 test('ButtonsUpdate_TargetChannelChangedEvent', function() {
438 aboutBrowserProxy.setChannels( 443 aboutBrowserProxy.setChannels(
439 BrowserChannel.BETA, BrowserChannel.BETA); 444 BrowserChannel.BETA, BrowserChannel.BETA);
440 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED); 445 aboutBrowserProxy.setUpdateStatus(UpdateStatus.NEARLY_UPDATED);
441 446
442 return initNewPage().then(function() { 447 return initNewPage().then(function() {
443 assertFalse(page.$.relaunchContainer.hidden); 448 assertFalse(page.$.relaunch.hidden);
444 assertTrue(page.$.relaunchAndPowerwash.hidden); 449 assertTrue(page.$.relaunchAndPowerwash.hidden);
445 450
446 page.fire('target-channel-changed', BrowserChannel.DEV); 451 page.fire('target-channel-changed', BrowserChannel.DEV);
447 assertFalse(page.$.relaunchContainer.hidden); 452 assertFalse(page.$.relaunch.hidden);
448 assertTrue(page.$.relaunchAndPowerwash.hidden); 453 assertTrue(page.$.relaunchAndPowerwash.hidden);
449 454
450 page.fire('target-channel-changed', BrowserChannel.STABLE); 455 page.fire('target-channel-changed', BrowserChannel.STABLE);
451 assertTrue(page.$.relaunchContainer.hidden); 456 assertTrue(page.$.relaunch.hidden);
452 assertFalse(page.$.relaunchAndPowerwash.hidden); 457 assertFalse(page.$.relaunchAndPowerwash.hidden);
453 }); 458 });
454 }); 459 });
455 460
456 test('RegulatoryInfo', function() { 461 test('RegulatoryInfo', function() {
457 var regulatoryInfo = null; 462 var regulatoryInfo = null;
458 463
459 /** 464 /**
460 * Checks the visibility of the "regulatory info" section. 465 * Checks the visibility of the "regulatory info" section.
461 * @param {boolean} isShowing Whether the section is expected to be 466 * @param {boolean} isShowing Whether the section is expected to be
(...skipping 25 matching lines...) Expand all
487 }); 492 });
488 }); 493 });
489 } 494 }
490 495
491 if (!cr.isChromeOS) { 496 if (!cr.isChromeOS) {
492 /* 497 /*
493 * Test that the "Relaunch" button updates according to incoming 498 * Test that the "Relaunch" button updates according to incoming
494 * 'update-status-changed' events. 499 * 'update-status-changed' events.
495 */ 500 */
496 test('ButtonsUpdate', function() { 501 test('ButtonsUpdate', function() {
497 var relaunchContainer = page.$.relaunchContainer; 502 var relaunch = page.$.relaunch;
498 assertTrue(!!relaunchContainer); 503 assertTrue(!!relaunch);
499 504
500 fireStatusChanged(UpdateStatus.CHECKING); 505 fireStatusChanged(UpdateStatus.CHECKING);
501 assertTrue(relaunchContainer.hidden); 506 assertTrue(relaunch.hidden);
502 507
503 fireStatusChanged(UpdateStatus.UPDATING); 508 fireStatusChanged(UpdateStatus.UPDATING);
504 assertTrue(relaunchContainer.hidden); 509 assertTrue(relaunch.hidden);
505 510
506 fireStatusChanged(UpdateStatus.NEARLY_UPDATED); 511 fireStatusChanged(UpdateStatus.NEARLY_UPDATED);
507 assertFalse(relaunchContainer.hidden); 512 assertFalse(relaunch.hidden);
508 513
509 fireStatusChanged(UpdateStatus.UPDATED); 514 fireStatusChanged(UpdateStatus.UPDATED);
510 assertTrue(relaunchContainer.hidden); 515 assertTrue(relaunch.hidden);
511 516
512 fireStatusChanged(UpdateStatus.FAILED); 517 fireStatusChanged(UpdateStatus.FAILED);
513 assertTrue(relaunchContainer.hidden); 518 assertTrue(relaunch.hidden);
514 519
515 fireStatusChanged(UpdateStatus.DISABLED); 520 fireStatusChanged(UpdateStatus.DISABLED);
516 assertTrue(relaunchContainer.hidden); 521 assertTrue(relaunch.hidden);
517 522
518 fireStatusChanged(UpdateStatus.DISABLED_BY_ADMIN); 523 fireStatusChanged(UpdateStatus.DISABLED_BY_ADMIN);
519 assertTrue(relaunchContainer.hidden); 524 assertTrue(relaunch.hidden);
520 }); 525 });
521 } 526 }
522 527
523 test('GetHelp', function() { 528 test('GetHelp', function() {
524 assertTrue(!!page.$.help); 529 assertTrue(!!page.$.help);
525 MockInteractions.tap(page.$.help); 530 MockInteractions.tap(page.$.help);
526 return aboutBrowserProxy.whenCalled('openHelpPage'); 531 return aboutBrowserProxy.whenCalled('openHelpPage');
527 }); 532 });
528 }); 533 });
529 } 534 }
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 registerTests: function() { 719 registerTests: function() {
715 if (cr.isChromeOS) { 720 if (cr.isChromeOS) {
716 registerDetailedBuildInfoTests(); 721 registerDetailedBuildInfoTests();
717 registerChannelSwitcherDialogTests(); 722 registerChannelSwitcherDialogTests();
718 } 723 }
719 registerAboutPageTests(); 724 registerAboutPageTests();
720 }, 725 },
721 registerOfficialBuildTests: registerOfficialBuildTests, 726 registerOfficialBuildTests: registerOfficialBuildTests,
722 }; 727 };
723 }); 728 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/about_page/about_page.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698