// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /** * Test fixture for cards.js. * @constructor * @extends {testing.Test} */ function GoogleNowCardsUnitTest () { testing.Test.call(this); } GoogleNowCardsUnitTest.prototype = { __proto__: testing.Test.prototype, /** @override */ extraLibraries: [ 'cards.js' ] }; var testCardId = 'TEST CARD ID'; var testNotification = {testNotificationField: 'TEST NOTIFICATION VALUE'}; var expectedShowAlarmId = 'card-show-TEST CARD ID'; var expectedHideAlarmId = 'card-hide-TEST CARD ID'; var testActionUrls = {testField: 'TEST VALUE'}; var testDismissals = [ {testDismissalField: 'TEST DISMISSAL VALUE 1'}, {testDismissalField: 'TEST DISMISSAL VALUE 2'} ]; var testGroupRank = 271; var LOCATION_CARDS_LINK_THRESHOLD = 10; var localStorage = {locationCardsShown: 0}; function setUpCardManagerTest(fixture) { fixture.makeAndRegisterMockApis([ 'chrome.alarms.clear', 'chrome.alarms.create', 'chrome.notifications.clear', 'chrome.storage.local.set', 'countLocationCard', 'instrumented.alarms.onAlarm.addListener', 'instrumented.notifications.create', 'instrumented.notifications.update', 'instrumented.storage.local.get', 'tasks.add' ]); chrome.runtime = {}; // No error. var onAlarmSavedArgs = new SaveMockArguments(); fixture.mockApis.expects(once()). instrumented_alarms_onAlarm_addListener( onAlarmSavedArgs.match(ANYTHING)); var cardSet = buildCardSet(); Mock4JS.verifyAllMocks(); Date.now = function() { return 300000; }; var test = { cardSet: cardSet, alarmCallback: onAlarmSavedArgs.arguments [0] }; return test; } TEST_F('GoogleNowCardsUnitTest', 'BuildCardManager', function() { // Tests that buildCardSet() call completes with no problems. var test = setUpCardManagerTest(this); assertEquals('object', typeof test.cardSet); assertEquals('function', typeof test.alarmCallback); }); TEST_F('GoogleNowCardsUnitTest', 'onAlarmUnrecognized', function() { // Tests onAlarm does nothing on an unrelated alarm. var test = setUpCardManagerTest(this); // Call tested method. test.alarmCallback({name: 'unrelated'}); });