Build also gdata-provider as xpi file
authorCarsten Schoenert <c.schoenert@t-online.de>
Sat, 30 Jun 2018 09:09:53 +0000 (11:09 +0200)
committerCarsten Schoenert <c.schoenert@t-online.de>
Wed, 27 Mar 2019 17:22:51 +0000 (17:22 +0000)
https://bugzilla.mozilla.org/show_bug.cgi?id=1471326

Gbp-Pq: Topic fixes
Gbp-Pq: Name Build-also-gdata-provider-as-xpi-file.patch

comm/calendar/lightning/versions.mk
comm/calendar/providers/gdata/Makefile.in
comm/calendar/providers/gdata/moz.build
comm/calendar/test/unit/test_gdata_provider.js
comm/calendar/test/unit/xpcshell-shared.ini
comm/mail/app.mozbuild

index 5ecbb39f3c00463d93770711b1d1b1eef5841370..a7f7c95a50acaf0f48c83e815a07ab6c192c54ca 100644 (file)
@@ -12,8 +12,6 @@ else
 LIGHTNING_VERSION := $(shell $(PYTHON) $(commtopsrcdir)/calendar/lightning/build/makeversion.py $(word 1,$(MOZ_PKG_VERSION) $(THUNDERBIRD_VERSION)))
 endif
 
-#GDATA_VERSION := $(shell $(PYTHON) $(commtopsrcdir)/calendar/providers/gdata/makeversion.py $(LIGHTNING_VERSION))
-
 # For extensions we require a max version that is compatible across security releases.
 # THUNDERBIRD_MAXVERSION and SEAMONKEY_MAXVERSION is our method for doing that.
 # Alpha versions 10.0a1 and 10.0a2 aren't affected
index 647cc3fdbb18372a2660fb4beed0067f5ff2c02f..c8db78a9961a5f290391068d845acf99536f8eca 100644 (file)
@@ -2,32 +2,24 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-XPI_PKGNAME = gdata-provider-$(GDATA_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
-XPI_VERSION = $(GDATA_VERSION)
+XPI_NAME = gdata-provider
+XPI_PKGNAME = gdata-provider-$(GDATA_VERSION).$(AB_CD)
 XPI_EM_ID = {a62ef8ec-5fdc-40c2-873c-223b8a6925cc}
 XPI_INSTALL_EXTENSION = $(XPI_EM_ID)
 
-DEFINES += -DLIGHTNING_VERSION=$(LIGHTNING_VERSION) \
-           -DSEAMONKEY_VERSION=$(SEAMONKEY_VERSION) \
-           -DTHUNDERBIRD_VERSION=$(THUNDERBIRD_VERSION) \
-           -DCOMM_BUILD=$(COMM_BUILD) \
-           -DGDATA_VERSION=$(GDATA_VERSION) \
-           $(NULL)
-
-ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
-# If the macbundle dist dir was already created, sync the gdata provider here to avoid
-# the need to make -C objdir/mail/app each time
-tools repackage::
-       [ -d $(DIST)/$(MOZ_MACBUNDLE_NAME) ] && rsync -a $(FINAL_TARGET)/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/extensions/$(XPI_EM_ID) || true
+ifdef MOZ_SUITE
+LIGHTNING_VERSION := $(shell $(PYTHON) $(commtopsrcdir)/calendar/lightning/build/makeversion.py $(THUNDERBIRD_VERSION))
+else
+LIGHTNING_VERSION := $(shell $(PYTHON) $(commtopsrcdir)/calendar/lightning/build/makeversion.py $(word 1,$(MOZ_PKG_VERSION) $(THUNDERBIRD_VERSION)))
 endif
 
-# stage the extension for use in packaged tests
-PKG_STAGE = $(DIST)/test-stage
+GDATA_VERSION := $(shell $(PYTHON) $(commtopsrcdir)/calendar/providers/gdata/makeversion.py $(LIGHTNING_VERSION))
+THUNDERBIRD_VERSION := $(shell cat $(commtopsrcdir)/mail/config/version.txt)
+SEAMONKEY_VERSION := $(shell cat $(commtopsrcdir)/suite/config/version.txt)
 
-stage-package:
-       $(NSINSTALL) -D $(PKG_STAGE)/extensions/$(XPI_EM_ID)
-       (cd $(FINAL_TARGET) && tar $(TAR_CREATE_FLAGS) - *) | (cd $(PKG_STAGE)/extensions/$(XPI_EM_ID) && tar -xf -)
+DEFINES += -DSEAMONKEY_VERSION=$(SEAMONKEY_VERSION) \
+           -DTHUNDERBIRD_VERSION=$(THUNDERBIRD_VERSION) \
+           -DGDATA_VERSION=$(GDATA_VERSION) \
+           $(NULL)
 
-include $(moztopsrcdir)/config/rules.mk
-include $(commtopsrcdir)/calendar/lightning/versions.mk
 include $(commtopsrcdir)/calendar/lightning/lightning-packager.mk
index 3460ac8b220c337717bee44016e48da1d477ee7c..45a12edca2e0b889e91d4fe964be279d30a7d0fa 100644 (file)
@@ -4,6 +4,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 XPI_NAME = 'gdata-provider'
+export('XPI_NAME')
 
 FINAL_TARGET_PP_FILES += ['install.rdf']
 
@@ -26,6 +27,9 @@ EXTRA_COMPONENTS += [
     'components/calGoogleCalendar.manifest',
 ]
 
+USE_EXTENSION_MANIFEST = True
+export('USE_EXTENSION_MANIFEST')
+
 JAR_MANIFESTS += ['jar.mn']
 
 JS_PREFERENCE_FILES += [
index c9e264192f883fa154eca3f5d4968e168cf304d2..1118501963f892b055030806efcc1eac3561e13c 100644 (file)
@@ -508,7 +508,7 @@ function run_test() {
     });
 }
 
-add_task(function* test_migrate_cache() {
+add_task(async function test_migrate_cache() {
     let uriString = "googleapi://xpcshell/?calendar=xpcshell%40example.com";
     let uri = Services.io.newURI(uriString);
     let client = cal.getCalendarManager().createCalendar("gdata", uri);
@@ -520,26 +520,26 @@ add_task(function* test_migrate_cache() {
     });
 
     // No version, should not reset
-    equal(yield migrateStorageCache(), false);
+    equal(await migrateStorageCache(), false);
     equal(client.getProperty("cache.version"), 3);
 
     // Check migrate 1 -> 2
     unwrapped.CACHE_DB_VERSION = 2;
     client.setProperty("cache.version", 1);
-    equal(yield migrateStorageCache(), true);
+    equal(await migrateStorageCache(), true);
     equal(client.getProperty("cache.version"), 2);
 
     // Check migrate 2 -> 3 normal calendar
     unwrapped.CACHE_DB_VERSION = 3;
     client.setProperty("cache.version", 2);
-    equal(yield migrateStorageCache(), false);
+    equal(await migrateStorageCache(), false);
 
     // Check migrate 2 -> 3 birthday calendar
     unwrapped.CACHE_DB_VERSION = 3;
     uri = "googleapi://xpcshell/?calendar=%23contacts%40group.v.calendar.google.com";
     unwrapped.uri = Services.io.newURI(uri);
     client.setProperty("cache.version", 2);
-    equal(yield migrateStorageCache(), true);
+    equal(await migrateStorageCache(), true);
 });
 
 add_test(function test_migrate_uri() {
@@ -573,7 +573,7 @@ add_test(function test_migrate_uri() {
     run_next_test();
 });
 
-add_task(function* test_dateToJSON() {
+add_task(async function test_dateToJSON() {
     function _createDateTime(tzid, offset=0) {
         let offsetFrom = offset <= 0 ? "-0" + (offset - 1) : "+0" + (offset - 1) + "00";
         let offsetTo = "+0" + offset + "00";
@@ -672,7 +672,7 @@ add_task(function* test_dateToJSON() {
     deepEqual(dateToJSON(date), { date: "2015-01-30" });
 });
 
-add_task(function* test_JSONToDate() {
+add_task(async function test_JSONToDate() {
     function convert(aEntry, aTimezone="Europe/Berlin") {
         let tzs = cal.getTimezoneService();
         let calendarTz = tzs.getTimezone(aTimezone);
@@ -716,9 +716,9 @@ add_task(function* test_JSONToDate() {
     equal(convert({ dateTime: "2015-01-02T03:04:05+05:00" }), "20150102T030405 in Antarctica/Mawson");
 });
 
-add_task(function* test_organizerCN() {
+add_task(async function test_organizerCN() {
     gServer.events = [];
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     equal(client.getProperty("organizerCN"), null);
     gServer.resetClient(client);
 
@@ -735,12 +735,12 @@ add_task(function* test_organizerCN() {
         end: { dateTime: "2006-06-10T20:00:00+02:00" },
         iCalUID: "go6ijb0b46hlpbu4eeu92njevo@google.com"
     }];
-    client = yield gServer.getClient();
+    client = await gServer.getClient();
     equal(client.getProperty("organizerCN"), gServer.creator.displayName);
     gServer.resetClient(client);
 });
 
-add_task(function* test_always_readOnly() {
+add_task(async function test_always_readOnly() {
     gServer.events = [{
         kind: "calendar#event",
         etag: "\"2299601498276000\"",
@@ -755,26 +755,26 @@ add_task(function* test_always_readOnly() {
         iCalUID: "go6ijb0b46hlpbu4eeu92njevo@google.com"
     }];
     gServer.calendarListData.accessRole = "freeBusyReader";
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client);
     ok(client.readOnly);
     client.readOnly = false;
     ok(client.readOnly);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 1);
     notEqual(items[0].title, "New Event");
     gServer.resetClient(client);
 
     gServer.calendarListData.accessRole = "reader";
-    client = yield gServer.getClient();
+    client = await gServer.getClient();
     ok(client.readOnly);
     client.readOnly = false;
     ok(client.readOnly);
     gServer.resetClient(client);
 });
 
-add_task(function* test_reset_sync() {
+add_task(async function test_reset_sync() {
     gServer.tasks = [{
         kind: "tasks#task",
         id: "MTEyMDE2MDE5NzE0NjYzMDk4ODI6MDo0MDI1NDg2NjU",
@@ -819,18 +819,18 @@ add_task(function* test_reset_sync() {
         end: { dateTime: "2006-06-10T20:00:00+02:00" },
         iCalUID: "fepf8uf6n7n04w7feukucs9n8e@google.com"
     }];
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let uncached = client.wrappedJSObject.mUncachedCalendar.wrappedJSObject;
     let pclient = cal.async.promisifyCalendar(client);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 4);
 
     notEqual(client.getProperty("syncToken.events"), "");
     notEqual(client.getProperty("lastUpdated.tasks"), "");
 
-    yield uncached.resetSync();
-    items = yield pclient.getAllItems();
+    await uncached.resetSync();
+    items = await pclient.getAllItems();
     equal(items.length, 0);
 
     equal(client.getProperty("syncToken.events"), "");
@@ -839,7 +839,7 @@ add_task(function* test_reset_sync() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_basicItems() {
+add_task(async function test_basicItems() {
     gServer.events = [{
         kind: "calendar#event",
         etag: "\"2299601498276000\"",
@@ -903,10 +903,10 @@ add_task(function* test_basicItems() {
         }]
     }];
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 2);
 
     let event = cal.item.isEvent(items[0]) ? items[0] : items[1];
@@ -965,8 +965,8 @@ add_task(function* test_basicItems() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_addModifyDeleteItem() {
-    let client = yield gServer.getClient();
+add_task(async function test_addModifyDeleteItem() {
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
     equal(gServer.events.length, 0);
     equal(gServer.tasks.length, 0);
@@ -1016,11 +1016,11 @@ add_task(function* test_addModifyDeleteItem() {
     ].join("\r\n"));
 
     // Add an event
-    let addedEvent = yield pclient.adoptItem(event);
+    let addedEvent = await pclient.adoptItem(event);
     notEqual(addedEvent.id, null);
     equal(addedEvent.organizer.id, "mailto:xpcshell@example.com");
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 1);
     equal(items[0].id, addedEvent.id);
     equal(items[0].organizer.id, "mailto:xpcshell@example.com");
@@ -1029,10 +1029,10 @@ add_task(function* test_addModifyDeleteItem() {
     equal(gServer.tasks.length, 0);
 
     // Add a task
-    let addedTask = yield pclient.adoptItem(task);
+    let addedTask = await pclient.adoptItem(task);
     notEqual(addedTask.id, null);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 2);
     equal(items[1].id, addedTask.id);
 
@@ -1043,10 +1043,10 @@ add_task(function* test_addModifyDeleteItem() {
     let newEvent = items[0].clone();
     newEvent.title = "changed";
 
-    let modifiedEvent = yield pclient.modifyItem(newEvent, items[0]);
+    let modifiedEvent = await pclient.modifyItem(newEvent, items[0]);
     equal(modifiedEvent.title, "changed");
     notEqual(modifiedEvent.getProperty("LAST-MODIFIED"), addedEvent.getProperty("LAST-MODIFIED"));
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 2);
     equal(items[0].title, "changed");
     equal(items[0].id, addedEvent.id);
@@ -1058,10 +1058,10 @@ add_task(function* test_addModifyDeleteItem() {
     let newTask = items[1].clone();
     newTask.title = "changed";
 
-    let modifiedTask = yield pclient.modifyItem(newTask, items[1]);
+    let modifiedTask = await pclient.modifyItem(newTask, items[1]);
     equal(modifiedTask.title, "changed");
     notEqual(modifiedTask.getProperty("LAST-MODIFIED"), addedTask.getProperty("LAST-MODIFIED"));
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 2);
     equal(items[1].title, "changed");
     equal(items[1].id, addedTask.id);
@@ -1070,15 +1070,15 @@ add_task(function* test_addModifyDeleteItem() {
     equal(gServer.tasks.length, 1);
 
     // Delete an event
-    yield pclient.deleteItem(modifiedEvent);
-    items = yield pclient.getAllItems();
+    await pclient.deleteItem(modifiedEvent);
+    items = await pclient.getAllItems();
     equal(items.length, 1);
     equal(gServer.events.length, 0);
     equal(gServer.tasks.length, 1);
 
     // Delete a task
-    yield pclient.deleteItem(modifiedTask);
-    items = yield pclient.getAllItems();
+    await pclient.deleteItem(modifiedTask);
+    items = await pclient.getAllItems();
     equal(items.length, 0);
     equal(gServer.events.length, 0);
     equal(gServer.tasks.length, 0);
@@ -1086,8 +1086,8 @@ add_task(function* test_addModifyDeleteItem() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_recurring_event() {
-    let client = yield gServer.getClient();
+add_task(async function test_recurring_event() {
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
     let event = cal.createEvent([
@@ -1099,7 +1099,7 @@ add_task(function* test_recurring_event() {
         "END:VEVENT"
     ].join("\r\n"));
 
-    event = yield pclient.addItem(event);
+    event = await pclient.addItem(event);
     equal(gServer.events.length, 1);
     equal(gServer.events[0].recurrence.length, 1);
     equal(gServer.events[0].recurrence[0], "RRULE:FREQ=WEEKLY");
@@ -1109,7 +1109,7 @@ add_task(function* test_recurring_event() {
     changedOcc.title = "changed";
     event.recurrenceInfo.modifyException(occ, true);
 
-    event = yield pclient.modifyItem(changedOcc, occ);
+    event = await pclient.modifyItem(changedOcc, occ);
     occ = event.recurrenceInfo.getNextOccurrence(event.startDate);
     equal(occ.title, "changed");
     equal(gServer.events.length, 2);
@@ -1117,7 +1117,7 @@ add_task(function* test_recurring_event() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_recurring_exception() {
+add_task(async function test_recurring_exception() {
     gServer.syncs = [{
         token: "1",
         events: [{
@@ -1162,10 +1162,10 @@ add_task(function* test_recurring_exception() {
         }]
     }];
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 1);
 
     let exIds = items[0].recurrenceInfo.getExceptionIds({});
@@ -1175,9 +1175,9 @@ add_task(function* test_recurring_exception() {
     equal(ex.title, "New Event changed");
 
     client.refresh();
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 1);
 
     exIds = items[0].recurrenceInfo.getExceptionIds({});
@@ -1186,7 +1186,7 @@ add_task(function* test_recurring_exception() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_recurring_cancelled_exception() {
+add_task(async function test_recurring_cancelled_exception() {
     gServer.syncs = [{
         token: "1",
         events: [{
@@ -1204,18 +1204,18 @@ add_task(function* test_recurring_cancelled_exception() {
         }]
     }];
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 0);
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_import_invitation() {
+add_task(async function test_import_invitation() {
     Preferences.set("calendar.google.enableAttendees", true);
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
     let event = cal.createEvent([
         "BEGIN:VEVENT",
@@ -1236,14 +1236,14 @@ add_task(function* test_import_invitation() {
         "END:VEVENT"
     ].join("\r\n"));
 
-    let addedItem = yield pclient.adoptItem(event);
+    let addedItem = await pclient.adoptItem(event);
     equal(gServer.events.length, 1);
     equal(addedItem.icalString, event.icalString);
     gServer.resetClient(client);
     Preferences.set("calendar.google.enableAttendees", false);
 });
 
-add_task(function* test_modify_invitation() {
+add_task(async function test_modify_invitation() {
     Preferences.set("calendar.google.enableAttendees", true);
     let organizer = {
         displayName: "organizer name",
@@ -1278,10 +1278,10 @@ add_task(function* test_modify_invitation() {
     }];
 
     // Case #1: User is attendee
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 1);
 
     let item = items[0];
@@ -1297,7 +1297,7 @@ add_task(function* test_modify_invitation() {
     att.participationStatus = "ACCEPTED";
     newItem.addAttendee(att);
 
-    yield pclient.modifyItem(newItem, items[0]);
+    await pclient.modifyItem(newItem, items[0]);
     equal(gServer.lastMethod, "PATCH");
 
     // Case #2: User is organizer
@@ -1318,10 +1318,10 @@ add_task(function* test_modify_invitation() {
     gServer.events[0].creator = gServer.creator;
     gServer.events[0].attendees = [organizer, attendee];
 
-    client = yield gServer.getClient();
+    client = await gServer.getClient();
     pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 1);
 
     item = items[0];
@@ -1337,13 +1337,13 @@ add_task(function* test_modify_invitation() {
     org.participationStatus = "TENTATIVE";
     newItem.addAttendee(org);
 
-    modifiedItem = yield pclient.modifyItem(newItem, items[0]);
+    modifiedItem = await pclient.modifyItem(newItem, items[0]);
     equal(gServer.lastMethod, "PUT");
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_metadata() {
+add_task(async function test_metadata() {
     gServer.events = [{
         kind: "calendar#event",
         etag: "\"1\"",
@@ -1367,12 +1367,12 @@ add_task(function* test_metadata() {
         notes: "description"
     }];
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let offline = client.wrappedJSObject.mCachedCalendar;
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
     // Check initial metadata
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     let meta = getAllMeta(offline);
     let [event, task] = items;
     ok(cal.item.isEvent(event));
@@ -1385,9 +1385,9 @@ add_task(function* test_metadata() {
     gServer.nextEtag = '"3"';
     let newEvent = event.clone();
     newEvent.title = "changed";
-    yield pclient.modifyItem(newEvent, event);
+    await pclient.modifyItem(newEvent, event);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     meta = getAllMeta(offline);
     [event, task] = items;
     ok(cal.item.isEvent(event));
@@ -1400,9 +1400,9 @@ add_task(function* test_metadata() {
     gServer.nextEtag = '"4"';
     let newTask = task.clone();
     newTask.title = "changed";
-    yield pclient.modifyItem(newTask, task);
+    await pclient.modifyItem(newTask, task);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     meta = getAllMeta(offline);
     [event, task] = items;
     equal(meta.size, 2);
@@ -1410,19 +1410,19 @@ add_task(function* test_metadata() {
     equal(meta.get(task.hashId), ['"4"', "MTEyMDE2MDE5NzE0NjYzMDk4ODI6MDo0MDI1NDg2NjU", false].join("\u001A"));
 
     // Delete an event
-    yield pclient.deleteItem(event);
+    await pclient.deleteItem(event);
     meta = getAllMeta(offline);
     equal(meta.size, 1);
     equal(meta.get(task.hashId), ['"4"', "MTEyMDE2MDE5NzE0NjYzMDk4ODI6MDo0MDI1NDg2NjU", false].join("\u001A"));
 
     // Delete a task
-    yield pclient.deleteItem(task);
+    await pclient.deleteItem(task);
     meta = getAllMeta(offline);
     equal(meta.size, 0);
 
     // Add an event
     gServer.nextEtag = '"6"';
-    newEvent = yield pclient.addItem(event);
+    newEvent = await pclient.addItem(event);
     meta = getAllMeta(offline);
     equal(meta.size, 1);
     equal(gServer.events.length, 1);
@@ -1430,7 +1430,7 @@ add_task(function* test_metadata() {
 
     // Add a task
     gServer.nextEtag = '"7"';
-    newTask = yield pclient.addItem(task);
+    newTask = await pclient.addItem(task);
     meta = getAllMeta(offline);
     equal(meta.size, 2);
     equal(gServer.events.length, 1);
@@ -1441,7 +1441,7 @@ add_task(function* test_metadata() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_metadata_recurring() {
+add_task(async function test_metadata_recurring() {
     gServer.events = [{
         kind: "calendar#event",
         etag: "\"1\"",
@@ -1477,10 +1477,10 @@ add_task(function* test_metadata_recurring() {
         originalStartTime: { dateTime: "2006-06-17T18:00:00+02:00" }
     }];
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let offline = client.wrappedJSObject.mCachedCalendar;
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
 
     let meta = getAllMeta(offline);
     equal(meta.size, 3);
@@ -1496,7 +1496,7 @@ add_task(function* test_metadata_recurring() {
     let newEx = ex.clone();
     newEx.title = "New Event changed again";
     gServer.nextEtag = '"4"';
-    yield pclient.modifyItem(newEx, ex);
+    await pclient.modifyItem(newEx, ex);
     meta = getAllMeta(offline);
     equal(meta.size, 3);
     equal(meta.get(newEx.hashId), ['"4"', "go6ijb0b46hlpbu4eeu92njevo_20060610T160000Z", false].join("\u001A"));
@@ -1504,20 +1504,20 @@ add_task(function* test_metadata_recurring() {
     // Deleting an exception should delete the metadata, as it turns into an EXDATE
     let newItem = items[0].clone();
     newItem.recurrenceInfo.removeOccurrenceAt(exIds[0]);
-    yield pclient.modifyItem(newItem, items[0]);
+    await pclient.modifyItem(newItem, items[0]);
 
     meta = getAllMeta(offline);
     equal(meta.size, 2);
 
     // Deleting the master item should remove all metadata entries
-    yield pclient.deleteItem(items[0]);
+    await pclient.deleteItem(items[0]);
     meta = getAllMeta(offline);
     equal(meta.size, 0);
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_conflict_modify() {
+add_task(async function test_conflict_modify() {
     // TODO task/event conflicts are handled in the same way so I'm going to
     // skip adding tests for tasks here, but it probably wouldn't hurt to
     // create them at some point.
@@ -1534,9 +1534,9 @@ add_task(function* test_conflict_modify() {
         end: { dateTime: "2006-06-10T20:00:00+02:00" },
         iCalUID: "go6ijb0b46hlpbu4eeu92njevo@google.com"
     }];
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
-    let item = (yield pclient.getAllItems())[0];
+    let item = (await pclient.getAllItems())[0];
 
     // Case #1: Modified on server, modify locally, overwrite conflict
     MockConflictPrompt.overwrite = true;
@@ -1544,8 +1544,8 @@ add_task(function* test_conflict_modify() {
     newItem.title = "local change";
     gServer.events[0].etag = '"2"';
     gServer.events[0].summary = "remote change";
-    let modifiedItem = yield pclient.modifyItem(newItem, item);
-    item = (yield pclient.getAllItems())[0];
+    let modifiedItem = await pclient.modifyItem(newItem, item);
+    item = (await pclient.getAllItems())[0];
     equal(gServer.events[0].summary, "local change");
     notEqual(gServer.events[0].etag, '"2"');
     equal(item.title, "local change");
@@ -1557,7 +1557,7 @@ add_task(function* test_conflict_modify() {
     gServer.events[0].etag = '"3"';
     gServer.events[0].summary = "remote change";
     try {
-        modifiedItem = yield pclient.modifyItem(newItem, item);
+        modifiedItem = await pclient.modifyItem(newItem, item);
         do_throw("Expected modifyItem to be cancelled");
     } catch (e) {
         // Swallow cancelling the request
@@ -1566,9 +1566,9 @@ add_task(function* test_conflict_modify() {
         }
     }
 
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    item = (yield pclient.getAllItems())[0];
+    item = (await pclient.getAllItems())[0];
     equal(gServer.events[0].summary, "remote change");
     equal(gServer.events[0].etag, '"3"');
     equal(item.title, "remote change");
@@ -1578,7 +1578,7 @@ add_task(function* test_conflict_modify() {
     gServer.events[0].etag = '"4"';
     gServer.events[0].summary = "remote change";
     try {
-        yield pclient.deleteItem(item);
+        await pclient.deleteItem(item);
         do_throw("Expected deleteItem to be cancelled");
     } catch (e) {
         // Swallow cancelling the request
@@ -1587,9 +1587,9 @@ add_task(function* test_conflict_modify() {
         }
     }
 
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    item = (yield pclient.getAllItems())[0];
+    item = (await pclient.getAllItems())[0];
     equal(gServer.events[0].summary, "remote change");
     equal(gServer.events[0].etag, '"4"');
     equal(item.title, "remote change");
@@ -1598,14 +1598,14 @@ add_task(function* test_conflict_modify() {
     MockConflictPrompt.overwrite = true;
     gServer.events[0].etag = '"5"';
     gServer.events[0].summary = "remote change";
-    yield pclient.deleteItem(item);
-    item = (yield pclient.getAllItems())[0];
+    await pclient.deleteItem(item);
+    item = (await pclient.getAllItems())[0];
     equal(gServer.events.length, 0);
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_conflict_delete() {
+add_task(async function test_conflict_delete() {
     // TODO task/event conflicts are handled in the same way so I'm going to
     // skip adding tests for tasks here, but it probably wouldn't hurt to
     // create them at some point.
@@ -1625,17 +1625,17 @@ add_task(function* test_conflict_delete() {
 
     // Load intial event to server
     gServer.events = [coreEvent];
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
-    let item = (yield pclient.getAllItems())[0];
+    let item = (await pclient.getAllItems())[0];
 
     // Case #1: Deleted on server, modify locally, overwrite conflict
     MockConflictPrompt.overwrite = true;
     gServer.events = [];
     let newItem = item.clone();
     newItem.title = "local change";
-    let modifiedItem = yield pclient.modifyItem(newItem, item);
-    item = (yield pclient.getAllItems())[0];
+    let modifiedItem = await pclient.modifyItem(newItem, item);
+    item = (await pclient.getAllItems())[0];
     equal(gServer.events[0].summary, "local change");
     notEqual(gServer.events[0].etag, '"2"');
     equal(item.title, "local change");
@@ -1646,7 +1646,7 @@ add_task(function* test_conflict_delete() {
     MockConflictPrompt.overwrite = false;
     gServer.events = [];
     try {
-        modifiedItem = yield pclient.modifyItem(newItem, item);
+        modifiedItem = await pclient.modifyItem(newItem, item);
         do_throw("Expected modifyItem to be cancelled");
     } catch (e) {
         // Swallow cancelling the request
@@ -1658,24 +1658,24 @@ add_task(function* test_conflict_delete() {
     coreEvent.status = "cancelled";
     gServer.events = [coreEvent];
 
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 0);
     equal(gServer.events.length, 1);
 
     // Put the event back in the calendar for the next run
     delete gServer.events[0].status;
     client.refresh();
-    yield gServer.waitForLoad(client);
-    items = yield pclient.getAllItems();
+    await gServer.waitForLoad(client);
+    items = await pclient.getAllItems();
     equal(items.length, 1);
 
     // Case #3: Deleted on server, delete locally, don't overwrite conflict
     MockConflictPrompt.overwrite = false;
     gServer.events = [];
     try {
-        yield pclient.deleteItem(item);
+        await pclient.deleteItem(item);
         do_throw("Expected deleteItem to be cancelled");
     } catch (e) {
         // Swallow cancelling the request
@@ -1686,29 +1686,29 @@ add_task(function* test_conflict_delete() {
     // The next synchronize should cause the event to be deleted locally.
     coreEvent.status = "cancelled";
     gServer.events = [coreEvent];
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 0);
 
     // Put the event back in the calendar for the next run
     delete gServer.events[0].status;
     client.refresh();
-    yield gServer.waitForLoad(client);
-    items = yield pclient.getAllItems();
+    await gServer.waitForLoad(client);
+    items = await pclient.getAllItems();
     equal(items.length, 1);
 
     // Case #4: Deleted on server, delete locally, overwrite conflict
     MockConflictPrompt.overwrite = true;
     gServer.events = [];
-    yield pclient.deleteItem(item);
-    items = yield pclient.getAllItems();
+    await pclient.deleteItem(item);
+    items = await pclient.getAllItems();
     equal(items.length, 0);
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_default_alarms() {
+add_task(async function test_default_alarms() {
     let defaultReminders = [
         { method: "popup", minutes: 10 },
         { method: "email", minutes: 20 },
@@ -1731,11 +1731,11 @@ add_task(function* test_default_alarms() {
     }];
 
     // Case #1: read default alarms from event stream
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
     equal(client.getProperty("settings.defaultReminders"), JSON.stringify(defaultReminders));
 
-    let item = (yield pclient.getAllItems())[0];
+    let item = (await pclient.getAllItems())[0];
     let alarms = item.getAlarms({});
 
     equal(alarms.length, 2);
@@ -1760,7 +1760,7 @@ add_task(function* test_default_alarms() {
         "END:VEVENT"
     ].join("\r\n"));
 
-    yield pclient.addItem(event);
+    await pclient.addItem(event);
     ok(gServer.events[1].reminders.useDefault);
     equal(gServer.events[1].reminders.overrides.length, 0);
 
@@ -1784,7 +1784,7 @@ add_task(function* test_default_alarms() {
         "END:VEVENT"
     ].join("\r\n"));
 
-    yield pclient.addItem(event);
+    await pclient.addItem(event);
     ok(gServer.events[2].reminders.useDefault);
     equal(gServer.events[2].reminders.overrides.length, 1);
     equal(gServer.events[2].reminders.overrides[0].minutes, 5);
@@ -1794,7 +1794,7 @@ add_task(function* test_default_alarms() {
     // Case #4a: Empty default alarms
     gServer.calendarListData.defaultReminders = [];
     gServer.eventsData.defaultReminders = [];
-    client = yield gServer.getClient();
+    client = await gServer.getClient();
     pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
     event = cal.createEvent([
@@ -1806,7 +1806,7 @@ add_task(function* test_default_alarms() {
         "END:VEVENT"
     ].join("\r\n"));
 
-    yield pclient.addItem(event);
+    await pclient.addItem(event);
     ok(gServer.events[0].reminders.useDefault);
     equal(gServer.events[0].reminders.overrides, undefined);
 
@@ -1815,16 +1815,16 @@ add_task(function* test_default_alarms() {
 
     // Case #4b: Read an item with empty default alarms
     gServer.events = events;
-    client = yield gServer.getClient();
+    client = await gServer.getClient();
     pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
 
-    item = (yield pclient.getAllItems())[0];
+    item = (await pclient.getAllItems())[0];
     equal(item.getProperty("X-DEFAULT-ALARM"), "TRUE");
 
     gServer.resetClient(client);
 });
 
-add_task(function* test_paginate() {
+add_task(async function test_paginate() {
     gServer.events = [{
         kind: "calendar#event",
         etag: "\"1\"",
@@ -1873,7 +1873,7 @@ add_task(function* test_paginate() {
 
     Preferences.set("calendar.google.maxResultsPerRequest", 1);
 
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client);
 
     // Make sure all pages were requested
@@ -1882,7 +1882,7 @@ add_task(function* test_paginate() {
 
     // ...and we have all items. Not checking props
     // because the other tests do this sufficiently.
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 4);
 
     equal(client.getProperty("syncToken.events"), "next-sync-token");
@@ -1891,7 +1891,7 @@ add_task(function* test_paginate() {
     gServer.resetClient(client);
 });
 
-add_task(function* test_incremental_reset() {
+add_task(async function test_incremental_reset() {
     gServer.syncs = [{
         token: "1",
         events: [{
@@ -1926,17 +1926,17 @@ add_task(function* test_incremental_reset() {
             iCalUID: "fepf8uf6n7n04w7feukucs9n8e@google.com"
         }]
     }];
-    let client = yield gServer.getClient();
+    let client = await gServer.getClient();
     let pclient = cal.async.promisifyCalendar(client);
 
-    let items = yield pclient.getAllItems();
+    let items = await pclient.getAllItems();
     equal(items.length, 1);
     equal(items[0].title, "New Event");
 
     client.refresh();
-    yield gServer.waitForLoad(client);
+    await gServer.waitForLoad(client);
 
-    items = yield pclient.getAllItems();
+    items = await pclient.getAllItems();
     equal(items.length, 1);
     equal(items[0].title, "New Event 2");
 
index 495d067fb4f7eccc450a50f647e104a219bb151f..c1d4ccd3ae3adf64e53e59a98869a62e42508604 100644 (file)
@@ -29,8 +29,8 @@
 [test_email_utils.js]
 [test_freebusy.js]
 [test_freebusy_service.js]
-#[test_gdata_provider.js]
-#requesttimeoutfactor = 2
+[test_gdata_provider.js]
+requesttimeoutfactor = 2
 [test_hashedarray.js]
 [test_ics.js]
 [test_ics_parser.js]
index a377f74565f3fc6d71a8d0b4165b815a4f7ac6c7..814c4b075442576420b5ed342be6623ed418754c 100644 (file)
@@ -21,7 +21,8 @@ DIRS += ['/%s' % CONFIG['MOZ_BRANDING_DIRECTORY']]
 if CONFIG['MOZ_CALENDAR']:
     DIRS += [
         '/%s/calendar/lightning' % CONFIG['commreltopsrcdir'],
-        '/%s/calendar/timezones' % CONFIG['commreltopsrcdir']
+        '/%s/calendar/providers/gdata' % CONFIG['commreltopsrcdir'],
+        '/%s/calendar/timezones' % CONFIG['commreltopsrcdir'],
     ]
 
 DIRS += [