Merged
Conversation
borkdude
added a commit
that referenced
this pull request
Dec 24, 2022
borkdude
added a commit
that referenced
this pull request
Dec 24, 2022
borkdude
pushed a commit
that referenced
this pull request
Dec 24, 2022
borkdude
added a commit
that referenced
this pull request
Dec 24, 2022
borkdude
added a commit
that referenced
this pull request
Dec 24, 2022
borkdude
added a commit
that referenced
this pull request
Apr 17, 2026
Adds core-async to the built-in test macros: (async done body) expands to (js/Promise. (fn [done] body)). The deftest body returns the Promise and test-var awaits it, so no ^:async marker on the outer fn is needed. Lets users copy-paste cljs.test code that uses the (async done ...) idiom without rewriting it. Also added to builtin-refer-is-macro? so :refer [async] doesn't emit a runtime import. Smoke test gets a regression. CHANGELOG and TODO entries updated (#8 closed).
borkdude
added a commit
that referenced
this pull request
Apr 17, 2026
Adds core-async to the built-in test macros: (async done body) expands to (js/Promise. (fn [done] body)). The deftest body returns the Promise and test-var awaits it, so no ^:async marker on the outer fn is needed. Lets users copy-paste cljs.test code that uses the (async done ...) idiom without rewriting it. Also added to builtin-refer-is-macro? so :refer [async] doesn't emit a runtime import. Smoke test gets a regression. CHANGELOG and TODO entries updated (#8 closed).
borkdude
added a commit
that referenced
this pull request
Apr 17, 2026
* run-tests: accept quoted ns symbols at the macro level + ns event The macro now converts (quote my.ns) at the call site to a plain "my.ns" string before emitting, so users can write the cljs.test idiom (run-tests 'my.ns) without depending on squint's quoted-symbol runtime support (which doesn't exist). The runtime fn keeps its existing signatures. run-vars-with-once-fixtures now brackets each ns's tests with :begin-test-ns / :end-test-ns reports — the events were declared in report's case but never fired. Reporters (and plain output) now print "Testing my.ns" before each ns's run, matching cljs.test. Smoke test gains a regression for the quoted-symbol macro path and asserts the Testing lines appear in output. CHANGELOG updated with the user-visible cljs.test entry. * Add (async done body) macro for cljs.test parity Adds core-async to the built-in test macros: (async done body) expands to (js/Promise. (fn [done] body)). The deftest body returns the Promise and test-var awaits it, so no ^:async marker on the outer fn is needed. Lets users copy-paste cljs.test code that uses the (async done ...) idiom without rewriting it. Also added to builtin-refer-is-macro? so :refer [async] doesn't emit a runtime import. Smoke test gets a regression. CHANGELOG and TODO entries updated (#8 closed).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to #7
Adds the follow functions for working with JS collections immutably:
assocon objectsdissocon objectsconjon objects, arrays and setsdisjon setsAlso adds the following mutable JS functions:
conj!disj!Also randomly adds
incbecause I wanted to