# Feature catalog — jasmine/jasmine

> Canonical page: https://codevetter.com/unpack/jasmine/feature-catalog

# Feature catalog — jasmine/jasmine

Scanned commit 390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf (2026-08-19). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The primary user interface is a JavaScript API for declaring suites, executing specifications, and evaluating expectations. Testing tools include synchronous and asynchronous matchers, scoped customization, spies, and simulated time. Browser users receive result navigation, failure details, configuration controls, and duration summaries.
- describe/it define nested suites and specs; xdescribe/xit disable them, and fdescribe/fit focus execution. Hooks include beforeEach, afterEach, beforeAll, and afterAll. — [src/core/requireInterface.js#L27-L62](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/requireInterface.js#L27-L62) [src/core/requireInterface.js#L81-L116](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/requireInterface.js#L81-L116) [src/core/requireInterface.js#L130-L181](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/requireInterface.js#L130-L181)
- Registered synchronous matchers cover identity, deep equality, numeric comparisons, truthiness, nullish values, containment, size, DOM classes, spy interactions, regular expressions, and thrown errors. — [src/core/matchers/requireMatchers.js#L4-L39](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/matchers/requireMatchers.js#L4-L39)
- expectAsync supports pending/resolved/rejected promise checks; expectation modifiers include not, withContext, and already, and asynchronous matcher results must be awaited or returned. — [src/core/matchers/requireAsyncMatchers.js#L4-L11](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/matchers/requireAsyncMatchers.js#L4-L11) [src/core/Expectation.js#L62-L81](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Expectation.js#L62-L81) [src/core/Expectation.js#L104-L139](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Expectation.js#L104-L139)
- Asymmetric helpers provide partial object/array matching and string containment or pattern matching; MatchersUtil invokes an object's asymmetricMatch method for custom asymmetric comparisons. — [src/core/base.js#L336-L385](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/base.js#L336-L385) [src/core/matchers/matchersUtil.js#L121-L150](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/matchers/matchersUtil.js#L121-L150)
- Env exposes method/property/all-function spying and spy-object creation; SpyStrategy supports call-through, fake implementations, sequential return values, thrown errors, and resolved/rejected promises. — [src/core/Env.js#L488-L518](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Env.js#L488-L518) [src/core/SpyStrategy.js#L29-L54](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/SpyStrategy.js#L29-L54) [src/core/SpyStrategy.js#L86-L163](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/SpyStrategy.js#L86-L163)
- The mock clock replaces timeout/interval functions, optionally mocks Date, supports manual tick and autoTick, and offers withMock cleanup through a finally block. — [src/core/Clock.js#L55-L115](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Clock.js#L55-L115) [src/core/Clock.js#L139-L187](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Clock.js#L139-L187)
- Configuration controls randomization and seed, stopping on failures, empty-expectation failures, duplicate names, closure cleanup, late rejection detection, and Safari yielding; Env also exposes pending/notApplicable reasons, properties, and debug logs. — [src/core/Configuration.js#L19-L94](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Configuration.js#L19-L94) [src/core/Configuration.js#L108-L156](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Configuration.js#L108-L156) [src/core/Env.js#L660-L716](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Env.js#L660-L716) [src/core/Env.js#L789-L800](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Env.js#L789-L800)
- HtmlReporterV2 offers Spec List, Failures, and Performance tabs, rerun links, seed links, progress, and failure messages/stacks; PerformanceView shows mean, a sorted-array median selection, and at most 20 slowest specs. — [src/html/HtmlReporterV2.js#L67-L99](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/html/HtmlReporterV2.js#L67-L99) [src/html/HtmlReporterV2.js#L235-L267](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/html/HtmlReporterV2.js#L235-L267) [src/html/FailuresView.js#L52-L82](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/html/FailuresView.js#L52-L82) [src/html/PerformanceView.js#L44-L80](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/html/PerformanceView.js#L44-L80)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
