• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / js-slang / 26804159216
79%

Build:
DEFAULT BRANCH: master
Ran 02 Jun 2026 07:10AM UTC
Jobs 1
Files 168
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Jun 2026 07:05AM UTC coverage: 78.542% (+0.02%) from 78.522%
26804159216

push

github

web-flow
fix(stepper): various stepper fixes (#1984)

* fix(stepper): respect named arrow function in generator to resolve long traces (#1805)

* fix(stepper): resolve named nullary function trace explanations and preserve context

- Fix trace explanation for named nullary functions with block bodies to use the function's name instead of the fallback '() => {...}'.
- Ensure customGenerator context is preserved during AST generation inside getArrowFunctionExpression by delegating using .call(this, ...).
- Flip the spread order in generate() so caller-provided custom generator options cannot override internal customGenerator functions.
- Add a new stepper_full test case for named nullary functions with block bodies and update snapshots.

* fix(stepper): check runtime type errors on fully-reduced operands (#1983)

This commit addresses the issue where the stepper silently ignores runtime type errors on non-literal operands. The stepper now correctly identifies these as "Evaluation stuck" with the appropriate error message.

Key changes and nuances:
- `1 + undefined`: The stepper now correctly identifies `undefined` as a valid type-checkable value and triggers an error, matching the main evaluator.
- `f + f`, `1 + f`, `-f`, `!f`: Applying binary or unary operations on functions now correctly triggers a runtime type error in the stepper.
- Corrected the `f === f` test case: In Source 2, `===` is restricted to string/number operands. Applying it to functions is now correctly expected to result in a runtime type error in the tests.
- Note: Builtin functions are currently NOT checked by this logic. Passing builtin functions to operators will not immediately trigger a type error in the stepper, to avoid maintaining an exhaustive list of builtins within the stepper's type-checking phase.

Also includes minor code review cleanups (nullish coalescing in generator.ts and simplified identifier check in utils.ts).

* fix(stepper): unify function application phrasing and form... (continued)

3148 of 4222 branches covered (74.56%)

Branch coverage included in aggregate %.

42 of 46 new or added lines in 5 files covered. (91.3%)

1 existing line in 1 file now uncovered.

7057 of 8771 relevant lines covered (80.46%)

182730.54 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
70.0
src/stepper/nodes/Expression/utils.ts
1
84.85
-1.52% src/stepper/generator.ts

Coverage Regressions

Lines Coverage ∆ File
1
80.87
2.87% src/stepper/nodes/Expression/BinaryExpression.ts
Jobs
ID Job ID Ran Files Coverage
1 26804159216.1 02 Jun 2026 07:10AM UTC 168
78.54
GitHub Action Run
Source Files on build 26804159216
  • Tree
  • List 168
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 9d8309c6 on github
  • Prev Build on master (#26485787743)
  • Next Build on master (#26804529191)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc