oakmac / oakmac/standard-clojure-style-js
Edge cases resulting from perturbation testing on Cursive implementation
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 137
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
I've been working on a compatible formatter for Cursive, which is mostly done now. As part of ironing out all the bugs in my version, I've developed some tests which take the existing reference suite from this repo (minus the ns reorganisation features, which Cursive does separately), then:
- randomly perturbs the whitespace
- reformats the result with both the Cursive formatter and the CLI from this repo
- checks that they match.
This has found a ton of bugs in the Cursive version, but also a bunch of edge cases which I believe to be bugs in the reference implementation. Instead of creating a flood of issues, I'll add the edge cases in comments on this issue.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the edge cases in the issue comments and inspect the repository's reference suite and CLI formatter. Reproduce the whitespace perturbation comparison to identify which cases differ. Done means the confirmed reference-implementation edge cases are addressed and the relevant comparisons match.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100