text: (async function(testRunner) {
    const {session, dp} = await testRunner.startURL(
      'https://127.0.0.1:8443/inspector-protocol/resources/empty.html',
      `Tests setting accepted encodings.`);
  
    await dp.Network.enable();
  
    const tests = [
      [],
      ['gzip'],
      ['gzip', 'br'],
      ['gzip', 'br', 'deflate'],
      ['br'],
    ];
  
    async function runTest(injectTestResource) {
      injectTestResource();
      const response = (await dp.Network.onceLoadingFinished()).params;
      const content = await dp.Network.getResponseBody({requestId: response.requestId});
      testRunner.log('Server received Accept-Encoding header: ' + content.result.body);
    }
  
    async function runTests(injectTestResource) {
      testRunner.log('Testing Accept-Encoding header before overrides are set:');
      await runTest(injectTestResource);
      for (const test of tests) {
        await dp.Network.setAcceptedEncodings({encodings: test});
        testRunner.log('Testing Accept-Encoding header with the override: ' + test.join(','));
        await runTest(injectTestResource);
      }
      await dp.Network.clearAcceptedEncodingsOverride();
      testRunner.log('Testing Accept-Encoding header after clearAcceptedEncodingsOverride');
      await runTest(injectTestResource);
    }
  
    const resourceURL = 'https://127.0.0.1:8443/inspector-protocol/network/resources/content-encoding.php';
    testRunner.log("Testing that navigation requests have overrides applied:\n");
    await runTests(() => session.evaluate(`
      var iframe = document.createElement('iframe');
      iframe.src = '${resourceURL}';
      document.body.appendChild(iframe);
    `));
    testRunner.log("Testing that page fetch requests have overrides applied:\n");
    await runTests(() => session.evaluate(`fetch('${resourceURL}')`));
  
    testRunner.log('Invalid encoding error:');
    testRunner.log(await dp.Network.setAcceptedEncodings({encodings: ['unknown']}));
  
    testRunner.completeTest();
  })
  