LCOV - code coverage report
Current view: top level - test/wpt/xhr/formdata - append.any.js (source / functions) Hit Total Coverage
Test: lcov.info Lines: 78 78 100.0 %
Date: 2025-01-24 02:02:48 Functions: 2 2 100.0 %
Branches: 4 4 100.0 %

           Branch data     Line data    Source code
       1            [ + ]:          1 : import assert from 'node:assert/strict';
       2                 :          1 : import { FormData } from '../../../../lib/whatwg-xhr.js';
       3                 :          1 : 
       4            [ + ]:          1 : export default (activeURL) => {
       5                 :          1 : 
       6                 :          1 :         assert.strictEqual(create_formdata(['key', 'value1']).get('key'), 'value1');
       7                 :          1 :         assert.strictEqual(create_formdata(['key', 'value2'], ['key', 'value1']).get('key'), 'value2');
       8                 :          1 :         assert.strictEqual(create_formdata(['key', undefined]).get('key'), 'undefined');
       9                 :          1 :         assert.strictEqual(create_formdata(['key', undefined], ['key', 'value1']).get('key'), 'undefined');
      10                 :          1 :         assert.strictEqual(create_formdata(['key', null]).get('key'), 'null');
      11                 :          1 :         assert.strictEqual(create_formdata(['key', null], ['key', 'value1']).get('key'), 'null');
      12                 :          1 : 
      13                 :          1 :         let before = new Date(new Date().getTime() - 2000); // two seconds ago, in case there's clock drift
      14                 :          1 :         let fd = create_formdata(['key', new Blob(), 'blank.txt']).get('key');
      15                 :          1 : 
      16                 :          1 :         assert.strictEqual(fd.name, "blank.txt");
      17                 :          1 :         assert.strictEqual(fd.type, "");
      18                 :          1 :         assert.strictEqual(fd.size, 0);
      19                 :          1 : 
      20                 :          1 :         assert(fd.lastModified >= before);
      21                 :          1 :         assert(fd.lastModified <= new Date());
      22                 :          1 : 
      23            [ + ]:          1 :         function create_formdata() {
      24                 :          7 :                 const fd = new FormData();
      25                 :          7 : 
      26            [ + ]:          7 :                 for(let i = 0; i < arguments.length; i++){
      27                 :         10 :                         fd.append.apply(fd, arguments[i]);
      28                 :          7 :                 };
      29                 :          7 : 
      30                 :          7 :                 return fd;
      31                 :          7 :         }
      32                 :          1 : }
      33                 :          1 : 
      34                 :          1 : /*
      35                 :          1 :  * append.any.js
      36                 :          1 :  *
      37                 :          1 : 
      38                 :          1 : // META: title=FormData.append
      39                 :          1 : 
      40                 :          1 :     test(function() {
      41                 :          1 :         assert_equals(create_formdata(['key', 'value1']).get('key'), "value1");
      42                 :          1 :     }, 'testFormDataAppend1');
      43                 :          1 :     test(function() {
      44                 :          1 :         assert_equals(create_formdata(['key', 'value2'], ['key', 'value1']).get('key'), "value2");
      45                 :          1 :     }, 'testFormDataAppend2');
      46                 :          1 :     test(function() {
      47                 :          1 :         assert_equals(create_formdata(['key', undefined]).get('key'), "undefined");
      48                 :          1 :     }, 'testFormDataAppendUndefined1');
      49                 :          1 :     test(function() {
      50                 :          1 :         assert_equals(create_formdata(['key', undefined], ['key', 'value1']).get('key'), "undefined");
      51                 :          1 :     }, 'testFormDataAppendUndefined2');
      52                 :          1 :     test(function() {
      53                 :          1 :         assert_equals(create_formdata(['key', null]).get('key'), "null");
      54                 :          1 :     }, 'testFormDataAppendNull1');
      55                 :          1 :     test(function() {
      56                 :          1 :         assert_equals(create_formdata(['key', null], ['key', 'value1']).get('key'), "null");
      57                 :          1 :     }, 'testFormDataAppendNull2');
      58                 :          1 :     test(function() {
      59                 :          1 :         var before = new Date(new Date().getTime() - 2000); // two seconds ago, in case there's clock drift
      60                 :          1 :         var fd = create_formdata(['key', new Blob(), 'blank.txt']).get('key');
      61                 :          1 :         assert_equals(fd.name, "blank.txt");
      62                 :          1 :         assert_equals(fd.type, "");
      63                 :          1 :         assert_equals(fd.size, 0);
      64                 :          1 :         assert_greater_than_equal(fd.lastModified, before);
      65                 :          1 :         assert_less_than_equal(fd.lastModified, new Date());
      66                 :          1 :     }, 'testFormDataAppendEmptyBlob');
      67                 :          1 : 
      68                 :          1 :     function create_formdata() {
      69                 :          1 :         var fd = new FormData();
      70                 :          1 :         for (var i = 0; i < arguments.length; i++) {
      71                 :          1 :             fd.append.apply(fd, arguments[i]);
      72                 :          1 :         };
      73                 :          1 :         return fd;
      74                 :          1 :     }
      75                 :          1 : 
      76                 :          1 :  *
      77                 :          1 :  * append.any.js
      78                 :          1 :  */

Generated by: LCOV version 1.14