Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
jest-matcher-utils
Advanced tools
The jest-matcher-utils package provides utility functions for creating custom Jest matchers. It is designed to help developers write their own matchers that integrate seamlessly with Jest's built-in expectation system, offering a way to extend Jest's assertion capabilities with custom logic. The utilities provided by this package include formatting values for error messages, comparing values, and generating matcher error messages.
pretty-format
Formats any JavaScript value for pretty printing, which is useful for generating readable error messages in custom matchers.
const { prettyFormat } = require('jest-matcher-utils');
console.log(prettyFormat({ foo: 'bar' }));
matcherHint
Generates a hint string for a matcher, which can be used at the beginning of error messages to indicate which matcher failed.
const { matcherHint } = require('jest-matcher-utils');
console.log(matcherHint('.toBe'));
printExpected and printReceived
These functions format the expected and received values to be included in error messages, applying color highlighting to improve readability.
const { printExpected, printReceived } = require('jest-matcher-utils');
console.log(`Expected: ${printExpected(true)}
Received: ${printReceived(false)}`);
Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It offers similar functionality to jest-matcher-utils in the sense that it provides a rich set of assertions and plugins to extend its capabilities. However, Chai is a standalone assertion library, not tied to any specific test runner like Jest.
Expect is a minimalist assertion library that comes with Jest but can also be used independently. It provides a similar API for writing test assertions as jest-matcher-utils, but jest-matcher-utils focuses more on the utilities for creating custom matchers rather than providing a comprehensive set of built-in matchers.
25.1.0
[babel-plugin-jest-hoist]
Show codeframe on static hoisting issues (#8865)[babel-plugin-jest-hoist]
Add BigInt
to ALLOWED_IDENTIFIERS
(#8382)[babel-preset-jest]
Add @babel/plugin-syntax-bigint
(#8382)[expect]
Add BigInt
support to toBeGreaterThan
, toBeGreaterThanOrEqual
, toBeLessThan
and toBeLessThanOrEqual
(#8382)[expect, jest-matcher-utils]
Display change counts in annotation lines (#9035)[expect, jest-snapshot]
Support custom inline snapshot matchers (#9278)[jest-config]
Throw the full error message and stack when a Jest preset is missing a dependency (#8924)[jest-config]
[BREAKING] Set default display name color based on runner (#8689)[jest-config]
Merge preset globals with project globals (#9027)[jest-config]
Support .cjs
config files (#9291)[jest-config]
[BREAKING] Support .mjs
config files (#9431)[jest-core]
Support reporters as default exports (#9161)[jest-core]
Support --findRelatedTests
paths case insensitivity on Windows (#8961)[jest-diff]
Add options for colors and symbols (#8841)[jest-diff]
[BREAKING] Export as ECMAScript module (#8873)[jest-diff]
Add includeChangeCounts
and rename Indicator
options (#8881)[jest-diff]
Add changeColor
and patchColor
options (#8911)[jest-diff]
Add trailingSpaceFormatter
option and replace cyan with commonColor
(#8927)[jest-diff]
Add firstOrLastEmptyLineReplacement
option and export 3 diffLines
functions (#8955)[jest-environment]
Add optional getVmContext
next to runScript
(#9252 & #9428)[jest-environment-jsdom]
Add fakeTimersLolex
(#8925)[jest-environment-node]
Add fakeTimersLolex
(#8925)[jest-environment-node]
Add queueMicrotask
(#9140)[jest-environment-node]
Implement getVmContext
(#9252 & #9428)[@jest/fake-timers]
Add Lolex as implementation of fake timers (#8897)[jest-get-type]
Add BigInt
support. (#8382)[jest-matcher-utils]
Add BigInt
support to ensureNumbers
ensureActualIsNumber
, ensureExpectedIsNumber
(#8382)[jest-matcher-utils]
Ignore highlighting matched asymmetricMatcher in diffs (#9257)[jest-reporters]
Export utils for path formatting (#9162)[jest-reporters]
Provides global coverage thresholds as watermarks for istanbul (#9416)[jest-runner]
Warn if a worker had to be force exited (#8206)[jest-runtime]
[BREAKING] Do not export ScriptTransformer
- it can be imported from @jest/transform
instead (#9256)[jest-runtime]
Use JestEnvironment.getVmContext
and vm.compileFunction
if available to avoid the module wrapper (#9252 & #9428)[jest-snapshot]
Display change counts in annotation lines (#8982)[jest-snapshot]
[BREAKING] Improve report when the matcher has properties (#9104)[jest-snapshot]
Improve colors when snapshots are updatable (#9132)[jest-snapshot]
Ignore indentation for most serialized objects (#9203)[jest-transform]
Create createTranspilingRequire
function for easy transpiling modules (#9194)[jest-transform]
[BREAKING] Return transformed code as a string, do not wrap in vm.Script
(#9253)[@jest/test-result]
Create method to create empty TestResult
(#8867)[jest-worker]
[BREAKING] Return a promise from end()
, resolving with the information whether workers exited gracefully (#8206)[jest-reporters]
Transform file paths into hyperlinks (#8980)[expect]
Display expectedDiff
more carefully in toBeCloseTo
(#8389)[expect]
Avoid incorrect difference for subset when toMatchObject
fails (#9005)[expect]
Consider all RegExp flags for equality (#9167)[expect]
[BREAKING] Consider primitives different from wrappers instantiated with new
(#9167)[expect]
Prevent maintaining RegExp state between multiple tests (#9289)[expect]
Fix subsetEquality false circular reference detection (#9322)[jest-config]
Use half of the available cores when watchAll
mode is enabled (#9117)[jest-config]
Fix Jest multi project runner still cannot handle exactly one project (#8894)[jest-console]
Add missing console.group
calls to NullConsole
(#9024)[jest-core]
Don't include unref'd timers in --detectOpenHandles results (#8941)[jest-core]
Limit number of workers when creating haste maps in projects (#9259)[jest-diff]
Do not inverse format if line consists of one change (#8903)[jest-diff]
Rename some new options and change their default values (#9077)[jest-environment-node]
Fix TextEncoder.encode
not referencing same global Uint8Array
constructor (#9261)[jest-fake-timers]
getTimerCount
will not include cancelled immediates (#8764)[jest-fake-timers]
Support util.promisify
on setTimeout
(#9180)[jest-jasmine2, jest-circus]
Improve error message format for Node's assert.fail (#9262)[jest-leak-detector]
[BREAKING] Use weak-napi
instead of weak
package (#8686)[jest-mock]
Fix for mockReturnValue overriding mockImplementationOnce (#8398)[jest-reporters]
Make node-notifier an optional dependency (#8918)[jest-reporters]
Make all arguments to methods on BaseReporter
optional (#9159)[jest-resolve]
: Set MODULE_NOT_FOUND as error code when module is not resolved from paths (#8487)[jest-resolve-dependencies]
Handle dynamic dependencies correctly even when using module maps (#9303)[jest-snapshot]
Remove only the added newlines in multiline snapshots (#8859)[jest-snapshot]
Distinguish empty string from external snapshot not written (#8880)[jest-snapshot]
[BREAKING] Distinguish empty string from internal snapshot not written (#8898)[jest-snapshot]
[BREAKING] Remove report
method and throw matcher errors (#9049)[jest-snapshot]
Omit irrelevant received
properties when property matchers fail (#9198)[jest-transform]
Properly cache transformed files across tests (#8890)[jest-transform]
Don't fail the test suite when a generated source map is invalid (#9058)[jest-types]
[BREAKING] Use less null | undefined
in config types (#9200)[jest-util]
Allow querying process.domain (#9136)[pretty-format]
Correctly detect memoized elements (#9196)[pretty-format]
Fix pretty-format to respect displayName on forwardRef (#9422)[*]
[BREAKING] Drop support for Node 6 (#8455)[*]
Add Node 12 to CI (#8411)[*]
[BREAKING] Upgrade to Micromatch v4 (#8852)[babel-plugin-jest-hoist]
[BREAKING] Use ESM exports (#8874)[docs]
Add alias and optional boolean value to coverage
CLI Reference (#8996)[docs]
Fix broken link pointing to legacy JS file in "Snapshot Testing".[docs]
Add setupFilesAfterEnv
and jest.setTimeout
example (#8971)[expect]
Test that toStrictEqual
is equivalent to Node's assert.deepStrictEqual
(#9167)[jest]
[BREAKING] Use ESM exports (#8874)[jest-cli]
[BREAKING] Use ESM exports (#8874)[jest-cli]
[BREAKING] Remove re-exports from @jest/core
(#8874)[jest-diff]
Remove the need to export splitLines0
function (#9151)[jest-environment-jsdom]
[BREAKING] Upgrade JSDOM from v11 to v15 (#8851)[jest-haste-map]
Upgrade to fsevents@2
(#9215)[jest-reporters]
[BREAKING] Upgrade Istanbul dependencies, which are used for code coverage (#9192)[jest-util]
[BREAKING] Remove deprecated exports (#8863)[jest-validate]
[BREAKING] Use ESM exports (#8874)[jest-types]
Mark InitialOptions
as Partial
(#8848)[jest-config]
Refactor normalize
to be more type safe (#8848)FAQs
A set of utility functions for expect and related packages
The npm package jest-matcher-utils receives a total of 32,405,434 weekly downloads. As such, jest-matcher-utils popularity was classified as popular.
We found that jest-matcher-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.