Skip to content

Commit

Permalink
bump
Browse files Browse the repository at this point in the history
  • Loading branch information
mi5q committed Jan 29, 2024
1 parent 1b692cc commit e377dc2
Show file tree
Hide file tree
Showing 20 changed files with 6,716 additions and 5,546 deletions.
Binary file added .DS_Store
Binary file not shown.
257 changes: 1 addition & 256 deletions CHANGELOG.md
@@ -1,258 +1,3 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [7.0.3](https://github.com/styled-components/jest-styled-components/compare/v7.0.2...v7.0.3) - 2020-08-19

- Strip static class names from jest snapshot results (#320) thanks @blnoonan
- Fix get styled className from children components (#313) thanks @vxcamiloxv

## [7.0.2](https://github.com/styled-components/jest-styled-components/compare/v7.0.1...v7.0.2) - 2020-04-09

Fix toHaveStyleRule support classes with displayName prefix (#302) thanks @vxcamiloxv

## [7.0.1](https://github.com/styled-components/jest-styled-components/compare/v7.0.0...v7.0.1) - 2020-04-07

- Update Matchers interface (#269) thanks @tobilen

- Extend global namespace with jest matcher (#308) thanks @tobilen

- support shallow rendering when nesting styled components (#306) (#309) thanks @functionalDev

- Remove object spread to continue Node LTS 10/12 support (#304) thanks @vxcamiloxv

## [7.0.0](https://github.com/styled-components/jest-styled-components/compare/v6.3.1...v7.0.0) - 2020-01-13

- styled-components v5 support, drops support for s-c versions below v5
- ship `stylesheetSerializer` as a named export

## [6.3.1](https://github.com/styled-components/jest-styled-components/compare/v6.3.0...v6.3.1) - 2018-11-11

### Fixed

- [toHaveStyleRule] Fix `.not undefinded` edge-case introduced in [#206](https://github.com/styled-components/jest-styled-components/pull/206) (see [#210](https://github.com/styled-components/jest-styled-components/pull/210)).

## [6.3.0](https://github.com/styled-components/jest-styled-components/compare/v6.2.2...v6.3.0) - 2018-11-10

### Added

- [toHaveStyleRule] Ability to avoid passing the expected value and use the `.not` modifier (see [#206](https://github.com/styled-components/jest-styled-components/pull/206)).

## [6.2.2](https://github.com/styled-components/jest-styled-components/compare/v6.2.1...v6.2.2) - 2018-10-21

### Fixed

- Avoid using object spread to make this package compatible with Node <8.6 (see [#196](https://github.com/styled-components/jest-styled-components/pull/196)).

## [6.2.1](https://github.com/styled-components/jest-styled-components/compare/v6.2.0...v6.2.1) - 2018-09-22

### Fixed

- [toHaveStyleRule] Do not fail when components have empty string as children (see [#189](https://github.com/styled-components/jest-styled-components/pull/189)).

## [6.2.0](https://github.com/styled-components/jest-styled-components/compare/v6.1.1...v6.2.0) - 2018-09-08

### Added

- Ability to export serializer (see [#173](https://github.com/styled-components/jest-styled-components/pull/173)).
- Support for v4 data attribute (see [#181](https://github.com/styled-components/jest-styled-components/pull/181)).

### Fixed

- [toHaveStyleRule] Fix media regex to allow dots (see [#182](https://github.com/styled-components/jest-styled-components/pull/182)).

## [6.1.1](https://github.com/styled-components/jest-styled-components/compare/v6.1.0...v6.1.1) - 2018-08-22

### Fixed

- [toHaveStyleRule] Fix regression with nested components.
- [toHaveStyleRule] Avoid throwing on non existing Enzyme components.

## [6.1.0](https://github.com/styled-components/jest-styled-components/compare/v6.0.1...v6.1.0) - 2018-08-19

### Added

- Support [react-testing-library](https://github.com/kentcdodds/react-testing-library).

## [6.0.1](https://github.com/styled-components/jest-styled-components/compare/v6.0.0...v6.0.1) - 2018-08-11

### Fixed

- Fix `AsymmetricMatcher` TS definition.

## [6.0.0](https://github.com/styled-components/jest-styled-components/compare/v5.0.1...v6.0.0) - 2018-08-11

### Changed

- [toHaveStyleRule] Added support for Jest asymmetric matchers and more (see [#148](https://github.com/styled-components/jest-styled-components/pull/148)).

### Fixed

- [toHaveStyleRule] Support `&&` (see [#126](https://github.com/styled-components/jest-styled-components/pull/126)).
- [toHaveStyleRule] Nested component classNames are serialized too(see [#162](https://github.com/styled-components/jest-styled-components/pull/162)).

## [5.0.1](https://github.com/styled-components/jest-styled-components/compare/v5.0.0...v5.0.1) - 2018-04-01

### Fixed

- [toHaveStyleRule] Allow spaces or no spaces in media queries (see
[#128](https://github.com/styled-components/jest-styled-components/pull/128)).

### Changed

- Improve README (see
[#127](https://github.com/styled-components/jest-styled-components/pull/127)
[#131](https://github.com/styled-components/jest-styled-components/pull/131)
[#132](https://github.com/styled-components/jest-styled-components/pull/132)).

## [5.0.0](https://github.com/styled-components/jest-styled-components/compare/v4.10.0...v5.0.0) - 2018-02-24

### Changed

- [toHaveStyleRule] Improve support for complex modifiers.

### Removed

- Drop support for Styled Components v1.

## [4.10.0](https://github.com/styled-components/jest-styled-components/compare/v4.9.0...v4.10.0) - 2018-01-14

### Added

- [toHaveStyleRule] Support Preact.

## [4.9.0](https://github.com/styled-components/jest-styled-components/compare/v4.8.0...v4.9.0) - 2017-10-22

### Changed

- [toHaveStyleRule (Native)] Full rewrite to support Styled Components v2.
- Update dependencies.
- Improve README.

### Fixed

- [toHaveStyleRule (React)] Support styled components wrapped with `styled`.

## [4.8.0](https://github.com/styled-components/jest-styled-components/compare/v4.7.1...v4.8.0) - 2017-10-21

### Changed

- [toMatchSnapshot] Support Preact.

## [4.7.1](https://github.com/styled-components/jest-styled-components/compare/v4.7.0...v4.7.1) - 2017-10-18

### Fixed

- [toMatchSnapshot] Add the optional `options` parameter to the matcher type definition.

## [4.7.0](https://github.com/styled-components/jest-styled-components/compare/v4.6.0...v4.7.0) - 2017-09-30

### Changed

- Support React 16.
- Update dependencies.

## [4.6.0](https://github.com/styled-components/jest-styled-components/compare/v4.5.0...v4.6.0) - 2017-09-09

### Changed

- [toMatchSnapshot] Make the matcher compatible with Jest v21.

## [4.5.0](https://github.com/styled-components/jest-styled-components/compare/v4.4.1...v4.5.0) - 2017-09-05

### Changed

- [toHaveStyleRule (React)] Make the matcher compatible with Jest v21 (see https://github.com/facebook/jest/pull/3972).

## [4.4.1](https://github.com/styled-components/jest-styled-components/compare/v4.4.0...v4.4.1) - 2017-08-19

### Fixed

- [toMatchSnapshot] Avoid using non-hashes class names when generating snapshots.

## [4.4.0](https://github.com/styled-components/jest-styled-components/compare/v4.3.0...v4.4.0) - 2017-08-11

### Added

- [toMatchSnapshot] Add `modifier` option to search for pseudo classes and attributes.

## [4.3.0](https://github.com/styled-components/jest-styled-components/compare/v4.2.2...v4.3.0) - 2017-07-31

### Added

- [toMatchSnapshot] Accept a third options parameter to search for rules nested within At-rules.

## [4.2.2](https://github.com/styled-components/jest-styled-components/compare/v4.2.1...v4.2.2) - 2017-07-24

### Fixed

- [toMatchSnapshot] Handle non Styled Components class names with leading white spaces.

## [4.2.1](https://github.com/styled-components/jest-styled-components/compare/v4.2.0...v4.2.1) - 2017-07-23

### Fixed

- [toMatchSnapshot] Handle class names with trailing white spaces.

## [4.2.0](https://github.com/styled-components/jest-styled-components/compare/v4.1.2...v4.2.0) - 2017-07-20

### Changed

- [toHaveStyleRule (React)] Accept regular expressions as a second parameter.

## [4.1.2](https://github.com/styled-components/jest-styled-components/compare/v4.1.1...v4.1.2) - 2017-07-20

### Fixed

- [toHaveStyleRule (React)] Avoid showing Enzyme errors when class names are not present in the tree.

## [4.1.1](https://github.com/styled-components/jest-styled-components/compare/v4.1.0...v4.1.1) - 2017-07-20

### Fixed

- [toMatchSnapshot] Fix regression introduced in 4.1.0 which broke the support for Styled Components < 2.

## [4.1.0](https://github.com/styled-components/jest-styled-components/compare/v4.0.3...v4.1.0) - 2017-07-20

### Changed

- [toMatchSnapshot] Preserve custom (i.e. not generated by Styled Components) class names.

## [4.0.3](https://github.com/styled-components/jest-styled-components/compare/v4.0.2...v4.0.3) - 2017-07-18

### Fixed

- [toMatchSnapshot] Collect unique class names and avoid skipping indexes in placeholders.
- [toHaveStyleRule (React)] Support `null` components.

## [4.0.2](https://github.com/styled-components/jest-styled-components/compare/v4.0.1...v4.0.2) - 2017-07-17

### Fixed

- [toMatchSnapshot] Make the replace regular expression less greedy (i.e. stop at the first match).

## [4.0.1](https://github.com/styled-components/jest-styled-components/compare/v4.0.0...v4.0.1) - 2017-07-16

### Fixed

- [toMatchSnapshot] Replace class names inside the `className` attribute only.

## [4.0.0](https://github.com/styled-components/jest-styled-components/compare/v3.3.2...v4.0.0) - 2017-07-15

### Added

- [toMatchSnapshot] Replace class names generated by Styled Components with placeholders.

### Changed

- Update dependencies.
- Improve README.
- Format code with Prettier.
- Refactor folders and tests.

### Removed

- Remove `toMatchStyledComponentsSnapshot` matcher.
See [GitHub releases](https://github.com/styled-components/jest-styled-components/releases).
2 changes: 1 addition & 1 deletion LICENSE
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2017 Michele Bertoli
Copyright (c) 2017 - present Michele Bertoli

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
45 changes: 43 additions & 2 deletions README.md
Expand Up @@ -344,7 +344,26 @@ test('it works', () => {
const tree = renderer.create(<Button />).toJSON()
expect(tree).toMatchSpecificSnapshot("./Button.snap")
})
````
```

## Serializer Options

The serializer can be configured to control the snapshot output.

```js
import { render } from '@testing-library/react'
import { setStyleSheetSerializerOptions } from 'jest-styled-components/serializer'

setStyleSheetSerializerOptions({
addStyles: false,
classNameFormatter: (index) => `styled${index}`
});

test('it works', () => {
const { container } = render(<Button />)
expect(container.firstChild).toMatchSnapshot()
})
```

# toHaveStyleRule

Expand Down Expand Up @@ -423,6 +442,22 @@ test('nested buttons are flexed', () => {
})
```

You can take a similar approach when you have classNames that override styles
```js
const Button = styled.button`
background-color: red;
&.override {
background-color: blue;
}
`
const wrapper = mount(<Button className="override">I am a button!</Button>);

expect(wrapper).toHaveStyleRule('background-color', 'blue', {
modifier: '&.override',
});
```

This matcher works with trees serialized with `react-test-renderer`, `react-testing-library`, or those shallow rendered or mounted with Enzyme.
It checks the style rules applied to the root component it receives, therefore to make assertions on components further in the tree they must be provided separately (Enzyme's [find](http://airbnb.io/enzyme/docs/api/ShallowWrapper/find.html) might help).

Expand All @@ -436,12 +471,18 @@ import 'jest-styled-components/native'

# Global installation

It is possible to setup this package for all the tests. Import the library once in the `src/setupTests.js` as follows:
It is possible to setup this package for all the tests. For Example: import the library once in the `src/setupTests.js` as follows:

```js
import 'jest-styled-components'
```

...then add the following to `test.config.js`:

```js
setupFilesAfterEnv: ['<rootDir>/src/setupTests.js']
```

# Working with multiple packages

If Jest Styled Components is not working, it is likely caused by loading multiple instances of `styled-components`. This can happen especially when working with a Lerna monorepo. Starting with `styled-components@3.2.0`, a warning will be logged when multiple instances of it are being included and run as part of the Jest tests. Using `styled-components@3.1.6` and lower with multiple instances will cause a silent error with unexpected results.
Expand Down

0 comments on commit e377dc2

Please sign in to comment.