forked from mirrors/gecko-dev
		
	 ee093cd087
			
		
	
	
		ee093cd087
		
	
	
	
	
		
			
			Differential Revision: https://phabricator.services.mozilla.com/D69257 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 | |
| /* vim: set ts=2 et sw=2 tw=80: */
 | |
| /* 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/. */
 | |
| "use strict";
 | |
| const ROOT_URL = getRootDirectory(gTestPath).replace(
 | |
|   "chrome://mochitests/content/",
 | |
|   "https://example.com/"
 | |
| );
 | |
| const TEST_URL = "about:license";
 | |
| const TEST_URL2 = ROOT_URL + "ioactivity.html";
 | |
| 
 | |
| var gotSocket = false;
 | |
| var gotFile = false;
 | |
| var gotSqlite = false;
 | |
| var gotEmptyData = false;
 | |
| 
 | |
| function processResults(results) {
 | |
|   for (let data of results) {
 | |
|     console.log(data.location);
 | |
|     gotEmptyData = data.rx == 0 && data.tx == 0 && !gotEmptyData;
 | |
|     gotSocket = data.location.startsWith("socket://127.0.0.1:") || gotSocket;
 | |
|     gotFile = data.location.endsWith("aboutLicense.css") || gotFile;
 | |
|     gotSqlite = data.location.endsWith("places.sqlite") || gotSqlite;
 | |
|     // check for the write-ahead file as well
 | |
|     gotSqlite = data.location.endsWith("places.sqlite-wal") || gotSqlite;
 | |
|   }
 | |
| }
 | |
| 
 | |
| add_task(async function testRequestIOActivity() {
 | |
|   await SpecialPowers.pushPrefEnv({
 | |
|     set: [["io.activity.enabled", true]],
 | |
|   });
 | |
|   waitForExplicitFinish();
 | |
|   Services.obs.notifyObservers(null, "profile-initial-state");
 | |
| 
 | |
|   await BrowserTestUtils.withNewTab(TEST_URL, async function(browser) {
 | |
|     await BrowserTestUtils.withNewTab(TEST_URL2, async function(browser) {
 | |
|       let results = await ChromeUtils.requestIOActivity();
 | |
|       processResults(results);
 | |
| 
 | |
|       ok(gotSocket, "A socket was used");
 | |
|       // test deactivated for now
 | |
|       // ok(gotFile, "A file was used");
 | |
|       ok(gotSqlite, "A sqlite DB was used");
 | |
|       ok(!gotEmptyData, "Every I/O event had data");
 | |
|     });
 | |
|   });
 | |
| });
 |