| Index: trunk/src/chrome/test/data/extensions/api_test/notifications/api/partial_update/background.js
|
| ===================================================================
|
| --- trunk/src/chrome/test/data/extensions/api_test/notifications/api/partial_update/background.js (revision 272269)
|
| +++ trunk/src/chrome/test/data/extensions/api_test/notifications/api/partial_update/background.js (working copy)
|
| @@ -1,141 +0,0 @@
|
| -// Copyright 2014 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.
|
| -
|
| -const notifications = chrome.notifications;
|
| -
|
| -function arrayEquals(a, b) {
|
| - if (a === b) return true;
|
| - if (a == null || b == null) return false;
|
| - if (a.length !== b.length) return false;
|
| -
|
| - for (var i = 0; i < a.length; i++) {
|
| - if (a[i] !== b[i]) return false;
|
| - }
|
| - return true;
|
| -};
|
| -
|
| -function create(id, options) {
|
| - return new Promise(function (resolve, reject) {
|
| - notifications.create(id, options, function (id) {
|
| - if (chrome.runtime.lastError) {
|
| - reject(new Error("Unable to create notification"));
|
| - return;
|
| - }
|
| - console.log("Created with id: " + id);
|
| - resolve(id);
|
| - return;
|
| - });
|
| - });
|
| -};
|
| -
|
| -function update(id, options) {
|
| - return new Promise(function (resolve, reject) {
|
| - notifications.update(id, options, function (ok) {
|
| - if (chrome.runtime.lastError || !ok) {
|
| - reject(new Error("Unable to update notification"));
|
| - return;
|
| - }
|
| - console.log("Updated id: ", id);
|
| - resolve(ok);
|
| - return;
|
| - });
|
| - });
|
| -}
|
| -
|
| -function clear(id) {
|
| - return new Promise(function (resolve, reject) {
|
| - notifications.clear(id, function (ok) {
|
| - if (chrome.runtime.lastError || !ok) {
|
| - reject(new Error("Unable to clear notification"));
|
| - return;
|
| - }
|
| - resolve(ok);
|
| - return;
|
| - });
|
| - });
|
| -}
|
| -
|
| -function getAll() {
|
| - return new Promise(function (resolve, reject) {
|
| - notifications.getAll(function (ids) {
|
| - if (chrome.runtime.lastError) {
|
| - reject(new Error(chrome.runtime.lastError.message));
|
| - return;
|
| - }
|
| -
|
| - if (ids === undefined) {
|
| - resolve([]);
|
| - return
|
| - }
|
| -
|
| - var id_list = Object.keys(ids);
|
| - resolve(id_list);
|
| - });
|
| - });
|
| -}
|
| -
|
| -function clearAll() {
|
| - return getAll().then(function (ids) {
|
| - var idPromises = ids.map(function (id) { return clear(id); });
|
| - return Promise.all(idPromises);
|
| - });
|
| -}
|
| -
|
| -function succeedTest(testName) {
|
| - return function () {
|
| - return clearAll().then(
|
| - function () { chrome.test.succeed(testName); },
|
| - function (error) {
|
| - console.log("Unknown error in clearAll: " +
|
| - JSON.stringify(arguments));
|
| - });
|
| - };
|
| -}
|
| -
|
| -function failTest(testName) {
|
| - return function () {
|
| - return clearAll().then(
|
| - function () { chrome.test.fail(testName); },
|
| - function (error) {
|
| - console.log("Unknown error in clearAll: " +
|
| - JSON.stringify(error.message));
|
| - });
|
| - };
|
| -}
|
| -
|
| -function testPartialUpdate() {
|
| - var testName = "testPartialUpdate";
|
| - console.log("Starting " + testName);
|
| - var succeed = succeedTest(testName);
|
| - var fail = failTest(testName);
|
| -
|
| - const red_dot = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA" +
|
| - "AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO" +
|
| - "9TXL0Y4OHwAAAABJRU5ErkJggg==";
|
| -
|
| - var basicNotificationOptions = {
|
| - type: "basic",
|
| - title: "Basic title",
|
| - message: "Basic message",
|
| - iconUrl: red_dot,
|
| - buttons: [{title: "Button"}]
|
| - };
|
| -
|
| - // Create a notification.
|
| - create("testId", basicNotificationOptions)
|
| - // Then update a few items
|
| - .then(function () {
|
| - return update("testId", {
|
| - title: "Changed!",
|
| - message: "Too late! The show ended yesterday"
|
| - });
|
| - })
|
| - // Then update a few more items
|
| - .then(function () { return update("testId", {priority:2, buttons: []}); })
|
| - // The test will continue in C++, checking that all the updates "took"
|
| - .then(chrome.test.succeed, chrome.test.fail);
|
| -};
|
| -
|
| -
|
| -chrome.test.runTests([testPartialUpdate]);
|
|
|