LCOV - code coverage report
Current view: top level - test/wpt/xhr - getallresponseheaders.js (source / functions) Hit Total Coverage
Test: lcov.info Lines: 48 88 54.5 %
Date: 2024-12-07 00:20:21 Functions: 0 1 0.0 %
Branches: 1 1 100.0 %

           Branch data     Line data    Source code
       1            [ + ]:          2 : import assert from 'node:assert/strict';
       2                 :          2 : import { XMLHttpRequest } from '../../../lib/whatwg-xhr.js';
       3                 :          2 : 
       4                 :          2 : export default (activeURL) => {
       5                 :          0 : 
       6                 :          0 :         let xhr = new XMLHttpRequest();
       7                 :          0 : 
       8                 :          0 :         xhr.onload = () => {
       9                 :          0 :             assert.strictEqual(xhr.getAllResponseHeaders(), 'also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n');
      10                 :          0 :         };
      11                 :          0 : 
      12                 :          0 :         xhr.onerror = (e) => {
      13                 :          0 :                 assert(false, `unexpected error`);
      14                 :          0 :         };
      15                 :          0 : 
      16                 :          0 :         xhr.open('GET', `${activeURL}/headers.asis`);
      17                 :          0 :         xhr.send();
      18                 :          0 : 
      19                 :          0 :         const tests = [
      20                 :          0 :                 ['content-length',   '0',                        'header-content-length'],
      21                 :          0 :                 ['content-length',   '0, 0',                     'header-content-length-twice'],
      22                 :          0 :                 ['double-trouble',   ',',                        'headers-double-empty'],
      23                 :          0 :                 ['foo-test',         '1, 2, 3',                  'headers-basic'],
      24                 :          0 :                 ['heya',             ', \u000B\u000C, 1, , , 2', 'headers-some-are-empty'],
      25                 :          0 :                 ['www-authenticate', '1, 2, 3, 4',               'headers-www-authenticate'],
      26                 :          0 :         ];
      27                 :          0 : 
      28                 :          0 :         tests.forEach(testValues => {
      29                 :          0 : 
      30                 :          0 :                 const xhr = new XMLHttpRequest();
      31                 :          0 : 
      32                 :          0 :                 xhr.onload = () => {
      33                 :          0 :                         assert.strictEqual(xhr.getAllResponseHeaders(), testValues[0] + ': ' + testValues[1] + '\r\n');
      34                 :          0 :                 };
      35                 :          0 : 
      36                 :          0 :                 xhr.onerror = () => {
      37                 :          0 :                         assert(false, 'unexpected error');
      38                 :          0 :                 };
      39                 :          0 : 
      40                 :          0 :                 xhr.open('GET', `${activeURL}/${testValues[2]}.asis`);
      41                 :          0 :                 xhr.send();
      42                 :          0 :         });
      43                 :          0 : 
      44                 :          0 : }
      45                 :          2 : 
      46                 :          2 : /*
      47                 :          2 :  * getallresponseheaders.htm
      48                 :          2 :  *
      49                 :          2 : 
      50                 :          2 : <!doctype html>
      51                 :          2 : <title>XMLHttpRequest: getAllResponseHeaders()</title>
      52                 :          2 : <script src=/resources/testharness.js></script>
      53                 :          2 : <script src=/resources/testharnessreport.js></script>
      54                 :          2 : <div id="log"></div>
      55                 :          2 : <script>
      56                 :          2 : async_test((t) => {
      57                 :          2 :   const client = new XMLHttpRequest()
      58                 :          2 :   client.onload = t.step_func_done(() => {
      59                 :          2 :     assert_equals(client.getAllResponseHeaders(), "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n__custom: token\r\n")
      60                 :          2 :   })
      61                 :          2 :   client.onerror = t.unreached_func("unexpected error")
      62                 :          2 :   client.open("GET", "resources/headers.asis")
      63                 :          2 :   client.send(null)
      64                 :          2 : });
      65                 :          2 : 
      66                 :          2 : [
      67                 :          2 :   ["content-length", "0", "header-content-length"],
      68                 :          2 :   ["content-length", "0, 0", "header-content-length-twice"],
      69                 :          2 :   ["double-trouble", ", ", "headers-double-empty"],
      70                 :          2 :   ["foo-test", "1, 2, 3", "headers-basic"],
      71                 :          2 :   ["heya", ", \u000B\u000C, 1, , , 2", "headers-some-are-empty"],
      72                 :          2 :   ["www-authenticate", "1, 2, 3, 4", "headers-www-authenticate"],
      73                 :          2 : ].forEach(testValues => {
      74                 :          2 :   async_test(t => {
      75                 :          2 :     const client = new XMLHttpRequest();
      76                 :          2 :     client.onload = t.step_func_done(() => {
      77                 :          2 :       assert_equals(client.getAllResponseHeaders(), testValues[0] + ": " + testValues[1] + "\r\n");
      78                 :          2 :     });
      79                 :          2 :     client.onerror = t.unreached_func("unexpected error");
      80                 :          2 :     client.open("GET", "resources/" + testValues[2] + ".asis");
      81                 :          2 :     client.send();
      82                 :          2 :   });
      83                 :          2 : });
      84                 :          2 : </script>
      85                 :          2 : 
      86                 :          2 :  *
      87                 :          2 :  * getallresponseheaders.htm
      88                 :          2 :  */

Generated by: LCOV version 1.14