Spaces:
Sleeping
Sleeping
| import { it, expect } from 'vitest' | |
| import { getRawFetchHeaders } from './getRawFetchHeaders' | |
| it('returns undefined given a non-Headers object', () => { | |
| expect(getRawFetchHeaders({} as Headers)).toBeUndefined() | |
| }) | |
| it('returns an empty Map given an empty Headers instance', () => { | |
| expect(getRawFetchHeaders(new Headers())).toEqual(new Map()) | |
| }) | |
| it('returns undefined for headers map on older Node.js versions', () => { | |
| // Emulate the Headers symbol structure on older | |
| // versions of Node.js (e.g. 18.8.0). | |
| const headers = { | |
| [Symbol('headers list')]: { | |
| [Symbol('headers map')]: new Map([['header-name', 'header-value']]), | |
| }, | |
| } | |
| expect(getRawFetchHeaders(headers as unknown as Headers)).toBeUndefined() | |
| }) | |
| it('returns raw headers from the given Headers instance', () => { | |
| expect( | |
| getRawFetchHeaders( | |
| new Headers([ | |
| ['lowercase-header', 'one'], | |
| ['UPPERCASE-HEADER', 'TWO'], | |
| ['MiXeD-cAsE-hEaDeR', 'ThReE'], | |
| ]) | |
| ) | |
| ).toEqual( | |
| new Map([ | |
| ['lowercase-header', 'one'], | |
| ['UPPERCASE-HEADER', 'TWO'], | |
| ['MiXeD-cAsE-hEaDeR', 'ThReE'], | |
| ]) | |
| ) | |
| }) | |
| it('returns raw headers for a header with multiple values', () => { | |
| expect( | |
| getRawFetchHeaders( | |
| new Headers([ | |
| ['Set-CookiE', 'a=b'], | |
| ['Set-CookiE', 'c=d'], | |
| ]) | |
| ) | |
| ).toEqual(new Map([['Set-CookiE', 'a=b, c=d']])) | |
| }) | |