| Index: chrome/browser/resources/google_now/background_unittest.gtestjs
|
| diff --git a/chrome/browser/resources/google_now/background_unittest.gtestjs b/chrome/browser/resources/google_now/background_unittest.gtestjs
|
| index a837bfe4bf67c7ac720d5da2e6c18b34aefff1c4..0099576f4a1e4c67b983095e34186f27dff82e50 100644
|
| --- a/chrome/browser/resources/google_now/background_unittest.gtestjs
|
| +++ b/chrome/browser/resources/google_now/background_unittest.gtestjs
|
| @@ -51,406 +51,6 @@ TEST_F('GoogleNowBackgroundUnitTest', 'AreTasksConflicting', function() {
|
| testTaskPair(STATE_CHANGED_TASK_NAME, STATE_CHANGED_TASK_NAME, false);
|
| });
|
|
|
| -var testNotificationId = 'TEST GROUP-SOME TEST ID';
|
| -var testChromeNotificationId = 'TEST CARD ID';
|
| -var testNotification1 =
|
| - {testNotificationField: 'TEST NOTIFICATION VALUE1', priority: -1};
|
| -var testNotification2 =
|
| - {testNotificationField: 'TEST NOTIFICATION VALUE2', priority: 0};
|
| -var testActionUrls1 = {testField: 'TEST VALUE1'};
|
| -var testActionUrls2 = {testField: 'TEST VALUE2'};
|
| -var testDismissal1 = {testDismissalField: 'TEST DISMISSAL VALUE 1'};
|
| -var testDismissal2 = {testDismissalField: 'TEST DISMISSAL VALUE 2'};
|
| -var testVersion = 7;
|
| -var testTimestamp1 = 300000;
|
| -var testTimestamp2 = 600000;
|
| -var testGroupRank1 = 19;
|
| -var testGroupRank2 = 23;
|
| -var testTriggerUnmerged = {showTimeSec: 100, hideTimeSec: 200};
|
| -var testTriggerMerged = {showTime: 300007, hideTime: 300011};
|
| -var testVersion1 = 29;
|
| -var testVersion2 = 31;
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeCardsEmptyNoTrigger',
|
| - function() {
|
| - // Tests merging a card with an empty trigger into an 'undefined' merged
|
| - // card. This should start a new card.
|
| -
|
| - // Invoking the tested function.
|
| - var resultingMergedCard = mergeCards(undefined, {
|
| - notificationId: testNotificationId,
|
| - chromeNotificationId: testChromeNotificationId,
|
| - version: testVersion1,
|
| - chromeNotificationOptions: testNotification1,
|
| - actionUrls: testActionUrls1,
|
| - dismissal: testDismissal1
|
| - }, testTimestamp1, testGroupRank1);
|
| -
|
| - // Check the return value.
|
| - assertEquals(
|
| - JSON.stringify({
|
| - dismissals: [
|
| - {
|
| - notificationId: testNotificationId,
|
| - parameters: testDismissal1
|
| - }
|
| - ],
|
| - groupRank: testGroupRank1,
|
| - trigger: {},
|
| - timestamp: testTimestamp1,
|
| - notification: testNotification1,
|
| - actionUrls: testActionUrls1,
|
| - version: testVersion1
|
| - }),
|
| - JSON.stringify(resultingMergedCard));
|
| - });
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeCards1',
|
| - function() {
|
| - // Tests merging a unmerged card into a merged card.
|
| - // Unmerged card priority is greater than merged card one. Unmerged card
|
| - // rank is less than merged card one, and it's older.
|
| -
|
| - // Setup.
|
| - var mergedCard = {
|
| - trigger: testTriggerMerged,
|
| - version: testVersion1,
|
| - timestamp: testTimestamp2,
|
| - notification: testNotification1,
|
| - actionUrls: testActionUrls1,
|
| - groupRank: testGroupRank2,
|
| - dismissals:
|
| - [{notificationId: testNotificationId, parameters: testDismissal1}]
|
| - };
|
| -
|
| - var unmergedNotification = {
|
| - notificationId: testNotificationId,
|
| - chromeNotificationId: testChromeNotificationId,
|
| - version: testVersion2,
|
| - chromeNotificationOptions: testNotification2,
|
| - actionUrls: testActionUrls2,
|
| - dismissal: testDismissal2,
|
| - trigger: testTriggerUnmerged
|
| - };
|
| -
|
| - // Invoking the tested function.
|
| - var resultingMergedCard = mergeCards(
|
| - mergedCard, unmergedNotification, testTimestamp1, testGroupRank1);
|
| -
|
| - // Check the return value.
|
| - assertEquals(
|
| - JSON.stringify({
|
| - trigger: testTriggerMerged,
|
| - version: testVersion1,
|
| - timestamp: testTimestamp2,
|
| - notification: {
|
| - testNotificationField: 'TEST NOTIFICATION VALUE1',
|
| - priority: 0
|
| - },
|
| - actionUrls: testActionUrls1,
|
| - groupRank: testGroupRank2,
|
| - dismissals: [
|
| - {notificationId: testNotificationId, parameters: testDismissal1},
|
| - {notificationId: testNotificationId, parameters: testDismissal2}
|
| - ]
|
| - }),
|
| - JSON.stringify(resultingMergedCard));
|
| - });
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeCards2',
|
| - function() {
|
| - // Tests merging a unmerged card into a merged card.
|
| - // Unmerged card priority is less than merged card one. Unmerged card rank
|
| - // is greater than merged card one, and it's older.
|
| -
|
| - // Setup.
|
| - var mergedCard = {
|
| - trigger: testTriggerMerged,
|
| - version: testVersion1,
|
| - timestamp: testTimestamp2,
|
| - notification: testNotification2,
|
| - actionUrls: testActionUrls1,
|
| - groupRank: testGroupRank1,
|
| - dismissals:
|
| - [{notificationId: testNotificationId, parameters: testDismissal1}]
|
| - };
|
| -
|
| - var unmergedNotification = {
|
| - notificationId: testNotificationId,
|
| - chromeNotificationId: testChromeNotificationId,
|
| - version: testVersion2,
|
| - chromeNotificationOptions: testNotification1,
|
| - actionUrls: testActionUrls2,
|
| - dismissal: testDismissal2,
|
| - trigger: testTriggerUnmerged
|
| - };
|
| -
|
| - // Invoking the tested function.
|
| - var resultingMergedCard = mergeCards(
|
| - mergedCard, unmergedNotification, testTimestamp1, testGroupRank2);
|
| -
|
| - // Check the return value.
|
| - assertEquals(
|
| - JSON.stringify({
|
| - trigger: {showTime: 400000, hideTime: 500000},
|
| - version: testVersion1,
|
| - timestamp: testTimestamp2,
|
| - notification: {
|
| - testNotificationField: 'TEST NOTIFICATION VALUE2',
|
| - priority: 0
|
| - },
|
| - actionUrls: testActionUrls1,
|
| - groupRank: testGroupRank2,
|
| - dismissals: [
|
| - {notificationId: testNotificationId, parameters: testDismissal1},
|
| - {notificationId: testNotificationId, parameters: testDismissal2}
|
| - ]
|
| - }),
|
| - JSON.stringify(resultingMergedCard));
|
| - });
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeCards3',
|
| - function() {
|
| - // Tests merging a unmerged card into a merged card.
|
| - // Unmerged card priority is less than merged card one. Unmerged card rank
|
| - // is less than merged card one, and it's newer.
|
| -
|
| - // Setup.
|
| - var mergedCard = {
|
| - trigger: testTriggerMerged,
|
| - version: testVersion1,
|
| - timestamp: testTimestamp1,
|
| - notification: testNotification2,
|
| - actionUrls: testActionUrls1,
|
| - groupRank: testGroupRank2,
|
| - dismissals:
|
| - [{notificationId: testNotificationId, parameters: testDismissal1}]
|
| - };
|
| -
|
| - var unmergedNotification = {
|
| - notificationId: testNotificationId,
|
| - chromeNotificationId: testChromeNotificationId,
|
| - version: testVersion2,
|
| - chromeNotificationOptions: testNotification1,
|
| - actionUrls: testActionUrls2,
|
| - dismissal: testDismissal2,
|
| - trigger: testTriggerUnmerged
|
| - };
|
| -
|
| - // Invoking the tested function.
|
| - var resultingMergedCard = mergeCards(
|
| - mergedCard, unmergedNotification, testTimestamp2, testGroupRank1);
|
| -
|
| - // Check the return value.
|
| - assertEquals(
|
| - JSON.stringify({
|
| - trigger: testTriggerMerged,
|
| - version: testVersion2,
|
| - timestamp: testTimestamp2,
|
| - notification: {
|
| - testNotificationField: 'TEST NOTIFICATION VALUE1',
|
| - priority: 0
|
| - },
|
| - actionUrls: testActionUrls2,
|
| - groupRank: testGroupRank2,
|
| - dismissals: [
|
| - {notificationId: testNotificationId, parameters: testDismissal1},
|
| - {notificationId: testNotificationId, parameters: testDismissal2}
|
| - ]
|
| - }),
|
| - JSON.stringify(resultingMergedCard));
|
| - });
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeGroup',
|
| - function() {
|
| - // Tests mergeGroup method.
|
| -
|
| - // Setup.
|
| - this.makeAndRegisterMockGlobals(['mergeCards']);
|
| -
|
| - this.mockGlobals.expects(once()).
|
| - mergeCards(
|
| - undefined,
|
| - eqJSON({chromeNotificationId: 'ID 1', testField: 'TEST_FIELD1'}),
|
| - 300000,
|
| - 17).
|
| - will(returnValue({testField: 'RESULT 1'}));
|
| - this.mockGlobals.expects(once()).
|
| - mergeCards(
|
| - eqJSON({testField: 'TEST_FIELD22'}),
|
| - eqJSON({chromeNotificationId: 'ID 2', testField: 'TEST_FIELD2'}),
|
| - 300000,
|
| - 17).
|
| - will(returnValue({testField: 'RESULT 2'}));
|
| -
|
| - var group = {
|
| - cards: [
|
| - {chromeNotificationId: 'ID 1', testField: 'TEST_FIELD1'},
|
| - {chromeNotificationId: 'ID 2', testField: 'TEST_FIELD2'}
|
| - ],
|
| - cardsTimestamp: 300000,
|
| - nextPollTime: 600000,
|
| - rank: 17
|
| - };
|
| -
|
| - var mergedCards = {
|
| - 'ID 2': { testField: 'TEST_FIELD22' },
|
| - 'ID 3': { testField: 'TEST_FIELD3' }
|
| - };
|
| -
|
| - // Invoking the tested function.
|
| - mergeGroup(mergedCards, group);
|
| -
|
| - // Check the output parameter.
|
| - assertEquals(
|
| - JSON.stringify({
|
| - 'ID 2': { testField: 'RESULT 2' },
|
| - 'ID 3': { testField: 'TEST_FIELD3'},
|
| - 'ID 1': { testField: 'RESULT 1' }}),
|
| - JSON.stringify(mergedCards));
|
| - });
|
| -
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'MergeAndShowNotificationCards',
|
| - function() {
|
| - // Tests mergeAndShowNotificationCards function.
|
| - // The test passes 2 groups to mergeAndShowNotificationCards, checks that
|
| - // it calls mergeGroup() for each of these groups and calls
|
| - // showNotificationCards() with the results of these mergeGroup() calls.
|
| -
|
| - // Setup and expectations.
|
| - var testGroups = {
|
| - 'TEST GROUP 1': {testField: 'TEST VALUE 1'},
|
| - 'TEST GROUP 2': {testField: 'TEST VALUE 2'}
|
| - };
|
| -
|
| - this.makeAndRegisterMockGlobals(['mergeGroup', 'showNotificationCards']);
|
| -
|
| - var mergeGroupSavedArgs = new SaveMockArguments();
|
| - this.mockGlobals.expects(once()).
|
| - mergeGroup(
|
| - mergeGroupSavedArgs.match(eqJSON({})),
|
| - mergeGroupSavedArgs.match(eqJSON({testField: 'TEST VALUE 1'}))).
|
| - will(callFunction(function() {
|
| - mergeGroupSavedArgs.arguments[0].card1 = {
|
| - testValue: 'TEST CARD VALUE 1'
|
| - };
|
| - }));
|
| - this.mockGlobals.expects(once()).
|
| - mergeGroup(
|
| - mergeGroupSavedArgs.match(
|
| - eqJSON({card1: {testValue: 'TEST CARD VALUE 1'}})),
|
| - mergeGroupSavedArgs.match(
|
| - eqJSON({testField: 'TEST VALUE 2'}))).
|
| - will(callFunction(function() {
|
| - mergeGroupSavedArgs.arguments[0].card2 = {
|
| - testValue: 'TEST CARD VALUE 2'
|
| - };
|
| - }));
|
| - this.mockGlobals.expects(once()).
|
| - showNotificationCards(
|
| - eqJSON({
|
| - card1: {testValue: 'TEST CARD VALUE 1'},
|
| - card2: {testValue: 'TEST CARD VALUE 2'}
|
| - }),
|
| - ANYTHING);
|
| -
|
| - // Invoking the tested function.
|
| - mergeAndShowNotificationCards(testGroups, function() {});
|
| - });
|
| -
|
| -// TODO(vadimt): Add more tests for parseAndShowNotificationCards().
|
| -TEST_F(
|
| - 'GoogleNowBackgroundUnitTest',
|
| - 'ParseAndShowNotificationCardsAdd1Remove1',
|
| - function() {
|
| - // Tests parseAndShowNotificationCards function for the case when the
|
| - // extension has 2 groups, and the server sends update with 2 groups, one
|
| - // of which is new, and another one matches a stored group. The client
|
| - // has to delete the group that didn't receive an update, keep the
|
| - // existing group that received an update, and add a new stored group for
|
| - // the new group from the server.
|
| -
|
| - // Setup and expectations.
|
| - var serverResponse = {
|
| - groups: {
|
| - GROUP1: {},
|
| - GROUP2: {}
|
| - }
|
| - };
|
| -
|
| - var storedGroups = {
|
| - GROUP2: {
|
| - cards: ['c2'],
|
| - cardsTimestamp: 239,
|
| - nextPollTime: 10000,
|
| - rank: 1
|
| - },
|
| - GROUP3: {
|
| - cards: ['c3'],
|
| - cardsTimestamp: 240,
|
| - nextPollTime: 10001,
|
| - rank: 2
|
| - }
|
| - };
|
| -
|
| - var expectedUpdatedGroups = {
|
| - GROUP1: {
|
| - cards: []
|
| - },
|
| - GROUP2: {
|
| - cards: ['c2'],
|
| - cardsTimestamp: 239,
|
| - nextPollTime: 10000,
|
| - rank: 1
|
| - }
|
| - };
|
| -
|
| - this.makeAndRegisterMockGlobals(
|
| - ['scheduleNextPoll', 'mergeAndShowNotificationCards', 'recordEvent']);
|
| -
|
| - this.makeAndRegisterMockApis([
|
| - 'chrome.storage.local.set',
|
| - 'instrumented.storage.local.get'
|
| - ]);
|
| -
|
| - var storageGetSavedArgs = new SaveMockArguments();
|
| - this.mockApis.expects(once()).
|
| - instrumented_storage_local_get(
|
| - storageGetSavedArgs.match(eq('notificationGroups')),
|
| - storageGetSavedArgs.match(ANYTHING)).
|
| - will(invokeCallback(
|
| - storageGetSavedArgs, 1, {notificationGroups: storedGroups}));
|
| -
|
| - this.mockGlobals.expects(once()).
|
| - scheduleNextPoll(eqJSON(expectedUpdatedGroups), true);
|
| -
|
| - this.mockApis.expects(once()).
|
| - chrome_storage_local_set(
|
| - eqJSON({notificationGroups: expectedUpdatedGroups}));
|
| -
|
| - this.mockGlobals.expects(once()).
|
| - mergeAndShowNotificationCards(
|
| - eqJSON(expectedUpdatedGroups), ANYTHING);
|
| -
|
| - this.mockGlobals.expects(once()).
|
| - recordEvent(GoogleNowEvent.CARDS_PARSE_SUCCESS);
|
| -
|
| - // Invoking the tested function.
|
| - parseAndShowNotificationCards(JSON.stringify(serverResponse));
|
| - });
|
| -
|
| /**
|
| * Mocks global functions and APIs that initialize() depends upon.
|
| * @param {Test} fixture Test fixture.
|
|
|