| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 /** | 5 /** |
| 6 * Test fixture for cards.js. | 6 * Test fixture for cards.js. |
| 7 * @constructor | 7 * @constructor |
| 8 * @extends {testing.Test} | 8 * @extends {testing.Test} |
| 9 */ | 9 */ |
| 10 function GoogleNowCardsUnitTest () { | 10 function GoogleNowCardsUnitTest () { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 var testDismissalB = {testDismissalField: 'TEST DISMISSAL VALUE B'}; | 46 var testDismissalB = {testDismissalField: 'TEST DISMISSAL VALUE B'}; |
| 47 var EXPLANATORY_CARDS_LINK_THRESHOLD = 4; | 47 var EXPLANATORY_CARDS_LINK_THRESHOLD = 4; |
| 48 var localStorage = {explanatoryCardsShown: 0}; | 48 var localStorage = {explanatoryCardsShown: 0}; |
| 49 var notificationUpdateSuccessful = true; | 49 var notificationUpdateSuccessful = true; |
| 50 var notificationUpdateFailed = false; | 50 var notificationUpdateFailed = false; |
| 51 | 51 |
| 52 function setUpCardManagerTest(fixture) { | 52 function setUpCardManagerTest(fixture) { |
| 53 fixture.makeAndRegisterMockApis([ | 53 fixture.makeAndRegisterMockApis([ |
| 54 'chrome.alarms.clear', | 54 'chrome.alarms.clear', |
| 55 'chrome.alarms.create', | 55 'chrome.alarms.create', |
| 56 'instrumented.notifications.clear', | |
| 57 'chrome.storage.local.set', | 56 'chrome.storage.local.set', |
| 58 'countExplanatoryCard', | 57 'countExplanatoryCard', |
| 58 'fillFromChromeLocalStorage', |
| 59 'instrumented.alarms.onAlarm.addListener', | 59 'instrumented.alarms.onAlarm.addListener', |
| 60 'instrumented.notifications.clear', |
| 60 'instrumented.notifications.create', | 61 'instrumented.notifications.create', |
| 61 'instrumented.notifications.update', | 62 'instrumented.notifications.update', |
| 62 'instrumented.storage.local.get', | |
| 63 'tasks.add' | 63 'tasks.add' |
| 64 ]); | 64 ]); |
| 65 | 65 |
| 66 chrome.runtime = {}; // No error. | 66 chrome.runtime = {}; // No error. |
| 67 | 67 |
| 68 var onAlarmSavedArgs = new SaveMockArguments(); | 68 var onAlarmSavedArgs = new SaveMockArguments(); |
| 69 fixture.mockApis.expects(once()). | 69 fixture.mockApis.expects(once()). |
| 70 instrumented_alarms_onAlarm_addListener( | 70 instrumented_alarms_onAlarm_addListener( |
| 71 onAlarmSavedArgs.match(ANYTHING)); | 71 onAlarmSavedArgs.match(ANYTHING)); |
| 72 | 72 |
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 }; | 503 }; |
| 504 | 504 |
| 505 // Setup and expectations. | 505 // Setup and expectations. |
| 506 var test = setUpCardManagerTest(this); | 506 var test = setUpCardManagerTest(this); |
| 507 var tasksAddSavedArgs = new SaveMockArguments(); | 507 var tasksAddSavedArgs = new SaveMockArguments(); |
| 508 this.mockApis.expects(once()). | 508 this.mockApis.expects(once()). |
| 509 tasks_add( | 509 tasks_add( |
| 510 tasksAddSavedArgs.match(eq(UPDATE_CARD_TASK_NAME)), | 510 tasksAddSavedArgs.match(eq(UPDATE_CARD_TASK_NAME)), |
| 511 tasksAddSavedArgs.match(ANYTHING)). | 511 tasksAddSavedArgs.match(ANYTHING)). |
| 512 will(invokeCallback(tasksAddSavedArgs,1)); | 512 will(invokeCallback(tasksAddSavedArgs,1)); |
| 513 var storageGetSavedArgs = new SaveMockArguments(); | 513 expectChromeLocalStorageGet( |
| 514 this.mockApis.expects(once()). | 514 this, |
| 515 instrumented_storage_local_get( | 515 { |
| 516 storageGetSavedArgs.match( | 516 notificationsData: {}, |
| 517 eqJSON(['notificationsData', 'notificationGroups'])), | 517 notificationGroups: {} |
| 518 storageGetSavedArgs.match(ANYTHING)). | 518 }, |
| 519 will(invokeCallback( | 519 { |
| 520 storageGetSavedArgs, | 520 notificationsData: { |
| 521 1, | 521 'TEST CARD ID': { |
| 522 { | 522 actionUrls: testActionUrlsA, |
| 523 notificationsData: { | 523 timestamp: 299998, |
| 524 'TEST CARD ID': { | 524 combinedCard: [testUncombinedNotification] |
| 525 actionUrls: testActionUrlsA, | 525 }, |
| 526 timestamp: 299998, | 526 'TEST CARD ID 1': {testField: 'TEST VALUE 1'} |
| 527 combinedCard: [testUncombinedNotification] | 527 }, |
| 528 }, | 528 notificationGroups: { |
| 529 'TEST CARD ID 1': {testField: 'TEST VALUE 1'} | 529 A: { |
| 530 }, | 530 cards: [ |
| 531 notificationGroups: { | 531 {chromeNotificationId: 'ID1'}, |
| 532 A: { | 532 {chromeNotificationId: testCardId} |
| 533 cards: [ | 533 ] |
| 534 {chromeNotificationId: 'ID1'}, | 534 }, |
| 535 {chromeNotificationId: testCardId} | 535 B: { |
| 536 ] | 536 cards: [ |
| 537 }, | 537 {chromeNotificationId: testCardId}, |
| 538 B: { | 538 {chromeNotificationId: 'ID2'} |
| 539 cards: [ | 539 ] |
| 540 {chromeNotificationId: testCardId}, | 540 }}}); |
| 541 {chromeNotificationId: 'ID2'} | |
| 542 ] | |
| 543 }}})); | |
| 544 this.mockApis.expects(once()). | 541 this.mockApis.expects(once()). |
| 545 instrumented_notifications_clear(testCardId, ANYTHING); | 542 instrumented_notifications_clear(testCardId, ANYTHING); |
| 546 this.mockApis.expects(once()). | 543 this.mockApis.expects(once()). |
| 547 chrome_alarms_clear(expectedAlarmId); | 544 chrome_alarms_clear(expectedAlarmId); |
| 548 this.mockApis.expects(once()). | 545 this.mockApis.expects(once()). |
| 549 chrome_storage_local_set(eqJSON({ | 546 chrome_storage_local_set(eqJSON({ |
| 550 notificationsData: { | 547 notificationsData: { |
| 551 'TEST CARD ID 1': {testField: 'TEST VALUE 1'} | 548 'TEST CARD ID 1': {testField: 'TEST VALUE 1'} |
| 552 }, | 549 }, |
| 553 notificationGroups: { | 550 notificationGroups: { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 578 }; | 575 }; |
| 579 | 576 |
| 580 // Setup and expectations. | 577 // Setup and expectations. |
| 581 var test = setUpCardManagerTest(this); | 578 var test = setUpCardManagerTest(this); |
| 582 var tasksAddSavedArgs = new SaveMockArguments(); | 579 var tasksAddSavedArgs = new SaveMockArguments(); |
| 583 this.mockApis.expects(once()). | 580 this.mockApis.expects(once()). |
| 584 tasks_add( | 581 tasks_add( |
| 585 tasksAddSavedArgs.match(eq(UPDATE_CARD_TASK_NAME)), | 582 tasksAddSavedArgs.match(eq(UPDATE_CARD_TASK_NAME)), |
| 586 tasksAddSavedArgs.match(ANYTHING)). | 583 tasksAddSavedArgs.match(ANYTHING)). |
| 587 will(invokeCallback(tasksAddSavedArgs,1)); | 584 will(invokeCallback(tasksAddSavedArgs,1)); |
| 588 var storageGetSavedArgs = new SaveMockArguments(); | 585 expectChromeLocalStorageGet( |
| 589 this.mockApis.expects(once()). | 586 this, |
| 590 instrumented_storage_local_get( | 587 { |
| 591 storageGetSavedArgs.match( | 588 notificationsData: {}, |
| 592 eqJSON(['notificationsData', 'notificationGroups'])), | 589 notificationGroups: {} |
| 593 storageGetSavedArgs.match(ANYTHING)). | 590 }, |
| 594 will(invokeCallback( | 591 { |
| 595 storageGetSavedArgs, | 592 notificationsData: { |
| 596 1, | 593 'TEST CARD ID': { |
| 597 { | 594 actionUrls: testActionUrlsA, |
| 598 notificationsData: { | 595 timestamp: 299998, |
| 599 'TEST CARD ID': { | 596 combinedCard: [testUncombinedNotification] |
| 600 actionUrls: testActionUrlsA, | 597 }}, |
| 601 timestamp: 299998, | 598 notificationGroups: {} |
| 602 combinedCard: [testUncombinedNotification] | 599 }); |
| 603 }}})); | |
| 604 this.mockApis.expects(once()). | 600 this.mockApis.expects(once()). |
| 605 chrome_alarms_clear(expectedAlarmId); | 601 chrome_alarms_clear(expectedAlarmId); |
| 606 var chromeNotificationsUpdateSavedArgs = new SaveMockArguments(); | 602 var chromeNotificationsUpdateSavedArgs = new SaveMockArguments(); |
| 607 this.mockApis.expects(once()). | 603 this.mockApis.expects(once()). |
| 608 instrumented_notifications_update( | 604 instrumented_notifications_update( |
| 609 chromeNotificationsUpdateSavedArgs.match(eq(testCardId)), | 605 chromeNotificationsUpdateSavedArgs.match(eq(testCardId)), |
| 610 chromeNotificationsUpdateSavedArgs.match(eqJSON(testNotificationA)), | 606 chromeNotificationsUpdateSavedArgs.match(eqJSON(testNotificationA)), |
| 611 chromeNotificationsUpdateSavedArgs.match(ANYTHING)). | 607 chromeNotificationsUpdateSavedArgs.match(ANYTHING)). |
| 612 will(invokeCallback( | 608 will(invokeCallback( |
| 613 chromeNotificationsUpdateSavedArgs, 2, notificationUpdateSuccessful)); | 609 chromeNotificationsUpdateSavedArgs, 2, notificationUpdateSuccessful)); |
| 614 this.mockApis.expects(once()). | 610 this.mockApis.expects(once()). |
| 615 chrome_alarms_create(expectedAlarmId, eqJSON({when: 300001})); | 611 chrome_alarms_create(expectedAlarmId, eqJSON({when: 300001})); |
| 616 this.mockApis.expects(once()). | 612 this.mockApis.expects(once()). |
| 617 chrome_storage_local_set(eqJSON({ | 613 chrome_storage_local_set(eqJSON({ |
| 618 notificationsData: { | 614 notificationsData: { |
| 619 'TEST CARD ID': { | 615 'TEST CARD ID': { |
| 620 actionUrls: testActionUrlsA, | 616 actionUrls: testActionUrlsA, |
| 621 timestamp: 300000, | 617 timestamp: 300000, |
| 622 combinedCard: [testUncombinedNotification] | 618 combinedCard: [testUncombinedNotification] |
| 623 } | 619 } |
| 624 }, | 620 }, |
| 625 notificationGroups: { | 621 notificationGroups: { |
| 626 }})); | 622 }})); |
| 627 | 623 |
| 628 // Call tested method. | 624 // Call tested method. |
| 629 test.alarmCallback({name: expectedAlarmId}); | 625 test.alarmCallback({name: expectedAlarmId}); |
| 630 }); | 626 }); |
| OLD | NEW |