forked from mirrors/gecko-dev
		
	 4a4c4fdfd4
			
		
	
	
		4a4c4fdfd4
		
	
	
	
	
		
			
			MozReview-Commit-ID: LxLDWlsIlSk --HG-- extra : rebase_source : 5762bdf08ff6c09c1b29f87366bddb552e4c74b2 extra : amend_source : 922a0c03722bd5a81daace7f0289ec3228191cfb
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| add_task(async function() {
 | |
|   const acceptedExtensionIdsPref = "extensions.geckoProfiler.acceptedExtensionIds";
 | |
|   Services.prefs.setCharPref(acceptedExtensionIdsPref, "profilertest@mozilla.com");
 | |
| 
 | |
|   let extension = ExtensionTestUtils.loadExtension({
 | |
|     background: () => {
 | |
|       browser.test.sendMessage(
 | |
|         "features",
 | |
|         Object.values(browser.geckoProfiler.ProfilerFeature));
 | |
|     },
 | |
|     manifest: {
 | |
|       "permissions": ["geckoProfiler"],
 | |
|       "applications": {
 | |
|         "gecko": {
 | |
|           "id": "profilertest@mozilla.com",
 | |
|         },
 | |
|       },
 | |
|     },
 | |
|   });
 | |
| 
 | |
|   await extension.startup();
 | |
|   let acceptedFeatures = await extension.awaitMessage("features");
 | |
|   await extension.unload();
 | |
| 
 | |
|   Services.prefs.clearUserPref(acceptedExtensionIdsPref);
 | |
| 
 | |
|   const allFeaturesAcceptedByProfiler = Services.profiler.GetAllFeatures([]);
 | |
|   ok(allFeaturesAcceptedByProfiler.length >= 2,
 | |
|      "Either we've massively reduced the profiler's feature set, or something is wrong.");
 | |
| 
 | |
|   // Check that the list of available values in the ProfilerFeature enum
 | |
|   // matches the list of features supported by the profiler.
 | |
|   for (const feature of allFeaturesAcceptedByProfiler) {
 | |
|     ok(acceptedFeatures.includes(feature),
 | |
|        `The schema of the geckoProfiler.start() method should accept the "${feature}" feature.`);
 | |
|   }
 | |
|   for (const feature of acceptedFeatures) {
 | |
|     ok(allFeaturesAcceptedByProfiler.includes(feature),
 | |
|        `The schema of the geckoProfiler.start() method mentions a "${feature}" feature which is not supported by the profiler.`);
 | |
|   }
 | |
| });
 |