Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fe777e9
Reset test modernization to Mocha
brianmhunt Mar 28, 2026
18d1e56
Convert provider.mustache tests to Mocha
brianmhunt Mar 28, 2026
4456b6b
Convert provider.component tests to Mocha
brianmhunt Mar 28, 2026
4be3c2c
Use queueMicrotask for task scheduling
brianmhunt Mar 28, 2026
31aa52f
Use queueMicrotask task scheduler
brianmhunt Mar 28, 2026
b7ba6f5
Convert utils.component tests to Mocha
brianmhunt Mar 28, 2026
cb312cb
Convert observable tests to Mocha
brianmhunt Mar 28, 2026
35b990f
Convert binding.if tests to Mocha
brianmhunt Mar 28, 2026
a7856cd
Convert binding.component tests to Mocha
brianmhunt Mar 28, 2026
3c405b1
Convert utils tests to Mocha
brianmhunt Mar 28, 2026
d2f0bcc
Convert async bind tests to Mocha
brianmhunt Mar 28, 2026
75cb8a6
Convert bind tests to Mocha
brianmhunt Mar 28, 2026
18266a1
Convert binding.template tests to Mocha
brianmhunt Mar 28, 2026
a120d71
Convert computed tests to Mocha
brianmhunt Mar 28, 2026
82a36cf
Convert binding.core tests to Mocha
brianmhunt Mar 28, 2026
cdd5f79
Convert build.knockout tests to Mocha
brianmhunt Mar 29, 2026
6ddc3d2
Remove dead Jasmine helpers
brianmhunt Mar 29, 2026
434ded5
Remove Jasmine shims from test suite
brianmhunt Mar 29, 2026
85a5974
Use raw Sinon APIs in build.knockout specs
brianmhunt Mar 29, 2026
8db49bf
Remove stale xit wording from filter tests
brianmhunt Mar 29, 2026
56e74a8
Clean up migration documentation
brianmhunt Mar 29, 2026
a256781
Update README test framework docs
brianmhunt Mar 29, 2026
ea060f1
Harden async test callbacks
brianmhunt Mar 29, 2026
2b7eb00
Avoid suite this.beforeEach hooks
brianmhunt Mar 29, 2026
0406fcc
Limit fake timers in computed async tests
brianmhunt Mar 29, 2026
794d45d
Use direct Sinon assertions in specs
brianmhunt Mar 29, 2026
03f19ea
Restore task scheduler fallback
brianmhunt Mar 30, 2026
6683b8b
Harden knockout async build specs
brianmhunt Mar 30, 2026
42d7c5c
Fix remaining review findings
brianmhunt Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,16 @@ Make targets (they include `tools/build.mk`).
## Testing

- **Runner**: Karma
- **Frameworks**: Mocha + Chai + Sinon (preferred for new tests), Jasmine 1.3 (legacy)
- **Frameworks**: Mocha + Chai + Sinon
- **Browsers**: Electron (default), Chrome Headless, Firefox Headless
- **Coverage**: nyc/Istanbul (~89% statements, ~83% branches)
- **Test files**: `packages/*/spec/` directories

When writing new tests, use Mocha/Chai/Sinon (not Jasmine).
Use Mocha/Chai/Sinon for repository tests.

Do not:
- split shared specs into runner-specific versions while they still need to run
in the browser harness

## Code Style

Expand Down
3 changes: 1 addition & 2 deletions COVERAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,5 +173,4 @@ All files | 89.73 | 83.31 | 86.25 | 89.77 |
selectExtensions.js | 97.82 | 96.96 | 100 | 97.61 | 30
virtualElements.js | 93.98 | 91.78 | 94.73 | 94.06 | 143-149,178-179
packages/utils/helpers | 90 | 69.44 | 94.28 | 89.43 |
jasmine-13-helper.ts | 90 | 69.44 | 94.28 | 89.43 | ...165,177,231,256

mocha-test-helpers.ts | 90 | 69.44 | 94.28 | 89.43 | ...165,177,231,256
7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Start tests with electron: `make test`

Start tests with headless-chrome: `make test-headless`

The test setup has naturally grown and been ported from knockout.js. Some tests use Jasmine 1.3, newer ones use Mocha, Chai and Sinon. Karma is used as test runner rather as test pipeline
The test setup has been ported from knockout.js and standardized on Mocha, Chai and Sinon. Karma is used as the test runner.

Other options:

Expand Down Expand Up @@ -128,10 +128,7 @@ Additionally, implement a well-configured [Content Security Policy (CSP)](https:
- Test-Environment -> electron and headless-chrome
- Linting -> Eslint
- Formatting -> Prettier (configured like StandardJS)
- TDD/BDD-Frameworks ->
- Jasmine 1.3
- Mocha + Chai
- sinon (Mocks)
- TDD/BDD-Frameworks -> Mocha + Chai + Sinon
- Testing-Cloud-Service -> sauce
- standard -> Code-Style (outdated for typescript)

Expand Down
209 changes: 0 additions & 209 deletions builds/knockout/helpers/jasmine.extensions.js

This file was deleted.

Loading
Loading