oakmac / oakmac/standard-clojure-style-js

Edge cases resulting from perturbation testing on Cursive implementation

Open
#211 11 comments 0 reactions 0 assignees View on GitHub

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:

  1. randomly perturbs the whitespace
  2. reformats the result with both the Cursive formatter and the CLI from this repo
  3. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.