summaryrefslogtreecommitdiffstats
path: root/browser/modules/test/unit/social/test_SocialService.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/modules/test/unit/social/test_SocialService.js')
-rw-r--r--browser/modules/test/unit/social/test_SocialService.js166
1 files changed, 0 insertions, 166 deletions
diff --git a/browser/modules/test/unit/social/test_SocialService.js b/browser/modules/test/unit/social/test_SocialService.js
deleted file mode 100644
index e6f354fed..000000000
--- a/browser/modules/test/unit/social/test_SocialService.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-Cu.import("resource://gre/modules/Services.jsm");
-
-XPCOMUtils.defineLazyModuleGetter(this, "PlacesTestUtils",
- "resource://testing-common/PlacesTestUtils.jsm");
-
-function run_test() {
- initApp();
-
- // NOTE: none of the manifests here can have a workerURL set, or we attempt
- // to create a FrameWorker and that fails under xpcshell...
- let manifests = [
- { // normal provider
- name: "provider 1",
- origin: "https://example1.com",
- shareURL: "https://example1.com/share/",
- },
- { // provider without workerURL
- name: "provider 2",
- origin: "https://example2.com",
- shareURL: "https://example2.com/share/",
- }
- ];
-
- Cu.import("resource:///modules/SocialService.jsm");
-
- let runner = new AsyncRunner();
- let next = runner.next.bind(runner);
- runner.appendIterator(testAddProviders(manifests, next));
- runner.appendIterator(testGetProvider(manifests, next));
- runner.appendIterator(testGetProviderList(manifests, next));
- runner.appendIterator(testAddRemoveProvider(manifests, next));
- runner.appendIterator(testIsSameOrigin(manifests, next));
- runner.appendIterator(testResolveUri (manifests, next));
- runner.appendIterator(testOrderedProviders(manifests, next));
- runner.appendIterator(testRemoveProviders(manifests, next));
- runner.next();
-}
-
-function* testAddProviders(manifests, next) {
- do_check_false(SocialService.enabled);
- let provider = yield SocialService.addProvider(manifests[0], next);
- do_check_true(SocialService.enabled);
- do_check_false(provider.enabled);
- provider = yield SocialService.addProvider(manifests[1], next);
- do_check_false(provider.enabled);
-}
-
-function* testRemoveProviders(manifests, next) {
- do_check_true(SocialService.enabled);
- yield SocialService.disableProvider(manifests[0].origin, next);
- yield SocialService.disableProvider(manifests[1].origin, next);
- do_check_false(SocialService.enabled);
-}
-
-function* testGetProvider(manifests, next) {
- for (let i = 0; i < manifests.length; i++) {
- let manifest = manifests[i];
- let provider = yield SocialService.getProvider(manifest.origin, next);
- do_check_neq(provider, null);
- do_check_eq(provider.name, manifest.name);
- do_check_eq(provider.workerURL, manifest.workerURL);
- do_check_eq(provider.origin, manifest.origin);
- }
- do_check_eq((yield SocialService.getProvider("bogus", next)), null);
-}
-
-function* testGetProviderList(manifests, next) {
- let providers = yield SocialService.getProviderList(next);
- do_check_true(providers.length >= manifests.length);
- for (let i = 0; i < manifests.length; i++) {
- let providerIdx = providers.map(p => p.origin).indexOf(manifests[i].origin);
- let provider = providers[providerIdx];
- do_check_true(!!provider);
- do_check_false(provider.enabled);
- do_check_eq(provider.workerURL, manifests[i].workerURL);
- do_check_eq(provider.name, manifests[i].name);
- }
-}
-
-function* testAddRemoveProvider(manifests, next) {
- var threw;
- try {
- // Adding a provider whose origin already exists should fail
- SocialService.addProvider(manifests[0]);
- } catch (ex) {
- threw = ex;
- }
- do_check_neq(threw.toString().indexOf("SocialService.addProvider: provider with this origin already exists"), -1);
-
- let originalProviders = yield SocialService.getProviderList(next);
-
- // Check that provider installation succeeds
- let newProvider = yield SocialService.addProvider({
- name: "foo",
- origin: "http://example3.com"
- }, next);
- let retrievedNewProvider = yield SocialService.getProvider(newProvider.origin, next);
- do_check_eq(newProvider, retrievedNewProvider);
-
- let providersAfter = yield SocialService.getProviderList(next);
- do_check_eq(providersAfter.length, originalProviders.length + 1);
- do_check_neq(providersAfter.indexOf(newProvider), -1);
-
- // Now remove the provider
- yield SocialService.disableProvider(newProvider.origin, next);
- providersAfter = yield SocialService.getProviderList(next);
- do_check_eq(providersAfter.length, originalProviders.length);
- do_check_eq(providersAfter.indexOf(newProvider), -1);
- newProvider = yield SocialService.getProvider(newProvider.origin, next);
- do_check_true(!newProvider);
-}
-
-function* testIsSameOrigin(manifests, next) {
- let providers = yield SocialService.getProviderList(next);
- let provider = providers[0];
- // provider.origin is a string.
- do_check_true(provider.isSameOrigin(provider.origin));
- do_check_true(provider.isSameOrigin(Services.io.newURI(provider.origin, null, null)));
- do_check_true(provider.isSameOrigin(provider.origin + "/some-sub-page"));
- do_check_true(provider.isSameOrigin(Services.io.newURI(provider.origin + "/some-sub-page", null, null)));
- do_check_false(provider.isSameOrigin("http://something.com"));
- do_check_false(provider.isSameOrigin(Services.io.newURI("http://something.com", null, null)));
- do_check_false(provider.isSameOrigin("data:text/html,<p>hi"));
- do_check_true(provider.isSameOrigin("data:text/html,<p>hi", true));
- do_check_false(provider.isSameOrigin(Services.io.newURI("data:text/html,<p>hi", null, null)));
- do_check_true(provider.isSameOrigin(Services.io.newURI("data:text/html,<p>hi", null, null), true));
- // we explicitly handle null and return false
- do_check_false(provider.isSameOrigin(null));
-}
-
-function* testResolveUri(manifests, next) {
- let providers = yield SocialService.getProviderList(next);
- let provider = providers[0];
- do_check_eq(provider.resolveUri(provider.origin).spec, provider.origin + "/");
- do_check_eq(provider.resolveUri("foo.html").spec, provider.origin + "/foo.html");
- do_check_eq(provider.resolveUri("/foo.html").spec, provider.origin + "/foo.html");
- do_check_eq(provider.resolveUri("http://somewhereelse.com/foo.html").spec, "http://somewhereelse.com/foo.html");
- do_check_eq(provider.resolveUri("data:text/html,<p>hi").spec, "data:text/html,<p>hi");
-}
-
-function* testOrderedProviders(manifests, next) {
- let providers = yield SocialService.getProviderList(next);
-
- // add visits for only one of the providers
- let visits = [];
- let startDate = Date.now() * 1000;
- for (let i = 0; i < 10; i++) {
- visits.push({
- uri: Services.io.newURI(providers[1].shareURL + i, null, null),
- visitDate: startDate + i
- });
- }
-
- PlacesTestUtils.addVisits(visits).then(next);
- yield;
- let orderedProviders = yield SocialService.getOrderedProviderList(next);
- do_check_eq(orderedProviders[0], providers[1]);
- do_check_eq(orderedProviders[1], providers[0]);
- do_check_true(orderedProviders[0].frecency > orderedProviders[1].frecency);
- PlacesTestUtils.clearHistory().then(next);
- yield;
-}