* work to get async local storage working.
* a
* a
* everything but queueMicrotask
* sdfghj
* .
* finish
* tests
* test
* ok
* done
* im so stupid
* Upgrade WebKit
* refactor
* refactor
* changes requested
* oops
* cool
* fix runInAsyncScope
* Implement bun test --bail
* Fixes
* move printSummary() (more readable)
* Fixes 2
* idk why it got deleted
* Fixes 3
* fmt this better
* Update test_command.zig
* Fix "0 files"
* track number of files so bailing out early prints the right number
---------
Co-authored-by: dave caruso <me@paperdave.net>
* Move expect and snapshots to their own files
* expect().resolves and expect().rejects
* Fix promise being added to unhandled rejection list
* Handle timeouts in expect(<promise>)
* wip merge
* Fix merge issue
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* Change status icon for skipped tests from "-" to "»"
* Show file path instead of filename in `bun test`
* Emit collapsable logs when running `bun test` in Github Actions
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines
* Add fallback for test icons when emojis are not available
* Only check for GITHUB_ACTIONS when running `bun test`
* Emit error annotations when running `bun test` in Github Actions
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message
* Remove ANSI output from Github annotation, it doesn't work
* Remove outdated code from internal test runner
* Add GithubActionFormatter to handle cases where error name or message is already ANSI
* Fix formatting of test
* Fix#3070
* Implement `bun test --run-todo`
By default, `test.todo()` is no longer run, unless `--run-todo` is specified.
* Fix test that relies on test.todo() being run
* Support vitest-style test options
* Disable GITHUB_ACTION in test harness
* Add types for TestOptions
* Fix bug where test.skip() actually ran
* Implement `test.skipIf()` and `describe.skipIf()`
* Implement `test.runIf()`
* Move DiffFormatter to its own file
* Fix bug where Bun.inspect() would emit a Github annotation
* Introduce `bun test --only`, rename `--run-todo` to `--todo`
* Implement `test.if()`, `describe.if()`, and other test fixes
* Remove unwanted files from last commit
* Fix last reference to --run-todo
* Fix memory issues with printing github actions text
* Update bindings.zig
* Fix bug with `test.only()`
* Remove debug test
* Make the github annotations better
* Improve .vscode/launch.json
* Implement `expect().toBeNil()`
* Remove .only() from test
* Implement toBeBoolean(), toBeTrue(), toBeFalse()
* Add lots of matchers
* toBeNil()
* toBeBoolean()
* toBeTrue()
* toBeFalse()
* toBeNumber()
* toBeInteger()
* toBeFinite()
* toBePositive()
* toBeNegative()
* toBeWithin()
* toBeSymbol()
* toBeFunction()
* toBeDate()
* toBeString()
* toInclude()
* toStartWith()
* toEndWith()
* Fix#3135
* Reduce verbosity of test
* Fix snapshot bug
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
We already run the GC automatically whenever heap size grows, so this is mostly unnecessary
In one benchmark, this is an 83% performance improvement at a cost of 9% more memory
* Support setting a timezone via `process.env.TZ`
* Implement `setTimeZone` in `bun:jsc` module
* [breaking] `bun:test` now defaults to `Etc/UTC` timezone
---------
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
* 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