@scalar/snippetz 0.2.20 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/clients.d.ts.map +1 -1
  2. package/dist/clients.js +2 -1
  3. package/dist/clients.js.map +2 -2
  4. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.d.ts.map +1 -1
  5. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.js +37 -8
  6. package/dist/httpsnippet-lite/esm/targets/c/libcurl/client.js.map +2 -2
  7. package/dist/httpsnippet-lite/esm/targets/go/native/client.d.ts.map +1 -1
  8. package/dist/httpsnippet-lite/esm/targets/go/native/client.js +76 -30
  9. package/dist/httpsnippet-lite/esm/targets/go/native/client.js.map +2 -2
  10. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.d.ts.map +1 -1
  11. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.js +25 -9
  12. package/dist/httpsnippet-lite/esm/targets/java/okhttp/client.js.map +2 -2
  13. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.d.ts.map +1 -1
  14. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.js +25 -9
  15. package/dist/httpsnippet-lite/esm/targets/kotlin/okhttp/client.js.map +2 -2
  16. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.d.ts.map +1 -1
  17. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.js +11 -0
  18. package/dist/httpsnippet-lite/esm/targets/shell/httpie/client.js.map +2 -2
  19. package/dist/plugins/js/axios/index.d.ts +1 -1
  20. package/dist/plugins/js/axios/index.d.ts.map +1 -1
  21. package/dist/plugins/js/axios/index.js +4 -1
  22. package/dist/plugins/js/axios/index.js.map +2 -2
  23. package/dist/plugins/js/fetch/fetch.d.ts.map +1 -1
  24. package/dist/plugins/js/fetch/fetch.js +30 -9
  25. package/dist/plugins/js/fetch/fetch.js.map +2 -2
  26. package/dist/plugins/js/fetch/index.d.ts +1 -1
  27. package/dist/plugins/js/fetch/index.d.ts.map +1 -1
  28. package/dist/plugins/js/fetch/index.js +4 -1
  29. package/dist/plugins/js/fetch/index.js.map +2 -2
  30. package/dist/plugins/js/ofetch/ofetch.d.ts.map +1 -1
  31. package/dist/plugins/js/ofetch/ofetch.js +1 -10
  32. package/dist/plugins/js/ofetch/ofetch.js.map +2 -2
  33. package/dist/plugins/node/fetch/fetch.d.ts.map +1 -1
  34. package/dist/plugins/node/fetch/fetch.js +37 -9
  35. package/dist/plugins/node/fetch/fetch.js.map +2 -2
  36. package/dist/plugins/node/ofetch/ofetch.d.ts.map +1 -1
  37. package/dist/plugins/node/ofetch/ofetch.js +1 -10
  38. package/dist/plugins/node/ofetch/ofetch.js.map +2 -2
  39. package/dist/plugins/node/undici/undici.d.ts.map +1 -1
  40. package/dist/plugins/node/undici/undici.js +4 -6
  41. package/dist/plugins/node/undici/undici.js.map +2 -2
  42. package/dist/plugins/python/httpx/async.d.ts +6 -0
  43. package/dist/plugins/python/httpx/async.d.ts.map +1 -0
  44. package/dist/plugins/python/httpx/async.js +16 -0
  45. package/dist/plugins/python/httpx/async.js.map +7 -0
  46. package/dist/plugins/python/httpx/index.d.ts +3 -0
  47. package/dist/plugins/python/httpx/index.d.ts.map +1 -0
  48. package/dist/plugins/python/httpx/index.js +3 -0
  49. package/dist/plugins/python/httpx/index.js.map +7 -0
  50. package/dist/plugins/python/httpx/sync.d.ts +6 -0
  51. package/dist/plugins/python/httpx/sync.d.ts.map +1 -0
  52. package/dist/plugins/python/httpx/sync.js +13 -0
  53. package/dist/plugins/python/httpx/sync.js.map +7 -0
  54. package/dist/plugins/python/requests/requests.d.ts.map +1 -1
  55. package/dist/plugins/python/requests/requests.js +2 -92
  56. package/dist/plugins/python/requests/requests.js.map +2 -2
  57. package/dist/plugins/python/requestsLike.d.ts +3 -0
  58. package/dist/plugins/python/requestsLike.d.ts.map +1 -0
  59. package/dist/plugins/python/requestsLike.js +120 -0
  60. package/dist/plugins/python/requestsLike.js.map +7 -0
  61. package/dist/snippetz.d.ts +1 -1
  62. package/dist/utils/create-search-params.d.ts +4 -0
  63. package/dist/utils/create-search-params.d.ts.map +1 -0
  64. package/dist/utils/create-search-params.js +11 -0
  65. package/dist/utils/create-search-params.js.map +7 -0
  66. package/dist/utils/index.d.ts +0 -1
  67. package/dist/utils/index.d.ts.map +1 -1
  68. package/dist/utils/index.js +0 -1
  69. package/dist/utils/index.js.map +2 -2
  70. package/dist/utils/objectToString.d.ts +8 -0
  71. package/dist/utils/objectToString.d.ts.map +1 -1
  72. package/dist/utils/objectToString.js +20 -15
  73. package/dist/utils/objectToString.js.map +2 -2
  74. package/package.json +10 -5
  75. package/dist/plugins/c/libcurl/libcurl.test.js +0 -200
  76. package/dist/plugins/c/libcurl/libcurl.test.js.map +0 -7
  77. package/dist/plugins/clojure/clj_http/clj_http.test.js +0 -151
  78. package/dist/plugins/clojure/clj_http/clj_http.test.js.map +0 -7
  79. package/dist/plugins/dart/http/http.test.js +0 -550
  80. package/dist/plugins/dart/http/http.test.js.map +0 -7
  81. package/dist/plugins/go/native/native.test.js +0 -367
  82. package/dist/plugins/go/native/native.test.js.map +0 -7
  83. package/dist/plugins/http/http11/http11.test.js +0 -175
  84. package/dist/plugins/http/http11/http11.test.js.map +0 -7
  85. package/dist/plugins/js/fetch/fetch.test.js +0 -111
  86. package/dist/plugins/js/fetch/fetch.test.js.map +0 -7
  87. package/dist/plugins/js/ofetch/ofetch.test.js +0 -123
  88. package/dist/plugins/js/ofetch/ofetch.test.js.map +0 -7
  89. package/dist/plugins/node/fetch/fetch.test.js +0 -111
  90. package/dist/plugins/node/fetch/fetch.test.js.map +0 -7
  91. package/dist/plugins/node/ofetch/ofetch.test.js +0 -123
  92. package/dist/plugins/node/ofetch/ofetch.test.js.map +0 -7
  93. package/dist/plugins/node/undici/undici.test.js +0 -133
  94. package/dist/plugins/node/undici/undici.test.js.map +0 -7
  95. package/dist/plugins/php/curl/curl.test.js +0 -564
  96. package/dist/plugins/php/curl/curl.test.js.map +0 -7
  97. package/dist/plugins/php/guzzle/guzzle.test.js +0 -546
  98. package/dist/plugins/php/guzzle/guzzle.test.js.map +0 -7
  99. package/dist/plugins/python/requests/requests.test.js +0 -390
  100. package/dist/plugins/python/requests/requests.test.js.map +0 -7
  101. package/dist/plugins/ruby/native/native.test.js +0 -240
  102. package/dist/plugins/ruby/native/native.test.js.map +0 -7
  103. package/dist/plugins/shell/curl/curl.test.js +0 -427
  104. package/dist/plugins/shell/curl/curl.test.js.map +0 -7
  105. package/dist/plugins/shell/httpie/httpie.test.js +0 -113
  106. package/dist/plugins/shell/httpie/httpie.test.js.map +0 -7
  107. package/dist/plugins/shell/wget/wget.test.js +0 -143
  108. package/dist/plugins/shell/wget/wget.test.js.map +0 -7
  109. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js +0 -344
  110. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js.map +0 -7
  111. package/dist/snippetz.test.js +0 -79
  112. package/dist/snippetz.test.js.map +0 -7
  113. package/dist/utils/arrayToObject.d.ts +0 -8
  114. package/dist/utils/arrayToObject.d.ts.map +0 -1
  115. package/dist/utils/arrayToObject.js +0 -10
  116. package/dist/utils/arrayToObject.js.map +0 -7
  117. package/dist/utils/convertWithHttpSnippetLite.test.js +0 -106
  118. package/dist/utils/convertWithHttpSnippetLite.test.js.map +0 -7
@@ -1,546 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { phpGuzzle } from "./guzzle.js";
3
- describe("phpGuzzle", () => {
4
- it("returns a basic request", () => {
5
- const result = phpGuzzle.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
9
-
10
- $response = $client->request('GET', 'https://example.com');`);
11
- });
12
- it("returns a POST request", () => {
13
- const result = phpGuzzle.generate({
14
- url: "https://example.com",
15
- method: "post"
16
- });
17
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
18
-
19
- $response = $client->request('POST', 'https://example.com');`);
20
- });
21
- it("has headers", () => {
22
- const result = phpGuzzle.generate({
23
- url: "https://example.com",
24
- headers: [
25
- {
26
- name: "Content-Type",
27
- value: "application/json"
28
- }
29
- ]
30
- });
31
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
32
-
33
- $response = $client->request('GET', 'https://example.com', [
34
- 'headers' => [
35
- 'Content-Type' => 'application/json',
36
- ],
37
- ]);`);
38
- });
39
- it("doesn't add empty headers", () => {
40
- const result = phpGuzzle.generate({
41
- url: "https://example.com",
42
- headers: []
43
- });
44
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
45
-
46
- $response = $client->request('GET', 'https://example.com');`);
47
- });
48
- it("has JSON body with PHP array", () => {
49
- const result = phpGuzzle.generate({
50
- url: "https://example.com",
51
- method: "POST",
52
- headers: [
53
- {
54
- name: "Content-Type",
55
- value: "application/json"
56
- }
57
- ],
58
- postData: {
59
- mimeType: "application/json",
60
- text: JSON.stringify({
61
- hello: "world"
62
- })
63
- }
64
- });
65
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
66
-
67
- $response = $client->request('POST', 'https://example.com', [
68
- 'headers' => [
69
- 'Content-Type' => 'application/json',
70
- ],
71
- 'json' => [
72
- 'hello' => 'world',
73
- ],
74
- ]);`);
75
- });
76
- it("has query string", () => {
77
- const result = phpGuzzle.generate({
78
- url: "https://example.com",
79
- queryString: [
80
- {
81
- name: "foo",
82
- value: "bar"
83
- },
84
- {
85
- name: "bar",
86
- value: "foo"
87
- }
88
- ]
89
- });
90
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
91
-
92
- $response = $client->request('GET', 'https://example.com', [
93
- 'query' => [
94
- 'foo' => 'bar',
95
- 'bar' => 'foo',
96
- ],
97
- ]);`);
98
- });
99
- it("has cookies", () => {
100
- const result = phpGuzzle.generate({
101
- url: "https://example.com",
102
- cookies: [
103
- {
104
- name: "foo",
105
- value: "bar"
106
- },
107
- {
108
- name: "bar",
109
- value: "foo"
110
- }
111
- ]
112
- });
113
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
114
-
115
- $response = $client->request('GET', 'https://example.com', [
116
- 'cookies' => [
117
- 'foo' => 'bar',
118
- 'bar' => 'foo',
119
- ],
120
- ]);`);
121
- });
122
- it("doesn't add empty cookies", () => {
123
- const result = phpGuzzle.generate({
124
- url: "https://example.com",
125
- cookies: []
126
- });
127
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
128
-
129
- $response = $client->request('GET', 'https://example.com');`);
130
- });
131
- it("adds basic auth credentials", () => {
132
- const result = phpGuzzle.generate(
133
- {
134
- url: "https://example.com"
135
- },
136
- {
137
- auth: {
138
- username: "user",
139
- password: "pass"
140
- }
141
- }
142
- );
143
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
144
-
145
- $response = $client->request('GET', 'https://example.com', [
146
- 'auth' => [
147
- 'user',
148
- 'pass',
149
- ],
150
- ]);`);
151
- });
152
- it("omits auth when not provided", () => {
153
- const result = phpGuzzle.generate({
154
- url: "https://example.com"
155
- });
156
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
157
-
158
- $response = $client->request('GET', 'https://example.com');`);
159
- });
160
- it("omits auth when username is missing", () => {
161
- const result = phpGuzzle.generate(
162
- {
163
- url: "https://example.com"
164
- },
165
- {
166
- auth: {
167
- username: "",
168
- password: "pass"
169
- }
170
- }
171
- );
172
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
173
-
174
- $response = $client->request('GET', 'https://example.com');`);
175
- });
176
- it("omits auth when password is missing", () => {
177
- const result = phpGuzzle.generate(
178
- {
179
- url: "https://example.com"
180
- },
181
- {
182
- auth: {
183
- username: "user",
184
- password: ""
185
- }
186
- }
187
- );
188
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
189
-
190
- $response = $client->request('GET', 'https://example.com');`);
191
- });
192
- it("handles special characters in auth credentials", () => {
193
- const result = phpGuzzle.generate(
194
- {
195
- url: "https://example.com"
196
- },
197
- {
198
- auth: {
199
- username: "user@example.com",
200
- password: "pass:word!"
201
- }
202
- }
203
- );
204
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
205
-
206
- $response = $client->request('GET', 'https://example.com', [
207
- 'auth' => [
208
- 'user@example.com',
209
- 'pass:word!',
210
- ],
211
- ]);`);
212
- });
213
- it("handles undefined auth object", () => {
214
- const result = phpGuzzle.generate(
215
- {
216
- url: "https://example.com"
217
- },
218
- {
219
- auth: void 0
220
- }
221
- );
222
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
223
-
224
- $response = $client->request('GET', 'https://example.com');`);
225
- });
226
- it("handles multipart form data with files", () => {
227
- const result = phpGuzzle.generate({
228
- url: "https://example.com",
229
- method: "POST",
230
- postData: {
231
- mimeType: "multipart/form-data",
232
- params: [
233
- {
234
- name: "file",
235
- fileName: "test.txt"
236
- },
237
- {
238
- name: "field",
239
- value: "value"
240
- }
241
- ]
242
- }
243
- });
244
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
245
-
246
- $response = $client->request('POST', 'https://example.com', [
247
- 'multipart' => [
248
- [
249
- 'name' => 'file',
250
- 'contents' => fopen('test.txt', 'r'),
251
- ],
252
- [
253
- 'name' => 'field',
254
- 'contents' => 'value',
255
- ],
256
- ],
257
- ]);`);
258
- });
259
- it("handles multipart form data with JSON payload", () => {
260
- const result = phpGuzzle.generate({
261
- url: "https://example.com",
262
- method: "POST",
263
- headers: [
264
- {
265
- name: "Content-Type",
266
- value: "multipart/form-data"
267
- }
268
- ],
269
- postData: {
270
- mimeType: "multipart/form-data",
271
- text: JSON.stringify({
272
- foo: "bar"
273
- })
274
- }
275
- });
276
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
277
-
278
- $response = $client->request('POST', 'https://example.com', [
279
- 'headers' => [
280
- 'Content-Type' => 'multipart/form-data',
281
- ],
282
- 'form_params' => [
283
- 'foo' => 'bar',
284
- ],
285
- ]);`);
286
- });
287
- it("handles url-encoded form data with special characters", () => {
288
- const result = phpGuzzle.generate({
289
- url: "https://example.com",
290
- method: "POST",
291
- postData: {
292
- mimeType: "application/x-www-form-urlencoded",
293
- params: [
294
- {
295
- name: "special chars!@#",
296
- value: "value"
297
- }
298
- ]
299
- }
300
- });
301
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
302
-
303
- $response = $client->request('POST', 'https://example.com', [
304
- 'form_params' => [
305
- 'special chars!@#' => 'value',
306
- ],
307
- ]);`);
308
- });
309
- it("handles binary data flag", () => {
310
- const result = phpGuzzle.generate({
311
- url: "https://example.com",
312
- method: "POST",
313
- postData: {
314
- mimeType: "application/octet-stream",
315
- text: "binary content"
316
- }
317
- });
318
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
319
-
320
- $response = $client->request('POST', 'https://example.com', [
321
- 'body' => 'binary content',
322
- ]);`);
323
- });
324
- it("handles compressed response", () => {
325
- const result = phpGuzzle.generate({
326
- url: "https://example.com",
327
- headers: [
328
- {
329
- name: "Accept-Encoding",
330
- value: "gzip, deflate"
331
- }
332
- ]
333
- });
334
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
335
-
336
- $response = $client->request('GET', 'https://example.com', [
337
- 'headers' => [
338
- 'Accept-Encoding' => 'gzip, deflate',
339
- ],
340
- 'decode_content' => true,
341
- ]);`);
342
- });
343
- it("handles special characters in URL", () => {
344
- const result = phpGuzzle.generate({
345
- url: "https://example.com/path with spaces/[brackets]"
346
- });
347
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
348
-
349
- $response = $client->request('GET', 'https://example.com/path with spaces/[brackets]');`);
350
- });
351
- it("handles special characters in query parameters", () => {
352
- const result = phpGuzzle.generate({
353
- url: "https://example.com",
354
- queryString: [
355
- {
356
- name: "q",
357
- value: "hello world & more"
358
- },
359
- {
360
- name: "special",
361
- value: "!@#$%^&*()"
362
- }
363
- ]
364
- });
365
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
366
-
367
- $response = $client->request('GET', 'https://example.com', [
368
- 'query' => [
369
- 'q' => 'hello world & more',
370
- 'special' => '!@#$%^&*()',
371
- ],
372
- ]);`);
373
- });
374
- it("handles empty URL", () => {
375
- const result = phpGuzzle.generate({
376
- url: ""
377
- });
378
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
379
-
380
- $response = $client->request('GET', '');`);
381
- });
382
- it("handles extremely long URLs", () => {
383
- const result = phpGuzzle.generate({
384
- url: "https://example.com/" + "a".repeat(2e3)
385
- });
386
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
387
-
388
- $response = $client->request('GET', 'https://example.com/${"a".repeat(2e3)}');`);
389
- });
390
- it("handles multiple headers with same name", () => {
391
- const result = phpGuzzle.generate({
392
- url: "https://example.com",
393
- headers: [
394
- { name: "X-Custom", value: "value1" },
395
- { name: "X-Custom", value: "value2" }
396
- ]
397
- });
398
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
399
-
400
- $response = $client->request('GET', 'https://example.com', [
401
- 'headers' => [
402
- 'X-Custom' => [
403
- 'value1',
404
- 'value2',
405
- ],
406
- ],
407
- ]);`);
408
- });
409
- it("handles headers with empty values", () => {
410
- const result = phpGuzzle.generate({
411
- url: "https://example.com",
412
- headers: [{ name: "X-Empty", value: "" }]
413
- });
414
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
415
-
416
- $response = $client->request('GET', 'https://example.com', [
417
- 'headers' => [
418
- 'X-Empty' => '',
419
- ],
420
- ]);`);
421
- });
422
- it("handles multipart form data with empty file names", () => {
423
- const result = phpGuzzle.generate({
424
- url: "https://example.com",
425
- method: "POST",
426
- postData: {
427
- mimeType: "multipart/form-data",
428
- params: [
429
- {
430
- name: "file",
431
- fileName: ""
432
- }
433
- ]
434
- }
435
- });
436
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
437
-
438
- $response = $client->request('POST', 'https://example.com', [
439
- 'multipart' => [
440
- [
441
- 'name' => 'file',
442
- 'contents' => '',
443
- ],
444
- ],
445
- ]);`);
446
- });
447
- it("handles JSON body with special characters using PHP array", () => {
448
- const result = phpGuzzle.generate({
449
- url: "https://example.com",
450
- method: "POST",
451
- headers: [
452
- {
453
- name: "Content-Type",
454
- value: "application/json"
455
- }
456
- ],
457
- postData: {
458
- mimeType: "application/json",
459
- text: JSON.stringify({
460
- key: '"quotes" and \\backslashes\\',
461
- nested: {
462
- array: ["item1", null, void 0]
463
- }
464
- })
465
- }
466
- });
467
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
468
-
469
- $response = $client->request('POST', 'https://example.com', [
470
- 'headers' => [
471
- 'Content-Type' => 'application/json',
472
- ],
473
- 'json' => [
474
- 'key' => '"quotes" and \\backslashes\\',
475
- 'nested' => [
476
- 'array' => [
477
- 'item1',
478
- null,
479
- null,
480
- ],
481
- ],
482
- ],
483
- ]);`);
484
- });
485
- it("handles cookies with special characters", () => {
486
- const result = phpGuzzle.generate({
487
- url: "https://example.com",
488
- cookies: [
489
- {
490
- name: "special;cookie",
491
- value: "value with spaces"
492
- }
493
- ]
494
- });
495
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
496
-
497
- $response = $client->request('GET', 'https://example.com', [
498
- 'cookies' => [
499
- 'special;cookie' => 'value with spaces',
500
- ],
501
- ]);`);
502
- });
503
- it("prettifies JSON body using PHP array", () => {
504
- const result = phpGuzzle.generate({
505
- url: "https://example.com",
506
- method: "POST",
507
- headers: [
508
- {
509
- name: "Content-Type",
510
- value: "application/json"
511
- }
512
- ],
513
- postData: {
514
- mimeType: "application/json",
515
- text: JSON.stringify({
516
- nested: {
517
- array: [1, 2, 3],
518
- object: { foo: "bar" }
519
- },
520
- simple: "value"
521
- })
522
- }
523
- });
524
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
525
-
526
- $response = $client->request('POST', 'https://example.com', [
527
- 'headers' => [
528
- 'Content-Type' => 'application/json',
529
- ],
530
- 'json' => [
531
- 'nested' => [
532
- 'array' => [
533
- 1,
534
- 2,
535
- 3,
536
- ],
537
- 'object' => [
538
- 'foo' => 'bar',
539
- ],
540
- ],
541
- 'simple' => 'value',
542
- ],
543
- ]);`);
544
- });
545
- });
546
- //# sourceMappingURL=guzzle.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/php/guzzle/guzzle.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { phpGuzzle } from './guzzle'\n\ndescribe('phpGuzzle', () => {\n it('returns a basic request', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('returns a POST request', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com');`)\n })\n\n it('has headers', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n]);`)\n })\n\n it(\"doesn't add empty headers\", () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('has JSON body with PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n hello: 'world',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'hello' => 'world',\n ],\n]);`)\n })\n\n it('has query string', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'query' => [\n 'foo' => 'bar',\n 'bar' => 'foo',\n ],\n]);`)\n })\n\n it('has cookies', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'cookies' => [\n 'foo' => 'bar',\n 'bar' => 'foo',\n ],\n]);`)\n })\n\n it(\"doesn't add empty cookies\", () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('adds basic auth credentials', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'auth' => [\n 'user',\n 'pass',\n ],\n]);`)\n })\n\n it('omits auth when not provided', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('omits auth when username is missing', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: '',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('omits auth when password is missing', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: '',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('handles special characters in auth credentials', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user@example.com',\n password: 'pass:word!',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'auth' => [\n 'user@example.com',\n 'pass:word!',\n ],\n]);`)\n })\n\n it('handles undefined auth object', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: undefined,\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('handles multipart form data with files', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: 'test.txt',\n },\n {\n name: 'field',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'multipart' => [\n [\n 'name' => 'file',\n 'contents' => fopen('test.txt', 'r'),\n ],\n [\n 'name' => 'field',\n 'contents' => 'value',\n ],\n ],\n]);`)\n })\n\n it('handles multipart form data with JSON payload', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'multipart/form-data',\n },\n ],\n postData: {\n mimeType: 'multipart/form-data',\n text: JSON.stringify({\n foo: 'bar',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'multipart/form-data',\n ],\n 'form_params' => [\n 'foo' => 'bar',\n ],\n]);`)\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'special chars!@#',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'form_params' => [\n 'special chars!@#' => 'value',\n ],\n]);`)\n })\n\n it('handles binary data flag', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/octet-stream',\n text: 'binary content',\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'body' => 'binary content',\n]);`)\n })\n\n it('handles compressed response', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Accept-Encoding',\n value: 'gzip, deflate',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'Accept-Encoding' => 'gzip, deflate',\n ],\n 'decode_content' => true,\n]);`)\n })\n\n it('handles special characters in URL', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com/path with spaces/[brackets]');`)\n })\n\n it('handles special characters in query parameters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'q',\n value: 'hello world & more',\n },\n {\n name: 'special',\n value: '!@#$%^&*()',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'query' => [\n 'q' => 'hello world & more',\n 'special' => '!@#$%^&*()',\n ],\n]);`)\n })\n\n it('handles empty URL', () => {\n const result = phpGuzzle.generate({\n url: '',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', '');`)\n })\n\n it('handles extremely long URLs', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com/' + 'a'.repeat(2000),\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com/${'a'.repeat(2000)}');`)\n })\n\n it('handles multiple headers with same name', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n { name: 'X-Custom', value: 'value1' },\n { name: 'X-Custom', value: 'value2' },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'X-Custom' => [\n 'value1',\n 'value2',\n ],\n ],\n]);`)\n })\n\n it('handles headers with empty values', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'X-Empty' => '',\n ],\n]);`)\n })\n\n it('handles multipart form data with empty file names', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: '',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'multipart' => [\n [\n 'name' => 'file',\n 'contents' => '',\n ],\n ],\n]);`)\n })\n\n it('handles JSON body with special characters using PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n key: '\"quotes\" and \\\\backslashes\\\\',\n nested: {\n array: ['item1', null, undefined],\n },\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'key' => '\"quotes\" and \\\\backslashes\\\\',\n 'nested' => [\n 'array' => [\n 'item1',\n null,\n null,\n ],\n ],\n ],\n]);`)\n })\n\n it('handles cookies with special characters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'special;cookie',\n value: 'value with spaces',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'cookies' => [\n 'special;cookie' => 'value with spaces',\n ],\n]);`)\n })\n\n it('prettifies JSON body using PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n nested: {\n array: [1, 2, 3],\n object: { foo: 'bar' },\n },\n simple: 'value',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'nested' => [\n 'array' => [\n 1,\n 2,\n 3,\n ],\n 'object' => [\n 'foo' => 'bar',\n ],\n ],\n 'simple' => 'value',\n ],\n]);`)\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }