summaryrefslogtreecommitdiffstats
path: root/browser/components/preferences/tests/browser_fluent.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--browser/components/preferences/tests/browser_fluent.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/browser/components/preferences/tests/browser_fluent.js b/browser/components/preferences/tests/browser_fluent.js
new file mode 100644
index 0000000000..4e3216549b
--- /dev/null
+++ b/browser/components/preferences/tests/browser_fluent.js
@@ -0,0 +1,40 @@
+function whenMainPaneLoadedFinished() {
+ return new Promise(function(resolve, reject) {
+ const topic = "main-pane-loaded";
+ Services.obs.addObserver(function observer(aSubject) {
+ Services.obs.removeObserver(observer, topic);
+ resolve();
+ }, topic);
+ });
+}
+
+// Temporary test for an experimental new localization API.
+// See bug 1402069 for details.
+add_task(async function() {
+ // The string is used only when `browserTabsRemoteAutostart` is true
+ if (!Services.appinfo.browserTabsRemoteAutostart) {
+ ok(true, "fake test to avoid harness complaining");
+ return;
+ }
+
+ await Promise.all([
+ openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true }),
+ whenMainPaneLoadedFinished(),
+ ]);
+
+ let doc = gBrowser.contentDocument;
+ await doc.l10n.ready;
+
+ let [msg] = await doc.l10n.formatMessages([{ id: "category-general" }]);
+
+ let elem = doc.querySelector(`#category-general`);
+
+ Assert.deepEqual(msg, {
+ value: null,
+ attributes: [
+ { name: "tooltiptext", value: elem.getAttribute("tooltiptext") },
+ ],
+ });
+
+ BrowserTestUtils.removeTab(gBrowser.selectedTab);
+});