Commit Graph

389 Commits

Author SHA1 Message Date
Dylan Conway
4792abdb7f Implement toMatchSnapshot() (#2294)
* buggy snapshot

* error output for failed snapshot

* missing first

* hints

* open dir once, better cleanup

* update flag

* truncate on update

* object and class snapshot formatting

* array formatting

* no function name, single item is empty array

* string objects, maps, sets, promise

* avoid using invalid memory

* handle number objects

* handle extending `Number`

* boolean objects

* snapshot tests and test updates

* snapshot format for buffers

* safer snapshot parsing

* property matchers setup

* strings and tests

* generate classes with empty prototype

* optional `propertyMatchers` parameter

* new test folder structure

* strings.eqlLong

* globalObject.throwPretty() and expect.any tests

* add updateSnapshot flag to help

* move snapshot format out of `printErrorlikeObject`

* empty object snapshot format

* separate typed array, remove trailing comma

* use `isCell`, object trailing commas

* handle unicode

* todo for primitive constructors

* switch to `JSC.Node.Syscall.open` and `JSC.Maybe`

* use js parser for snapshot files

* deinit ast, log parse error

* copy/paste most of `exports.ZigConsoleClient`

* remove snapshot option

* remove ordered properties option

* remove snapshot format option from `exports.zig`

* remove extra newlines

* change mode

* update test runner output

* escape backticks faster

* `bunx jest` in temp dir

* remove buffered writer

* add `toMatchSnapshot` to types

* cleanup, switch to `pread`

* cli `--update` flag

* `--update-snapshots`

* remove string object format
2023-03-14 16:50:59 -07:00
Ashcon Partovi
d1d2d842d5 Move tobeInstanceOf() tests to expect.test.ts 2023-03-14 12:19:24 -07:00
Ashcon Partovi
5d89efedec Add tests for AbortSignal, AbortController 2023-03-14 11:54:16 -07:00
zhiyuan
6d50b90070 feat: add toBeInstanceOf matcher in expect (#2389) 2023-03-14 08:30:50 -07:00
Ashcon Partovi
f63c26208a Better test coverage for Request and Response 2023-03-13 17:13:24 -07:00
Ashcon Partovi
d7e067902f Add more tests for Headers 2023-03-09 12:34:11 -08:00
Jarred Sumner
0fd9b2421e Fix bug in test runner 2023-03-08 00:18:52 -08:00
Jarred Sumner
f22336b5b5 More spec compliant Blob.prototype.type (#2340)
* Make `Blob.prototype. type` more spec compliant

* Add a few more checks for isNumber()

* Fix `make headers`

* Safer JSValue.isString()

* More tests for blob.slice

* Make `Blob.prototype.type` more spec compliant

* Add isASCII check

* Fix types

* Fix failing type test

* Update blob.zig

* Update blob.zig

* Fix .eql check on empty values

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-03-08 00:18:14 -08:00
Colin McDonnell
9bf4d9b8a2 Improve Benchmarking page, small fixes (#2339)
* Improve benchmarking page

* WIP

* Add typescript instructions to hot

* Document preload in Plugins. Fix loader in plugin types.
2023-03-07 17:44:05 -08:00
Ashcon Partovi
f7e4eb8369 Reorganize tests (#2332) 2023-03-07 12:22:34 -08:00
Ashcon Partovi
36275a44ce Add reference documentation for bun:test (#2327) 2023-03-06 22:50:11 -08:00
Alex Lam S.L
3e1d368a27 fix & clean up tests (#2318)
- skip flaky tests when running as `root`
- use `expect().toThrow()`
- clean up temporary files after tests
2023-03-06 12:09:44 -08:00
Alex Lam S.L
d4bd156d9d support expect().toThrow(/pattern/) (#2314)
- fix time-zone-dependent test failure
2023-03-06 03:33:38 +02:00
Jarred Sumner
42f6b35a5b Test action comment (#2310)
* test

* Update bun-linux-build.yml

* fixup

* Update bun-linux-build.yml

* Use outputs

* set id

* Update bun-linux-build.yml

* Update runner.node.mjs

* Update runner.node.mjs

* wip (will revert)

* Update runner.node.mjs

* Update runner.node.mjs

* Update runner.node.mjs

* Update runner.node.mjs

* Update bun-linux-build.yml

* Update bun-linux-build.yml

* works well enough for now

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-03-05 00:21:00 -08:00
Jarred Sumner
0b4e7179b5 dump failing tests to disk 2023-03-04 18:58:10 -08:00
Jarred Sumner
c34b92d16b Update runner.node.mjs 2023-03-04 18:39:40 -08:00
Jarred Sumner
339b811b48 Update runner.node.mjs 2023-03-04 18:36:14 -08:00
Jarred Sumner
adf8bae23c Update runner.node.mjs 2023-03-04 18:32:27 -08:00
Jarred Sumner
03997086ea Update runner.node.mjs 2023-03-04 18:22:48 -08:00
Jarred Sumner
cbfe17d95a Update runner.node.mjs 2023-03-04 18:18:15 -08:00
Jarred Sumner
571ba8ef3f Add node runner 2023-03-04 18:11:54 -08:00
Jarred Sumner
9963e1c3d8 Update runner.ts 2023-03-04 17:52:13 -08:00
Jarred Sumner
9e2f6ef1be chdir 2023-03-04 17:45:50 -08:00
Jarred Sumner
ffdc8a19d1 fixup 2023-03-04 17:31:59 -08:00
Jarred Sumner
dcc46b2862 Rename packages/bun-test to packages/bun-internal-test 2023-03-04 17:21:25 -08:00
aab
ddb6624ad1 docs: Fix invalid default port on bun-types docs (#2300) 2023-03-04 06:01:39 -08:00
Colin McDonnell
0f8f484e21 Improve types for node:http (#2284)
* Document node:http

* Fix test

* Fix default

* Fix default
2023-03-03 14:24:12 -08:00
Colin McDonnell
b469e50351 Add fs/promises tests and migrate fs.test.js to TypeScript (#2279) 2023-03-02 17:36:47 -08:00
u9g
57fcf8f9ba Remake typings for FFI dlopen/linkSymbols + introduce Pointer type (#2227)
* Give dlopen & linkSymbols typings for exported functions

* Fix lookup table

* Fully change over to Pointer + fix examples

* add back header for typings

* Fix tsc errors

* Run formatter on ffi.d.ts

* Revert args/return type change

* Add type tests for ffi

---------

Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-03-02 12:24:43 -08:00
Ashcon Partovi
ef56961007 Run tests in CI for bun-linux-aarch64 2023-03-01 14:31:56 -08:00
Ciro Spaciari
e512be8c18 just some comments fix (#2237) 2023-02-28 16:56:12 -08:00
Ashcon Partovi
2c795e6a3c bun-lambda: Fix 502 when handler name was 'fetch' 2023-02-23 09:54:22 -08:00
Ciro Spaciari
24d624b176 feat(Request.signal) Initial support for signal in Request + fetch and Request + Bun.serve (#2097)
* add fetch abort signal

* get aborted (still segfaults)

* bidings.zig u0 error

* still GC/memory error

* fix start crash

* fix AbortSignal fromJS

* change fromJS to obj.as

* addAbortSignalEventListenner

* handle abort types, and add tests

* fix tests

* add custom reason test

* merge 2 substring methods, use MAKE_STATIC_STRING_IMPL

* fix create AbortError and TimeoutError, move globalThis and exception creation to main thread

* fix tests and rebuild headers

* no need to check with substring reason is already an exception

* no need to check with substring reason is already an exception

* fix dumb error inverting conditions for check reason

* fix custom reason behavior

* Request signal

* remove package-lock.json

* Remove JSC.Strong from Request signal

* fix globals for fetch abort signal

* more tests, clone signal crashs

* fix AbortSignal.toJS

* fix toJS bidings for AbortSignal

* add streaming tests

* fix abortion before connecting

* fix tests and segfault

* add fetch testing abort after finish

* fix signal handler cleanup

* support signal event Bun.serve

* pull tests (failing)

* remove unsupported test

* formating

* fix server Request.signal, fix cleanNativeBindings

* add direct tests

* more pull tests

* fix stream tests

* fix fetch, pending onAborted fix in HTTPServerWritable

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
2023-02-22 19:27:25 -08:00
Jarred Sumner
2a1558e4d6 [breaking] Return Node.js Timeout objects in setTimeout, setInterval, and setImmediate
Fixes #2129 #880
2023-02-22 19:07:27 -08:00
Colin McDonnell
9f53a2210c Various type fixes (#2135)
* Simplify serve() types

* Remove baseURI

* Add Bun.serve type tests

* Number env vars

* Make loader optional

* FSRouter doesn't support URL

* Update sqlite types

* Bench

---------

Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu>
2023-02-22 17:45:22 -08:00
Ashcon Partovi
ee60a5c55c Add runtime layer for Bun on AWS Lambda (#2009) 2023-02-22 10:34:16 -08:00
Alex Lam S.L
7285b9cf75 update bun.lockbs (#2101) 2023-02-17 22:07:02 -08:00
Jarred Sumner
e7cd45d0fa Update globals.d.ts 2023-02-16 03:18:01 -08:00
Jarred Sumner
0e688d62f9 Add missing type definition 2023-02-16 03:11:40 -08:00
Jarred Sumner
aa0762e466 Implement FormData (#2051)
* Backport std::forward change

* Implement `FormData`

* Fix io_darwin headers issue

* Implement `Blob` support in FormData

* Add test for file upload

* Fix bug with Blob not reading Content-Type

* Finish implementing FormData

* Add FormData to types

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-02-13 00:50:15 -08:00
Ashcon Partovi
ed2e0e1617 Add bun-ecosystem for running tests on npm packages 2023-02-10 09:47:59 -08:00
Ashcon Partovi
a0b0cd6844 Fix bugs with release script 2023-02-07 04:47:36 -08:00
Colin McDonnell
08e33fbd42 Fix gaps in types (#2003)
* Add type for clearImmediate

* Expose Crypto class

* Add types for CustomEvent

* Add types for module and exports

* Add types for global

* Add types for DOMException

* Add types for WebAssembly

* Update formatting

* Fix clearTimeout

* Fix formatting

* Update formatting

* Remove log

---------

Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu>
2023-02-06 21:36:36 -08:00
Colin McDonnell
e7f9ce47f4 Add types for node:console and node:perf_hooks (#1982)
* Add types for node:console and node:perf_hooks

* Add types for util/types

---------

Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu>
2023-02-06 12:57:19 -08:00
Jarred Sumner
de613baf81 Support passing Date to Bun.sleep 2023-02-03 17:25:25 -08:00
Jarred Sumner
7d386bf1f1 Introduce await Bun.sleep(ms) 2023-02-03 16:39:16 -08:00
Ashcon Partovi
164cd774f7 Fix types for Array.fromAsync 2023-02-03 16:29:03 -08:00
Gaurish Sethia
6469649f64 Fix/Update Typescript types (#1972)
* Add filePath property on MatchedRoute

* Fix #1880 #851

* Fix #1972 as well

* FMC

---------

Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu>
Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-02-03 14:53:18 -08:00
Ashcon Partovi
3933ccab3b Attempt to debug annotations 2 2023-02-03 11:35:24 -08:00
Ashcon Partovi
92255d56c8 Attempt to debug annotations 2023-02-03 11:32:01 -08:00