Socket
Socket
Sign inDemoInstall

eslint-plugin-jest-dom

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-jest-dom - npm Package Compare versions

Comparing version 3.1.7 to 3.2.0

dist/rules/prefer-to-have-style.js

3

dist/createBannedAttributeRule.js

@@ -35,2 +35,3 @@ "use strict";

arguments: [{
object,
property,

@@ -54,3 +55,3 @@ property: {

message: `Use ${correctFunction}() instead of checking .${name} directly`,
fix: fixer => [fixer.removeRange([property.range[0] - 1, property.range[1]]), fixer.replaceTextRange([node.callee.property.range[0], node.range[1]], `${correctFunction}()`)]
fix: fixer => [fixer.removeRange([object.range[1], property.range[1]]), fixer.replaceTextRange([node.callee.property.range[0], node.range[1]], `${correctFunction}()`)]
});

@@ -57,0 +58,0 @@ },

@@ -29,3 +29,3 @@ "use strict";

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.left.property.range[0] - 1, node.range[1]]), fixer.replaceText(node.parent.parent.property, Boolean(node.parent.parent.parent.arguments[0].value) === node.operator.startsWith("=") // binary expression XNOR matcher boolean
fix: fixer => [fixer.removeRange([node.left.object.range[1], node.range[1]]), fixer.replaceText(node.parent.parent.property, Boolean(node.parent.parent.parent.arguments[0].value) === node.operator.startsWith("=") // binary expression XNOR matcher boolean
? "toBeEmptyDOMElement" : "not.toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]

@@ -39,3 +39,3 @@ });

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.left.property.range[0] - 1, node.range[1]]), fixer.replaceText(node.parent.parent.property, Boolean(node.parent.parent.parent.arguments[0].value) === node.operator.startsWith("=") // binary expression XNOR matcher boolean
fix: fixer => [fixer.removeRange([node.left.object.range[1], node.range[1]]), fixer.replaceText(node.parent.parent.property, Boolean(node.parent.parent.parent.arguments[0].value) === node.operator.startsWith("=") // binary expression XNOR matcher boolean
? "toBeEmptyDOMElement" : "not.toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]

@@ -55,3 +55,3 @@ });

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]
});

@@ -70,3 +70,3 @@ },

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.parent.arguments[0])]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.parent.arguments[0])]
});

@@ -79,3 +79,3 @@ },

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement")]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement")]
});

@@ -92,3 +92,3 @@ },

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.parent.arguments[0])]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.parent.arguments[0])]
});

@@ -101,3 +101,3 @@ },

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement")]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.parent.property, "toBeEmptyDOMElement")]
});

@@ -114,3 +114,3 @@ },

message: "Use toBeEmptyDOMElement instead of checking inner html.",
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceText(node.parent.parent.property, "toBeEmptyDOMElement"), fixer.remove(node.parent.parent.parent.arguments[0])]
});

@@ -117,0 +117,0 @@ }

@@ -18,2 +18,3 @@ "use strict";

docs: {
url: "prefer-focus",
description: "prefer toHaveFocus over checking document.activeElement",

@@ -20,0 +21,0 @@ category: "jest-dom",

@@ -17,3 +17,5 @@ "use strict";

docs: {
category: "jest-dom",
description: "prefer toHaveAttribute over checking getAttribute/hasAttribute ",
url: "prefer-to-have-attribute",
recommended: true

@@ -71,3 +73,3 @@ },

[`CallExpression[callee.property.name='hasAttribute'][parent.callee.name='expect'][parent.parent.property.name=/toBe$|to(Striclty)?Equal/]`](node) {
[`CallExpression[callee.property.name='hasAttribute'][parent.callee.name='expect'][parent.parent.property.name=/toBe$|to(Strict)?Equal/]`](node) {
if (typeof node.parent.parent.parent.arguments[0].value === "boolean") {

@@ -74,0 +76,0 @@ context.report({

@@ -14,2 +14,4 @@ "use strict";

docs: {
category: "jest-dom",
url: "prefer-to-have-text-content",
description: "Prefer toHaveTextContent over checking element.textContent",

@@ -30,3 +32,3 @@ recommended: true

fix: fixer => {
return [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.property.range, "toHaveTextContent"), fixer.replaceTextRange(expectedArg.range, expectedArg.type === "Literal" ? expectedArg.regex ? expectedArgSource : new RegExp(expectedArg.value.toString().replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&")) : `new RegExp(${expectedArgSource})`)];
return [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.property.range, "toHaveTextContent"), fixer.replaceTextRange(expectedArg.range, expectedArg.type === "Literal" ? expectedArg.regex ? expectedArgSource : new RegExp(expectedArg.value.toString().replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&")) : `new RegExp(${expectedArgSource})`)];
}

@@ -40,3 +42,3 @@ });

message: `Use toHaveTextContent instead of asserting on DOM node attributes`,
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.property.range, "toHaveTextContent")]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.property.range, "toHaveTextContent")]
});

@@ -49,3 +51,3 @@ },

message: `Use toHaveTextContent instead of asserting on DOM node attributes`,
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.parent.property.range, "toHaveTextContent")]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.parent.property.range, "toHaveTextContent")]
});

@@ -60,3 +62,3 @@ },

message: `Use toHaveTextContent instead of asserting on DOM node attributes`,
fix: fixer => [fixer.removeRange([node.property.range[0] - 1, node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.parent.property.range, "toHaveTextContent"), fixer.replaceTextRange(expectedArg.range, expectedArg.type === "Literal" ? expectedArg.regex ? expectedArgSource : new RegExp(expectedArg.value.toString().replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&")) : `new RegExp(${expectedArgSource})`)]
fix: fixer => [fixer.removeRange([node.object.range[1], node.property.range[1]]), fixer.replaceTextRange(node.parent.parent.parent.property.range, "toHaveTextContent"), fixer.replaceTextRange(expectedArg.range, expectedArg.type === "Literal" ? expectedArg.regex ? expectedArgSource : new RegExp(expectedArg.value.toString().replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&")) : `new RegExp(${expectedArgSource})`)]
});

@@ -63,0 +65,0 @@ }

{
"name": "eslint-plugin-jest-dom",
"version": "3.1.7",
"version": "3.2.0",
"description": "ESLint plugin to follow best practices and anticipate common mistakes when writing tests with jest-dom",

@@ -38,2 +38,3 @@ "main": "dist/index.js",

"devDependencies": {
"jest-extended": "^0.11.5",
"kcd-scripts": "^6.0.0"

@@ -40,0 +41,0 @@ },

@@ -98,17 +98,18 @@ <div align="center">

βœ”οΈ indicates that a rule is recommended for all users.
πŸ‘ indicates that a rule is recommended for all users.
πŸ›  indicates that a rule is fixable.
πŸ”§ indicates that a rule is fixable.
<!-- __BEGIN AUTOGENERATED TABLE__ -->
| Name | βœ”οΈ | πŸ›  | Description |
| Name | πŸ‘ | πŸ”§ | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | --- | --- | -------------------------------------------------------------- |
| [prefer-checked](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-checked.md) | βœ”οΈ | πŸ›  | prefer toBeChecked over checking attributes |
| [prefer-empty](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-empty.md) | βœ”οΈ | πŸ›  | Prefer toBeEmpty over checking innerHTML |
| [prefer-enabled-disabled](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-enabled-disabled.md) | βœ”οΈ | πŸ›  | prefer toBeDisabled or toBeEnabled over checking attributes |
| [prefer-focus](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-focus.md) | βœ”οΈ | πŸ›  | prefer toHaveFocus over checking document.activeElement |
| [prefer-required](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-required.md) | βœ”οΈ | πŸ›  | prefer toBeRequired over checking properties |
| [prefer-to-have-attribute](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-to-have-attribute.md) | βœ”οΈ | πŸ›  | prefer toHaveAttribute over checking getAttribute/hasAttribute |
| [prefer-to-have-text-content](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-to-have-text-content.md) | βœ”οΈ | πŸ›  | Prefer toHaveTextContent over checking element.textContent |
| [prefer-checked](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-checked.md) | πŸ‘ | πŸ”§ | prefer toBeChecked over checking attributes |
| [prefer-empty](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-empty.md) | πŸ‘ | πŸ”§ | Prefer toBeEmpty over checking innerHTML |
| [prefer-enabled-disabled](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-enabled-disabled.md) | πŸ‘ | πŸ”§ | prefer toBeDisabled or toBeEnabled over checking attributes |
| [prefer-focus](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-focus.md) | πŸ‘ | πŸ”§ | prefer toHaveFocus over checking document.activeElement |
| [prefer-required](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-required.md) | πŸ‘ | πŸ”§ | prefer toBeRequired over checking properties |
| [prefer-to-have-attribute](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-to-have-attribute.md) | πŸ‘ | πŸ”§ | prefer toHaveAttribute over checking getAttribute/hasAttribute |
| [prefer-to-have-style](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-to-have-style.md) | πŸ‘ | πŸ”§ | prefer toHaveStyle over checking element style |
| [prefer-to-have-text-content](https://github.com/testing-library/eslint-plugin-jest-dom/blob/master/docs/rules/prefer-to-have-text-content.md) | πŸ‘ | πŸ”§ | Prefer toHaveTextContent over checking element.textContent |

@@ -160,2 +161,3 @@ <!-- __END AUTOGENERATED TABLE__ -->

<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

@@ -162,0 +164,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc