cloudflare/cloudflare-typescript

Public

mirrored fromhttps://github.com/cloudflare/cloudflare-typescriptAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v3.0.0-beta.14

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

tests/stringifyQuery.test.ts

26lines · modecode

1import { APIClient } from 'cloudflare/core';
2
3const { stringifyQuery } = APIClient.prototype as any;
4
5describe('APIClient.stringifyQuery', () => {
6 for (const [input, expected] of [
7 [{ a: '1', b: 2, c: true }, 'a=1&b=2&c=true'],
8 [{ a: null, b: false, c: undefined }, 'a=&b=false'],
9 [{ 'a/b': 1.28341 }, `${encodeURIComponent('a/b')}=1.28341`],
10 [
11 { 'a/b': 'c/d', 'e=f': 'g&h' },
12 `${encodeURIComponent('a/b')}=${encodeURIComponent('c/d')}&${encodeURIComponent(
13 'e=f',
14 )}=${encodeURIComponent('g&h')}`,
15 ],
16 ]) {
17 it(`${JSON.stringify(input)} -> ${expected}`, () => {
18 expect(stringifyQuery(input)).toEqual(expected);
19 });
20 }
21 for (const value of [[], {}, new Date()]) {
22 it(`${JSON.stringify(value)} -> <error>`, () => {
23 expect(() => stringifyQuery({ value })).toThrow(`Cannot stringify type ${typeof value}`);
24 });
25 }
26});
27