--- a/services/cloudsync/tests/xpcshell/test_bookmarks.js
+++ b/services/cloudsync/tests/xpcshell/test_bookmarks.js
@@ -9,39 +9,60 @@ function run_test() {
run_next_test();
}
add_task(function* test_merge_bookmarks_flat() {
try {
let rootFolder = yield CloudSync().bookmarks.getRootFolder("TEST");
ok(rootFolder.id, "root folder id is ok");
- let items = [
- {"id":"G_UL4ZhOyX8m", "type":rootFolder.BOOKMARK, "title":"reddit: the front page of the internet 1", "uri":"http://www.reddit.com", index:2},
- {"id":"G_UL4ZhOyX8n", "type":rootFolder.BOOKMARK, "title":"reddit: the front page of the internet 2", "uri":"http://www.reddit.com?1", index:1},
- ];
+ let items = [{
+ "id": "G_UL4ZhOyX8m",
+ "type": rootFolder.BOOKMARK,
+ "title": "reddit: the front page of the internet 1",
+ "uri": "http://www.reddit.com",
+ index: 2
+ }, {
+ "id": "G_UL4ZhOyX8n",
+ "type": rootFolder.BOOKMARK,
+ "title": "reddit: the front page of the internet 2",
+ "uri": "http://www.reddit.com?1",
+ index: 1
+ }];
yield rootFolder.mergeRemoteItems(items);
let localItems = yield rootFolder.getLocalItems();
equal(Object.keys(localItems).length, items.length, "found merged items");
} finally {
yield CloudSync().bookmarks.deleteRootFolder("TEST");
}
});
add_task(function* test_merge_bookmarks_in_folders() {
try {
let rootFolder = yield CloudSync().bookmarks.getRootFolder("TEST");
ok(rootFolder.id, "root folder id is ok");
- let items = [
- {"id":"G_UL4ZhOyX8m", "type":rootFolder.BOOKMARK, "title":"reddit: the front page of the internet 1", "uri":"http://www.reddit.com", index:2},
- {"id":"G_UL4ZhOyX8n", "type":rootFolder.BOOKMARK, parent:"G_UL4ZhOyX8x", "title":"reddit: the front page of the internet 2", "uri":"http://www.reddit.com/?a=å%20ä%20ö", index:1},
- {"id":"G_UL4ZhOyX8x", "type":rootFolder.FOLDER},
- ];
+ let items = [{
+ "id": "G_UL4ZhOyX8m",
+ "type": rootFolder.BOOKMARK,
+ "title": "reddit: the front page of the internet 1",
+ "uri": "http://www.reddit.com",
+ index: 2
+ }, {
+ "id": "G_UL4ZhOyX8n",
+ "type": rootFolder.BOOKMARK,
+ parent: "G_UL4ZhOyX8x",
+ "title": "reddit: the front page of the internet 2",
+ "uri": "http://www.reddit.com/?a=å%20ä%20ö",
+ index: 1
+ }, {
+ "id": "G_UL4ZhOyX8x",
+ "type": rootFolder.FOLDER
+ }];
yield rootFolder.mergeRemoteItems(items);
let localItems = yield rootFolder.getLocalItems();
equal(localItems.length, items.length, "found merged items");
localItems.forEach(function(item) {
ok(item.id == "G_UL4ZhOyX8m" ||
item.id == "G_UL4ZhOyX8n" ||
--- a/services/cloudsync/tests/xpcshell/test_tabs.js
+++ b/services/cloudsync/tests/xpcshell/test_tabs.js
@@ -12,18 +12,25 @@ function run_test() {
add_task(function* test_get_remote_tabs() {
let cloudSync = CloudSync();
let clients = yield cloudSync.tabs.getRemoteTabs();
equal(clients.length, 0);
yield cloudSync.tabs.mergeRemoteTabs({
id: "001",
name: "FakeClient",
- }, [
- {url:"https://www.google.ca?a=å%20ä%20ö", title:"Google Canada", icon:"https://www.google.ca/favicon.ico", lastUsed:0},
- {url:"http://www.reddit.com", title:"Reddit", icon:"http://www.reddit.com/favicon.ico", lastUsed:1},
- ]);
+ }, [{
+ url: "https://www.google.ca?a=å%20ä%20ö",
+ title: "Google Canada",
+ icon: "https://www.google.ca/favicon.ico",
+ lastUsed: 0
+ }, {
+ url: "http://www.reddit.com",
+ title: "Reddit",
+ icon: "http://www.reddit.com/favicon.ico",
+ lastUsed: 1
+ }]);
ok(cloudSync.tabs.hasRemoteTabs());
clients = yield cloudSync.tabs.getRemoteTabs();
equal(clients.length, 1);
equal(clients[0].tabs.size, 2);
});
--- a/services/common/tests/unit/test_blocklist_certificates.js
+++ b/services/common/tests/unit/test_blocklist_certificates.js
@@ -164,89 +164,98 @@ function getSampleResponse(req, port) {
"GET:/v1/?": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress"
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"})
+ "responseBody": JSON.stringify({
+ "settings": {
+ "batch_max_requests": 25
+ },
+ "url": `http://localhost:${port}/v1/`,
+ "documentation": "https://kinto.readthedocs.org/",
+ "version": "1.5.1",
+ "commit": "cbc6f58",
+ "hello": "kinto"
+ })
},
"GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"1000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{}]})
+ "responseBody": JSON.stringify({"data": [{}]})
},
"GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified&_since=1000": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"3000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"issuerName": "MEQxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xHjAcBgNVBAMTFXRoYXd0ZSBFViBTU0wgQ0EgLSBHMw==",
- "serialNumber":"CrTHPEE6AZSfI3jysin2bA==",
- "id":"78cf8900-fdea-4ce5-f8fb-b78710617718",
- "last_modified":3000
+ "serialNumber": "CrTHPEE6AZSfI3jysin2bA==",
+ "id": "78cf8900-fdea-4ce5-f8fb-b78710617718",
+ "last_modified": 3000
}]})
},
"GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified&_since=3000": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"4000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
- "issuerName":"MFkxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKjAoBgNVBAMTIVN0YWF0IGRlciBOZWRlcmxhbmRlbiBPdmVyaGVpZCBDQQ",
- "serialNumber":"ATFpsA==",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02c",
- "last_modified":4000
+ "responseBody": JSON.stringify({"data": [{
+ "issuerName": "MFkxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKjAoBgNVBAMTIVN0YWF0IGRlciBOZWRlcmxhbmRlbiBPdmVyaGVpZCBDQQ",
+ "serialNumber": "ATFpsA==",
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02c",
+ "last_modified": 4000
}, {
- "subject":"MCIxIDAeBgNVBAMMF0Fub3RoZXIgVGVzdCBFbmQtZW50aXR5",
- "pubKeyHash":"VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02d",
- "last_modified":4000
+ "subject": "MCIxIDAeBgNVBAMMF0Fub3RoZXIgVGVzdCBFbmQtZW50aXR5",
+ "pubKeyHash": "VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=",
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02d",
+ "last_modified": 4000
}]})
},
"GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified&_since=4000": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"5000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
- "issuerName":"not a base64 encoded issuer",
- "serialNumber":"not a base64 encoded serial",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02e",
- "last_modified":5000
+ "responseBody": JSON.stringify({"data": [{
+ "issuerName": "not a base64 encoded issuer",
+ "serialNumber": "not a base64 encoded serial",
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02e",
+ "last_modified": 5000
}, {
- "subject":"not a base64 encoded subject",
- "pubKeyHash":"not a base64 encoded pubKeyHash",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02f",
- "last_modified":5000
+ "subject": "not a base64 encoded subject",
+ "pubKeyHash": "not a base64 encoded pubKeyHash",
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02f",
+ "last_modified": 5000
}, {
- "subject":"MCIxIDAeBgNVBAMMF0Fub3RoZXIgVGVzdCBFbmQtZW50aXR5",
- "pubKeyHash":"VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02g",
- "last_modified":5000
+ "subject": "MCIxIDAeBgNVBAMMF0Fub3RoZXIgVGVzdCBFbmQtZW50aXR5",
+ "pubKeyHash": "VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=",
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02g",
+ "last_modified": 5000
}]})
}
};
return responses[`${req.method}:${req.path}?${req.queryString}`] ||
responses[req.method];
}
--- a/services/common/tests/unit/test_blocklist_clients.js
+++ b/services/common/tests/unit/test_blocklist_clients.js
@@ -226,28 +226,37 @@ function getSampleResponse(req, port) {
"GET:/v1/?": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress"
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"})
+ "responseBody": JSON.stringify({
+ "settings": {
+ "batch_max_requests": 25
+ },
+ "url": `http://localhost:${port}/v1/`,
+ "documentation": "https://kinto.readthedocs.org/",
+ "version": "1.5.1",
+ "commit": "cbc6f58",
+ "hello": "kinto"
+ })
},
"GET:/v1/buckets/blocklists/collections/addons/records?_sort=-last_modified": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"3000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"prefs": [],
"blockID": "i539",
"last_modified": 3000,
"versionRange": [{
"targetApplication": [],
"maxVersion": "*",
"minVersion": "0",
"severity": "1"
@@ -260,34 +269,34 @@ function getSampleResponse(req, port) {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"3000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"matchFilename": "NPFFAddOn.dll",
"blockID": "p28",
"id": "7b1e0b3c-e390-a817-11b6-a6887f65f56e",
"last_modified": 3000,
"versionRange": []
}]})
},
"GET:/v1/buckets/blocklists/collections/gfx/records?_sort=-last_modified": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"3000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"driverVersionComparator": "LESS_THAN_OR_EQUAL",
"driverVersion": "8.17.12.5896",
"vendor": "0x10de",
"blockID": "g36",
"feature": "DIRECT3D_9_LAYERS",
"devices": ["0x0a6c"],
"featureStatus": "BLOCKED_DRIVER_VERSION",
"last_modified": 3000,
@@ -299,17 +308,17 @@ function getSampleResponse(req, port) {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"4000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"prefs": [],
"blockID": "i808",
"last_modified": 4000,
"versionRange": [{
"targetApplication": [],
"maxVersion": "*",
"minVersion": "0",
"severity": "3"
@@ -334,17 +343,17 @@ function getSampleResponse(req, port) {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"4000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"infoURL": "https://get.adobe.com/flashplayer/",
"blockID": "p1044",
"matchFilename": "libflashplayer\\.so",
"last_modified": 4000,
"versionRange": [{
"targetApplication": [],
"minVersion": "11.2.202.509",
"maxVersion": "11.2.202.539",
@@ -371,17 +380,17 @@ function getSampleResponse(req, port) {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"4000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"vendor": "0x8086",
"blockID": "g204",
"feature": "WEBGL_MSAA",
"devices": [],
"id": "c96bca82-e6bd-044d-14c4-9c1d67e9283a",
"last_modified": 4000,
"os": "Darwin 10",
"featureStatus": "BLOCKED_DEVICE"
--- a/services/common/tests/unit/test_blocklist_pinning.js
+++ b/services/common/tests/unit/test_blocklist_pinning.js
@@ -213,127 +213,136 @@ function getSampleResponse(req, port) {
"GET:/v1/?": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress"
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"})
+ "responseBody": JSON.stringify({
+ "settings": {
+ "batch_max_requests": 25
+ },
+ "url": `http://localhost:${port}/v1/`,
+ "documentation": "https://kinto.readthedocs.org/",
+ "version": "1.5.1",
+ "commit": "cbc6f58",
+ "hello": "kinto"
+ })
},
"GET:/v1/buckets/pinning/collections/pins/records?_sort=-last_modified": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"3000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"pinType": "KeyPin",
"hostName": "one.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "pins" : ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
+ "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
"M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="],
- "versions" : [appInfo.version],
- "id":"78cf8900-fdea-4ce5-f8fb-b78710617718",
- "last_modified":3000
+ "versions": [appInfo.version],
+ "id": "78cf8900-fdea-4ce5-f8fb-b78710617718",
+ "last_modified": 3000
}]})
},
"GET:/v1/buckets/pinning/collections/pins/records?_sort=-last_modified&_since=3000": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"4000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
+ "responseBody": JSON.stringify({"data": [{
"pinType": "KeyPin",
"hostName": "two.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "pins" : ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
+ "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
"M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="],
- "versions" : [appInfo.version],
- "id":"dabafde9-df4a-ddba-2548-748da04cc02c",
- "last_modified":4000
+ "versions": [appInfo.version],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02c",
+ "last_modified": 4000
}, {
"pinType": "KeyPin",
"hostName": "three.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "pins" : ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
+ "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
"M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="],
- "versions" : [appInfo.version, "some other version that won't match"],
- "id":"dabafde9-df4a-ddba-2548-748da04cc02d",
- "last_modified":4000
+ "versions": [appInfo.version, "some other version that won't match"],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02d",
+ "last_modified": 4000
}, {
"pinType": "KeyPin",
"hostName": "four.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "pins" : ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
+ "pins": ["cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=",
"M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="],
- "versions" : ["some version that won't match"],
- "id":"dabafde9-df4a-ddba-2548-748da04cc02e",
- "last_modified":4000
+ "versions": ["some version that won't match"],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02e",
+ "last_modified": 4000
}, {
"pinType": "STSPin",
"hostName": "five.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "versions" : [appInfo.version, "some version that won't match"],
- "id":"dabafde9-df4a-ddba-2548-748da04cc032",
- "last_modified":4000
+ "versions": [appInfo.version, "some version that won't match"],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc032",
+ "last_modified": 4000
}]})
},
"GET:/v1/buckets/pinning/collections/pins/records?_sort=-last_modified&_since=4000": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"5000\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{
- "irrelevant":"this entry looks nothing whatsoever like a pin preload",
+ "responseBody": JSON.stringify({"data": [{
+ "irrelevant": "this entry looks nothing whatsoever like a pin preload",
"pinType": "KeyPin",
- "id":"dabafde9-df4a-ddba-2548-748da04cc02f",
- "last_modified":5000
+ "id": "dabafde9-df4a-ddba-2548-748da04cc02f",
+ "last_modified": 5000
}, {
- "irrelevant":"this entry has data of the wrong type",
+ "irrelevant": "this entry has data of the wrong type",
"pinType": "KeyPin",
"hostName": 3,
"includeSubdomains": "nonsense",
"expires": "more nonsense",
- "pins" : [1, 2, 3, 4],
- "id":"dabafde9-df4a-ddba-2548-748da04cc030",
- "last_modified":5000
+ "pins": [1, 2, 3, 4],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc030",
+ "last_modified": 5000
}, {
- "irrelevant":"this entry is missing the actual pins",
+ "irrelevant": "this entry is missing the actual pins",
"pinType": "KeyPin",
"hostName": "missingpins.example.com",
"includeSubdomains": false,
"expires": new Date().getTime() + 1000000,
- "versions" : [appInfo.version],
- "id":"dabafde9-df4a-ddba-2548-748da04cc031",
- "last_modified":5000
+ "versions": [appInfo.version],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc031",
+ "last_modified": 5000
}, {
"pinType": "STSPin",
"hostName": "five.example.com",
"includeSubdomains": true,
"expires": new Date().getTime() + 1000000,
- "versions" : [appInfo.version, "some version that won't match"],
- "id":"dabafde9-df4a-ddba-2548-748da04cc032",
- "last_modified":5000
+ "versions": [appInfo.version, "some version that won't match"],
+ "id": "dabafde9-df4a-ddba-2548-748da04cc032",
+ "last_modified": 5000
}]})
}
};
return responses[`${req.method}:${req.path}?${req.queryString}`] ||
responses[req.method];
}
--- a/services/common/tests/unit/test_blocklist_signatures.js
+++ b/services/common/tests/unit/test_blocklist_signatures.js
@@ -250,17 +250,26 @@ add_task(function* test_check_signatures
comment: "RESPONSE_SERVER_SETTINGS",
sampleHeaders: [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress"
],
status: {status: 200, statusText: "OK"},
- responseBody: JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"})
+ responseBody: JSON.stringify({
+ "settings": {
+ "batch_max_requests": 25
+ },
+ "url": `http://localhost:${port}/v1/`,
+ "documentation": "https://kinto.readthedocs.org/",
+ "version": "1.5.1",
+ "commit": "cbc6f58",
+ "hello": "kinto"
+ })
};
// This is the initial, empty state of the collection. This is only used
// for the first sync.
const RESPONSE_EMPTY_INITIAL = {
comment: "RESPONSE_EMPTY_INITIAL",
sampleHeaders: [
"Content-Type: application/json; charset=UTF-8",
@@ -276,17 +285,17 @@ add_task(function* test_check_signatures
// The collection metadata containing the signature for the empty
// collection.
const RESPONSE_META_EMPTY_SIG =
makeMetaResponse(1000, RESPONSE_BODY_META_EMPTY_SIG,
"RESPONSE_META_EMPTY_SIG");
// Here, we map request method and path to the available responses
const emptyCollectionResponses = {
- "GET:/test_blocklist_signatures/test_cert_chain.pem?":[RESPONSE_CERT_CHAIN],
+ "GET:/test_blocklist_signatures/test_cert_chain.pem?": [RESPONSE_CERT_CHAIN],
"GET:/v1/?": [RESPONSE_SERVER_SETTINGS],
"GET:/v1/buckets/blocklists/collections/certificates/records?_sort=-last_modified":
[RESPONSE_EMPTY_INITIAL],
"GET:/v1/buckets/blocklists/collections/certificates?":
[RESPONSE_META_EMPTY_SIG]
};
// .. and use this map to register handlers for each path
--- a/services/common/tests/unit/test_kinto.js
+++ b/services/common/tests/unit/test_kinto.js
@@ -14,17 +14,17 @@ var server;
const kintoFilename = "kinto.sqlite";
function do_get_kinto_sqliteHandle() {
return FirefoxAdapter.openConnection({path: kintoFilename});
}
function do_get_kinto_collection(sqliteHandle, collection = "test_collection") {
let config = {
- remote:`http://localhost:${server.identity.primaryPort}/v1/`,
+ remote: `http://localhost:${server.identity.primaryPort}/v1/`,
headers: {Authorization: "Basic " + btoa("user:pass")},
adapter: FirefoxAdapter,
adapterOptions: {sqliteHandle},
};
return new Kinto(config).collection(collection);
}
function* clear_collection() {
@@ -373,48 +373,78 @@ function getSampleResponse(req, port) {
"GET:/v1/?": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress"
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"settings":{"batch_max_requests":25}, "url":`http://localhost:${port}/v1/`, "documentation":"https://kinto.readthedocs.org/", "version":"1.5.1", "commit":"cbc6f58", "hello":"kinto"})
+ "responseBody": JSON.stringify({
+ "settings": {
+ "batch_max_requests": 25
+ },
+ "url": `http://localhost:${port}/v1/`,
+ "documentation": "https://kinto.readthedocs.org/",
+ "version": "1.5.1",
+ "commit": "cbc6f58",
+ "hello": "kinto"
+ })
},
"GET:/v1/buckets/default/collections/test_collection/records?_sort=-last_modified": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"1445606341071\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{"last_modified":1445606341071, "done":false, "id":"68db8313-686e-4fff-835e-07d78ad6f2af", "title":"New test"}]})
+ "responseBody": JSON.stringify({
+ "data": [{
+ "last_modified": 1445606341071,
+ "done": false,
+ "id": "68db8313-686e-4fff-835e-07d78ad6f2af",
+ "title": "New test"
+ }]
+ })
},
"GET:/v1/buckets/default/collections/test_collection/records?_sort=-last_modified&_since=1445606341071": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"1445607941223\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{"last_modified":1445607941223, "done":false, "id":"901967b0-f729-4b30-8d8d-499cba7f4b1d", "title":"Another new test"}]})
+ "responseBody": JSON.stringify({
+ "data": [{
+ "last_modified": 1445607941223,
+ "done": false,
+ "id": "901967b0-f729-4b30-8d8d-499cba7f4b1d",
+ "title": "Another new test"
+ }]
+ })
},
"GET:/v1/buckets/default/collections/test_collection/records?_sort=-last_modified&_since=1445607941223": {
"sampleHeaders": [
"Access-Control-Allow-Origin: *",
"Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff",
"Content-Type: application/json; charset=UTF-8",
"Server: waitress",
"Etag: \"1445607541265\""
],
"status": {status: 200, statusText: "OK"},
- "responseBody": JSON.stringify({"data":[{"last_modified":1445607541265, "done":false, "id":"901967b0-f729-4b30-8d8d-499cba7f4b1d", "title":"Modified title"}]})
+ "responseBody": JSON.stringify({
+ "data": [{
+ "last_modified": 1445607541265,
+ "done": false,
+ "id": "901967b0-f729-4b30-8d8d-499cba7f4b1d",
+ "title": "Modified title"
+ }]
+ })
}
};
return responses[`${req.method}:${req.path}?${req.queryString}`] ||
responses[req.method];
}
--- a/services/common/tests/unit/test_storage_adapter.js
+++ b/services/common/tests/unit/test_storage_adapter.js
@@ -38,30 +38,30 @@ function test_collection_operations() {
yield adapter.clear();
yield sqliteHandle.close();
});
// test creating new records... and getting them again
add_task(function* test_kinto_create_new_get_existing() {
let sqliteHandle = yield do_get_kinto_connection();
let adapter = do_get_kinto_adapter(sqliteHandle);
- let record = {id:"test-id", foo:"bar"};
+ let record = {id: "test-id", foo: "bar"};
yield adapter.execute((transaction) => transaction.create(record));
let newRecord = yield adapter.get("test-id");
// ensure the record is the same as when it was added
deepEqual(record, newRecord);
yield sqliteHandle.close();
});
// test removing records
add_task(function* test_kinto_can_remove_some_records() {
let sqliteHandle = yield do_get_kinto_connection();
let adapter = do_get_kinto_adapter(sqliteHandle);
// create a second record
- let record = {id:"test-id-2", foo:"baz"};
+ let record = {id: "test-id-2", foo: "baz"};
yield adapter.execute((transaction) => transaction.create(record));
let newRecord = yield adapter.get("test-id-2");
deepEqual(record, newRecord);
// delete the record
yield adapter.execute((transaction) => transaction.delete(record.id));
newRecord = yield adapter.get(record.id);
// ... and ensure it's no longer there
do_check_eq(newRecord, undefined);
@@ -81,33 +81,33 @@ function test_collection_operations() {
do_check_eq(newRecord, undefined);
yield sqliteHandle.close();
});
// test updating records... and getting them again
add_task(function* test_kinto_update_get_existing() {
let sqliteHandle = yield do_get_kinto_connection();
let adapter = do_get_kinto_adapter(sqliteHandle);
- let originalRecord = {id:"test-id", foo:"bar"};
- let updatedRecord = {id:"test-id", foo:"baz"};
+ let originalRecord = {id: "test-id", foo: "bar"};
+ let updatedRecord = {id: "test-id", foo: "baz"};
yield adapter.clear();
yield adapter.execute((transaction) => transaction.create(originalRecord));
yield adapter.execute((transaction) => transaction.update(updatedRecord));
// ensure the record exists
let newRecord = yield adapter.get("test-id");
// ensure the record is the same as when it was added
deepEqual(updatedRecord, newRecord);
yield sqliteHandle.close();
});
// test listing records
add_task(function* test_kinto_list() {
let sqliteHandle = yield do_get_kinto_connection();
let adapter = do_get_kinto_adapter(sqliteHandle);
- let originalRecord = {id:"test-id-1", foo:"bar"};
+ let originalRecord = {id: "test-id-1", foo: "bar"};
let records = yield adapter.list();
do_check_eq(records.length, 1);
yield adapter.execute((transaction) => transaction.create(originalRecord));
records = yield adapter.list();
do_check_eq(records.length, 2);
yield sqliteHandle.close();
});
--- a/services/crypto/modules/WeaveCrypto.js
+++ b/services/crypto/modules/WeaveCrypto.js
@@ -23,24 +23,24 @@ const KEY_DERIVATION_HASHING_ALGO = "SHA
const KEY_DERIVATION_ITERATIONS = 4096; // PKCS#5 recommends at least 1000.
const DERIVED_KEY_ALGO = CRYPT_ALGO;
this.WeaveCrypto = function WeaveCrypto() {
this.init();
};
WeaveCrypto.prototype = {
- prefBranch : null,
- debug : true, // services.sync.log.cryptoDebug
+ prefBranch: null,
+ debug: true, // services.sync.log.cryptoDebug
- observer : {
- _self : null,
+ observer: {
+ _self: null,
- QueryInterface : XPCOMUtils.generateQI([Ci.nsIObserver,
- Ci.nsISupportsWeakReference]),
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver,
+ Ci.nsISupportsWeakReference]),
observe(subject, topic, data) {
let self = this._self;
self.log("Observed " + topic + " topic.");
if (topic == "nsPref:changed") {
self.debug = self.prefBranch.getBoolPref("cryptoDebug");
}
}
--- a/services/crypto/modules/utils.js
+++ b/services/crypto/modules/utils.js
@@ -177,17 +177,17 @@ this.CryptoUtils = {
* hmacLen: The hmac length
*
* The default value of 20 for hmacLen is appropriate for SHA1. For SHA256,
* hmacLen should be 32.
*
* The output is an octet string of length dkLen, which you
* can encode as you wish.
*/
- pbkdf2Generate : function pbkdf2Generate(P, S, c, dkLen,
+ pbkdf2Generate: function pbkdf2Generate(P, S, c, dkLen,
hmacAlg = Ci.nsICryptoHMAC.SHA1, hmacLen = 20) {
// We don't have a default in the algo itself, as NSS does.
if (!dkLen) {
throw new Error("dkLen should be defined");
}
function F(S, c, i, h) {
--- a/services/sync/modules/engines/clients.js
+++ b/services/sync/modules/engines/clients.js
@@ -291,25 +291,25 @@ ClientEngine.prototype = {
const allCommands = this._readCommands();
delete allCommands[clientId];
this._saveCommands(allCommands);
},
// We assume that clients not present in the FxA Device Manager list have been
// disconnected and so are stale
_refreshKnownStaleClients() {
- this._log.debug('Refreshing the known stale clients list');
+ this._log.debug("Refreshing the known stale clients list");
let localClients = Object.values(this._store._remoteClients)
.filter(client => client.fxaDeviceId) // iOS client records don't have fxaDeviceId
.map(client => client.fxaDeviceId);
let fxaClients;
try {
fxaClients = Async.promiseSpinningly(this.fxAccounts.getDeviceList()).map(device => device.id);
} catch (ex) {
- this._log.error('Could not retrieve the FxA device list', ex);
+ this._log.error("Could not retrieve the FxA device list", ex);
this._knownStaleFxADeviceIds = [];
return;
}
this._knownStaleFxADeviceIds = Utils.arraySub(localClients, fxaClients);
},
_syncStartup() {
// Reupload new client record periodically.
--- a/services/sync/modules/util.js
+++ b/services/sync/modules/util.js
@@ -297,38 +297,38 @@ this.Utils = {
base64Key: function base64Key(keyData) {
return btoa(keyData);
},
/**
* N.B., salt should be base64 encoded, even though we have to decode
* it later!
*/
- derivePresentableKeyFromPassphrase : function derivePresentableKeyFromPassphrase(passphrase, salt, keyLength, forceJS) {
+ derivePresentableKeyFromPassphrase: function derivePresentableKeyFromPassphrase(passphrase, salt, keyLength, forceJS) {
let k = CryptoUtils.deriveKeyFromPassphrase(passphrase, salt, keyLength,
forceJS);
return Utils.encodeKeyBase32(k);
},
/**
* N.B., salt should be base64 encoded, even though we have to decode
* it later!
*/
- deriveEncodedKeyFromPassphrase : function deriveEncodedKeyFromPassphrase(passphrase, salt, keyLength, forceJS) {
+ deriveEncodedKeyFromPassphrase: function deriveEncodedKeyFromPassphrase(passphrase, salt, keyLength, forceJS) {
let k = CryptoUtils.deriveKeyFromPassphrase(passphrase, salt, keyLength,
forceJS);
return Utils.base64Key(k);
},
/**
* Take a base64-encoded 128-bit AES key, returning it as five groups of five
* uppercase alphanumeric characters, separated by hyphens.
* A.K.A. base64-to-base32 encoding.
*/
- presentEncodedKeyAsSyncKey : function presentEncodedKeyAsSyncKey(encodedKey) {
+ presentEncodedKeyAsSyncKey: function presentEncodedKeyAsSyncKey(encodedKey) {
return Utils.encodeKeyBase32(atob(encodedKey));
},
jsonFilePath(filePath) {
return OS.Path.normalize(OS.Path.join(OS.Constants.Path.profileDir, "weave", filePath + ".json"));
},
/**
@@ -456,23 +456,23 @@ this.Utils = {
}
return OS.File.remove(path, { ignoreAbsent: true });
},
getErrorString: function Utils_getErrorString(error, args) {
try {
if (args) {
return Str.errors.formatStringFromName(error, args, args.length);
- } else {
- return Str.errors.GetStringFromName(error);
}
+ return Str.errors.GetStringFromName(error);
+
} catch (e) {}
// basically returns "Unknown Error"
- return Str.errors.GetStringFromName('error.reason.unknown');
+ return Str.errors.GetStringFromName("error.reason.unknown");
},
/**
* Generate 26 characters.
*/
generatePassphrase: function generatePassphrase() {
// Note that this is a different base32 alphabet to the one we use for
// other tasks. It's lowercase, uses different letters, and needs to be
--- a/services/sync/tests/tps/test_existing_bookmarks.js
+++ b/services/sync/tests/tps/test_existing_bookmarks.js
@@ -53,32 +53,32 @@ var bookmarks_after = {
}
]
};
/*
* Test phases
*/
-Phase('phase1', [
+Phase("phase1", [
[Bookmarks.add, bookmarks_initial],
[Bookmarks.verify, bookmarks_initial],
[Sync]
]);
-Phase('phase2', [
+Phase("phase2", [
[Bookmarks.add, bookmarks_initial],
[Bookmarks.verify, bookmarks_initial],
[Sync]
]);
-Phase('phase3', [
+Phase("phase3", [
[Bookmarks.verify, bookmarks_initial],
[Bookmarks.modify, bookmarks_initial],
[Bookmarks.verify, bookmarks_after],
[Sync]
]);
-Phase('phase4', [
+Phase("phase4", [
[Sync],
[Bookmarks.verify, bookmarks_after]
]);
--- a/services/sync/tests/unit/test_bookmark_engine.js
+++ b/services/sync/tests/unit/test_bookmark_engine.js
@@ -508,32 +508,32 @@ function FakeRecord(constructor, r) {
// Bug 632287.
add_task(async function test_mismatched_types() {
_("Ensure that handling a record that changes type causes deletion " +
"then re-adding.");
let oldRecord = {
"id": "l1nZZXfB8nC7",
- "type":"folder",
- "parentName":"Bookmarks Toolbar",
- "title":"Innerst i Sneglehode",
- "description":null,
+ "type": "folder",
+ "parentName": "Bookmarks Toolbar",
+ "title": "Innerst i Sneglehode",
+ "description": null,
"parentid": "toolbar"
};
oldRecord.cleartext = oldRecord;
let newRecord = {
"id": "l1nZZXfB8nC7",
- "type":"livemark",
- "siteUri":"http://sneglehode.wordpress.com/",
- "feedUri":"http://sneglehode.wordpress.com/feed/",
- "parentName":"Bookmarks Toolbar",
- "title":"Innerst i Sneglehode",
- "description":null,
+ "type": "livemark",
+ "siteUri": "http://sneglehode.wordpress.com/",
+ "feedUri": "http://sneglehode.wordpress.com/feed/",
+ "parentName": "Bookmarks Toolbar",
+ "title": "Innerst i Sneglehode",
+ "description": null,
"children":
["HCRq40Rnxhrd", "YeyWCV1RVsYw", "GCceVZMhvMbP", "sYi2hevdArlF",
"vjbZlPlSyGY8", "UtjUhVyrpeG6", "rVq8WMG2wfZI", "Lx0tcy43ZKhZ",
"oT74WwV8_j4P", "IztsItWVSo3-"],
"parentid": "toolbar"
};
newRecord.cleartext = newRecord;
--- a/services/sync/tests/unit/test_bookmark_livemarks.js
+++ b/services/sync/tests/unit/test_bookmark_livemarks.js
@@ -16,24 +16,24 @@ var engine = Service.engineManager.get("
var store = engine._store;
// Record borrowed from Bug 631361.
var record631361 = {
id: "M5bwUKK8hPyF",
index: 150,
modified: 1296768176.49,
payload:
- {"id":"M5bwUKK8hPyF",
- "type":"livemark",
- "siteUri":"http://www.bbc.co.uk/go/rss/int/news/-/news/",
- "feedUri":"http://fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
- "parentName":"Bookmarks Toolbar",
- "parentid":"toolbar",
- "title":"Latest Headlines",
- "description":"",
+ {"id": "M5bwUKK8hPyF",
+ "type": "livemark",
+ "siteUri": "http://www.bbc.co.uk/go/rss/int/news/-/news/",
+ "feedUri": "http://fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
+ "parentName": "Bookmarks Toolbar",
+ "parentid": "toolbar",
+ "title": "Latest Headlines",
+ "description": "",
"children":
["7oBdEZB-8BMO", "SUd1wktMNCTB", "eZe4QWzo1BcY", "YNBhGwhVnQsN",
"92Aw2SMEkFg0", "uw0uKqrVFwd-", "x7mx2P3--8FJ", "d-jVF8UuC9Ye",
"DV1XVtKLEiZ5", "g4mTaTjr837Z", "1Zi5W3lwBw8T", "FEYqlUHtbBWS",
"qQd2u7LjosCB", "VUs2djqYfbvn", "KuhYnHocu7eg", "u2gcg9ILRg-3",
"hfK_RP-EC7Ol", "Aq5qsa4E5msH", "6pZIbxuJTn-K", "k_fp0iN3yYMR",
"59YD3iNOYO8O", "01afpSdAk2iz", "Cq-kjXDEPIoP", "HtNTjt9UwWWg",
"IOU8QRSrTR--", "HJ5lSlBx6d1D", "j2dz5R5U6Khc", "5GvEjrNR0yJl",
--- a/services/sync/tests/unit/test_bookmark_repair.js
+++ b/services/sync/tests/unit/test_bookmark_repair.js
@@ -69,17 +69,17 @@ async function promiseValidationDone(exp
let obs = promiseOneObserver("weave:engine:validate:finish");
let { subject: validationResult } = await obs;
// check the results - anything non-zero is checked against |expected|
let summary = validationResult.problems.getSummary();
let actual = summary.filter(({name, count}) => count);
actual.sort((a, b) => String(a.name).localeCompare(b.name));
expected.sort((a, b) => String(a.name).localeCompare(b.name));
deepEqual(actual, expected);
-};
+}
async function cleanup(server) {
bookmarksEngine._store.wipe();
clientsEngine._store.wipe();
Svc.Prefs.resetBranch("");
Service.recordManager.clearCache();
await promiseStopServer(server);
}
@@ -161,18 +161,18 @@ add_task(async function test_bookmark_re
source: PlacesUtils.bookmarks.SOURCE_SYNC,
});
deepEqual(bookmarksEngine.pullNewChanges(), {},
`Should not upload tombstone for ${bookmarkInfo.guid}`);
// sync again - we should have a few problems...
_("Sync again to trigger repair");
validationPromise = promiseValidationDone([
- {"name":"missingChildren","count":1},
- {"name":"structuralDifferences","count":1},
+ {"name": "missingChildren", "count": 1},
+ {"name": "structuralDifferences", "count": 1},
]);
Service.sync();
await validationPromise;
let flowID = Svc.Prefs.get("repairs.bookmarks.flowID");
checkRecordedEvents([{
object: "repair",
method: "started",
value: undefined,
@@ -391,18 +391,18 @@ add_task(async function test_repair_clie
// sanity check we aren't going to sync this removal.
do_check_empty(bookmarksEngine.pullNewChanges());
// sanity check that the bookmark is not there anymore
do_check_false(await PlacesUtils.bookmarks.fetch(bookmarkInfo.guid));
// sync again - we should have a few problems...
_("Syncing again.");
validationPromise = promiseValidationDone([
- {"name":"clientMissing","count":1},
- {"name":"structuralDifferences","count":1},
+ {"name": "clientMissing", "count": 1},
+ {"name": "structuralDifferences", "count": 1},
]);
Service.sync();
await validationPromise;
// We shouldn't have started a repair with our second client.
equal(clientsEngine.getClientCommands(remoteID).length, 0);
// Trigger a sync (will request the missing item)
@@ -475,18 +475,18 @@ add_task(async function test_repair_serv
await validationPromise;
// Now we will reach into the server and hard-delete the bookmark
user.collection("bookmarks").wbo(bookmarkInfo.guid).delete();
// sync again - we should have a few problems...
_("Syncing again.");
validationPromise = promiseValidationDone([
- {"name":"serverMissing","count":1},
- {"name":"missingChildren","count":1},
+ {"name": "serverMissing", "count": 1},
+ {"name": "missingChildren", "count": 1},
]);
Service.sync();
await validationPromise;
// We shouldn't have started a repair with our second client.
equal(clientsEngine.getClientCommands(remoteID).length, 0);
// Trigger a sync (will upload the missing item)
@@ -562,19 +562,19 @@ add_task(async function test_repair_serv
server.insertWBO("foo", "bookmarks", new ServerWBO(bookmarkInfo.guid, encryptPayload({
id: bookmarkInfo.guid,
deleted: true,
}), Date.now() / 1000));
// sync again - we should have a few problems...
_("Syncing again.");
validationPromise = promiseValidationDone([
- {"name":"serverDeleted","count":1},
- {"name":"deletedChildren","count":1},
- {"name":"orphans","count":1}
+ {"name": "serverDeleted", "count": 1},
+ {"name": "deletedChildren", "count": 1},
+ {"name": "orphans", "count": 1}
]);
Service.sync();
await validationPromise;
// We shouldn't have started a repair with our second client.
equal(clientsEngine.getClientCommands(remoteID).length, 0);
// Trigger a sync (will upload the missing item)
--- a/services/sync/tests/unit/test_bookmark_repair_requestor.js
+++ b/services/sync/tests/unit/test_bookmark_repair_requestor.js
@@ -491,24 +491,24 @@ add_task(async function test_requestor_a
requestor.continueRepairs(response);
// We should have aborted now
checkRepairFinished();
const expected = [
{ method: "started",
object: "repair",
value: undefined,
- extra: { flowID: flowID, numIDs: "3" },
+ extra: { flowID, numIDs: "3" },
},
{ method: "request",
object: "repair",
value: "upload",
- extra: { flowID: flowID, numIDs: "3", deviceID: "client-a" },
+ extra: { flowID, numIDs: "3", deviceID: "client-a" },
},
{ method: "aborted",
object: "repair",
value: undefined,
- extra: { flowID: flowID, numIDs: "3", reason: "other clients repairing" },
+ extra: { flowID, numIDs: "3", reason: "other clients repairing" },
}
];
deepEqual(mockService._recordedEvents, expected);
});
--- a/services/sync/tests/unit/test_errorhandler_2.js
+++ b/services/sync/tests/unit/test_errorhandler_2.js
@@ -942,17 +942,17 @@ add_task(async function test_engine_appl
enableValidationPrefs();
let server = EHTestsCommon.sync_httpd_setup();
let engine = engineManager.get("catapult");
engine.enabled = true;
delete engine.exception;
engine.sync = function sync() {
- Svc.Obs.notify("weave:engine:sync:applied", {newFailed:1}, "catapult");
+ Svc.Obs.notify("weave:engine:sync:applied", {newFailed: 1}, "catapult");
};
Svc.Prefs.set("log.appender.file.logOnError", true);
let promiseObserved = promiseOneObserver("weave:service:reset-file-log");
do_check_eq(Status.engines["catapult"], undefined);
do_check_true(await EHTestsCommon.setUp(server));
--- a/services/sync/tps/extensions/tps/components/tps-cmdline.js
+++ b/services/sync/tps/extensions/tps/components/tps-cmdline.js
@@ -20,33 +20,33 @@ const nsISupportsString = C
const nsIWindowWatcher = Components.interfaces.nsIWindowWatcher;
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
function TPSCmdLineHandler() {}
TPSCmdLineHandler.prototype = {
classDescription: "TPSCmdLineHandler",
- classID : TPS_CMDLINE_CLSID,
- contractID : TPS_CMDLINE_CONTRACTID,
+ classID: TPS_CMDLINE_CLSID,
+ contractID: TPS_CMDLINE_CONTRACTID,
QueryInterface: XPCOMUtils.generateQI([nsISupports,
nsICommandLineHandler,
nsICmdLineHandler]), /* nsISupports */
/* nsICmdLineHandler */
- commandLineArgument : "-tps",
- prefNameForStartup : "general.startup.tps",
- helpText : "Run TPS tests with the given test file.",
- handlesArgs : true,
- defaultArgs : "",
- openWindowWithArgs : true,
+ commandLineArgument: "-tps",
+ prefNameForStartup: "general.startup.tps",
+ helpText: "Run TPS tests with the given test file.",
+ handlesArgs: true,
+ defaultArgs: "",
+ openWindowWithArgs: true,
/* nsICommandLineHandler */
- handle : function handler_handle(cmdLine) {
+ handle: function handler_handle(cmdLine) {
let options = {};
let uristr = cmdLine.handleFlagWithParam("tps", false);
if (uristr == null)
return;
let phase = cmdLine.handleFlagWithParam("tpsphase", false);
if (phase == null)
throw Error("must specify --tpsphase with --tps");
@@ -67,20 +67,20 @@ TPSCmdLineHandler.prototype = {
Components.utils.import("resource://tps/tps.jsm");
Components.utils.import("resource://tps/quit.js", TPS);
let uri = cmdLine.resolveURI(uristr).spec;
TPS.RunTestPhase(uri, phase, logfile, options);
// cmdLine.preventDefault = true;
},
- helpInfo : " --tps <file> Run TPS tests with the given test file.\n" +
- " --tpsphase <phase> Run the specified phase in the TPS test.\n" +
- " --tpslogfile <file> Logfile for TPS output.\n" +
- " --ignore-unused-engines Don't load engines not used in tests.\n",
+ helpInfo: " --tps <file> Run TPS tests with the given test file.\n" +
+ " --tpsphase <phase> Run the specified phase in the TPS test.\n" +
+ " --tpslogfile <file> Logfile for TPS output.\n" +
+ " --ignore-unused-engines Don't load engines not used in tests.\n",
};
var TPSCmdLineFactory = {
createInstance(outer, iid) {
if (outer != null) {
throw new Error(Components.results.NS_ERROR_NO_AGGREGATION);
}