forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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);
 | 
						|
});
 |