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);
 | |
| });
 | 
