summaryrefslogtreecommitdiffstats
path: root/browser/components/translation/test/browser_translation_yandex.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/translation/test/browser_translation_yandex.js')
-rw-r--r--browser/components/translation/test/browser_translation_yandex.js130
1 files changed, 0 insertions, 130 deletions
diff --git a/browser/components/translation/test/browser_translation_yandex.js b/browser/components/translation/test/browser_translation_yandex.js
deleted file mode 100644
index 6e0af18e6..000000000
--- a/browser/components/translation/test/browser_translation_yandex.js
+++ /dev/null
@@ -1,130 +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/. */
-
-// Test the Yandex Translator client against a mock Yandex service, yandex.sjs.
-
-"use strict";
-
-const kEnginePref = "browser.translation.engine";
-const kApiKeyPref = "browser.translation.yandex.apiKeyOverride";
-const kShowUIPref = "browser.translation.ui.show";
-
-const {Promise} = Cu.import("resource://gre/modules/Promise.jsm", {});
-const {Translation} = Cu.import("resource:///modules/translation/Translation.jsm", {});
-
-add_task(function* setup() {
- Services.prefs.setCharPref(kEnginePref, "yandex");
- Services.prefs.setCharPref(kApiKeyPref, "yandexValidKey");
- Services.prefs.setBoolPref(kShowUIPref, true);
-
- registerCleanupFunction(function () {
- Services.prefs.clearUserPref(kEnginePref);
- Services.prefs.clearUserPref(kApiKeyPref);
- Services.prefs.clearUserPref(kShowUIPref);
- });
-});
-
-/**
- * Ensure that the translation engine behaives as expected when translating
- * a sample page.
- */
-add_task(function* test_yandex_translation() {
-
- // Loading the fixture page.
- let url = constructFixtureURL("bug1022725-fr.html");
- let tab = yield promiseTestPageLoad(url);
-
- // Translating the contents of the loaded tab.
- gBrowser.selectedTab = tab;
- let browser = tab.linkedBrowser;
-
- yield ContentTask.spawn(browser, null, function*() {
- Cu.import("resource:///modules/translation/TranslationDocument.jsm");
- Cu.import("resource:///modules/translation/YandexTranslator.jsm");
-
- let client = new YandexTranslator(
- new TranslationDocument(content.document), "fr", "en");
- let result = yield client.translate();
-
- Assert.ok(result, "There should be a result.");
- });
-
- gBrowser.removeTab(tab);
-});
-
-/**
- * Ensure that Yandex.Translate is propertly attributed.
- */
-add_task(function* test_yandex_attribution() {
- // Loading the fixture page.
- let url = constructFixtureURL("bug1022725-fr.html");
- let tab = yield promiseTestPageLoad(url);
-
- info("Show an info bar saying the current page is in French");
- let notif = showTranslationUI(tab, "fr");
- let attribution = notif._getAnonElt("translationEngine").selectedIndex;
- Assert.equal(attribution, 1, "Yandex attribution should be shown.");
-
- gBrowser.removeTab(tab);
-});
-
-
-add_task(function* test_preference_attribution() {
-
- let prefUrl = "about:preferences#content";
- let tab = yield promiseTestPageLoad(prefUrl);
-
- let browser = gBrowser.getBrowserForTab(tab);
- let win = browser.contentWindow;
- let bingAttribution = win.document.getElementById("bingAttribution");
- ok(bingAttribution, "Bing attribution should exist.");
- ok(bingAttribution.hidden, "Bing attribution should be hidden.");
-
- gBrowser.removeTab(tab);
-
-});
-
-/**
- * A helper function for constructing a URL to a page stored in the
- * local fixture folder.
- *
- * @param filename Name of a fixture file.
- */
-function constructFixtureURL(filename) {
- // Deduce the Mochitest server address in use from a pref that was pre-processed.
- let server = Services.prefs.getCharPref("browser.translation.yandex.translateURLOverride")
- .replace("http://", "");
- server = server.substr(0, server.indexOf("/"));
- let url = "http://" + server +
- "/browser/browser/components/translation/test/fixtures/" + filename;
- return url;
-}
-
-/**
- * A helper function to open a new tab and wait for its content to load.
- *
- * @param String url A URL to be loaded in the new tab.
- */
-function promiseTestPageLoad(url) {
- let deferred = Promise.defer();
- let tab = gBrowser.selectedTab = gBrowser.addTab(url);
- let browser = gBrowser.selectedBrowser;
- browser.addEventListener("load", function listener() {
- if (browser.currentURI.spec == "about:blank")
- return;
- info("Page loaded: " + browser.currentURI.spec);
- browser.removeEventListener("load", listener, true);
- deferred.resolve(tab);
- }, true);
- return deferred.promise;
-}
-
-function showTranslationUI(tab, aDetectedLanguage) {
- let browser = gBrowser.selectedBrowser;
- Translation.documentStateReceived(browser, {state: Translation.STATE_OFFER,
- originalShown: true,
- detectedLanguage: aDetectedLanguage});
- let ui = browser.translationUI;
- return ui.notificationBox.getNotificationWithValue("translation");
-}