jest-emotion
Advanced tools
Comparing version 10.0.14 to 10.0.17
# jest-emotion | ||
## 10.0.17 | ||
### Patch Changes | ||
- [fa5ffa80](https://github.com/emotion-js/emotion/commit/fa5ffa80890a079a3f333a463284bdb683cc2e0c) [#1477](https://github.com/emotion-js/emotion/pull/1477) Thanks [@liamcmitchell-sc](https://github.com/liamcmitchell-sc)! - Fixed snapshots when using Enzyme serializer and its deep mode in combination with fragments | ||
- [c8de890b](https://github.com/emotion-js/emotion/commit/c8de890b5aeeaafdcc5742aab310a61aebd666bf) [#1486](https://github.com/emotion-js/emotion/pull/1486) Thanks [@Andarist](https://github.com/Andarist)! - Fix printing speedy (usually this means production) styles | ||
- [66cda641](https://github.com/emotion-js/emotion/commit/66cda64128631790b81e3c9df273a972358ea593) [#1478](https://github.com/emotion-js/emotion/pull/1478) Thanks [@Andarist](https://github.com/Andarist)! - Update Babel dependencies | ||
## 10.0.14 | ||
@@ -7,3 +15,3 @@ | ||
- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pulls/1419) Thanks [@mitchellhamilton](https://github.com/mitchellhamilton)! - Update build tool | ||
- [c0eb604d](https://github.com/emotion-js/emotion/commit/c0eb604d) [#1419](https://github.com/emotion-js/emotion/pull/1419) Thanks [@mitchellhamilton](https://github.com/mitchellhamilton)! - Update build tool | ||
@@ -14,2 +22,2 @@ ## 10.0.11 | ||
- [3705706](https://github.com/emotion-js/emotion/commit/3705706) [#1344](https://github.com/emotion-js/emotion/pulls/1292) Thanks [@alanctkc](https://github.com/alanctkc)! - Allow jest-emotion matcher to match target by RegExp | ||
- [3705706](https://github.com/emotion-js/emotion/commit/3705706) [#1344](https://github.com/emotion-js/emotion/pull/1292) Thanks [@alanctkc](https://github.com/alanctkc)! - Allow jest-emotion matcher to match target by RegExp |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var _extends = _interopDefault(require('@babel/runtime/helpers/extends')); | ||
var _defineProperty = _interopDefault(require('@babel/runtime/helpers/defineProperty')); | ||
var _objectWithoutPropertiesLoose = _interopDefault(require('@babel/runtime/helpers/objectWithoutPropertiesLoose')); | ||
@@ -35,2 +35,8 @@ var css = require('css'); | ||
function flatMap(arr, iteratee) { | ||
var _ref; | ||
return (_ref = []).concat.apply(_ref, arr.map(iteratee)); | ||
} | ||
var RULE_TYPES = { | ||
@@ -45,6 +51,6 @@ media: 'media', | ||
function getClassNamesFromTestRenderer(selectors, _ref) { | ||
var _ref$props = _ref.props, | ||
props = _ref$props === void 0 ? {} : _ref$props; | ||
return getClassNames(selectors, props.className || props.class); | ||
function getClassNamesFromTestRenderer(selectors, _ref2) { | ||
var _ref2$props = _ref2.props, | ||
props = _ref2$props === void 0 ? {} : _ref2$props; | ||
return getClassNames(selectors, props.className || props["class"]); | ||
} | ||
@@ -79,9 +85,9 @@ | ||
function isReactElement(val) { | ||
return val.$$typeof === Symbol.for('react.test.json'); | ||
return val.$$typeof === Symbol["for"]('react.test.json'); | ||
} | ||
function isEmotionCssPropElementType(val) { | ||
return val.$$typeof === Symbol.for('react.element') && val.type.$$typeof === Symbol.for('react.forward_ref') && val.type.displayName === 'EmotionCssPropInternal'; | ||
return val.$$typeof === Symbol["for"]('react.element') && val.type.$$typeof === Symbol["for"]('react.forward_ref') && val.type.displayName === 'EmotionCssPropInternal'; | ||
} | ||
function isEmotionCssPropEnzymeElement(val) { | ||
return val.$$typeof === Symbol.for('react.test.json') && val.type === 'EmotionCssPropInternal'; | ||
return val.$$typeof === Symbol["for"]('react.test.json') && val.type === 'EmotionCssPropInternal'; | ||
} | ||
@@ -116,2 +122,20 @@ var domElementPattern = /^((HTML|SVG)\w*)?Element$/; | ||
var removeCommentPattern = /\/\*[\s\S]*?\*\//g; | ||
var getElementRules = function getElementRules(element) { | ||
var nonSpeedyRule = element.textContent; | ||
if (nonSpeedyRule) { | ||
return [nonSpeedyRule]; | ||
} | ||
if (!element.sheet) { | ||
return []; | ||
} // $FlowFixMe - flow doesn't know about `cssRules` property | ||
return [].slice.call(element.sheet.cssRules).map(function (cssRule) { | ||
return cssRule.cssText; | ||
}); | ||
}; | ||
function getStylesFromClassNames(classNames, elements) { | ||
@@ -140,5 +164,3 @@ if (!classNames.length) { | ||
var styles = ''; | ||
elements.forEach(function (element) { | ||
var rule = element.textContent || ''; | ||
flatMap(elements, getElementRules).forEach(function (rule) { | ||
if (selectorPattern.test(rule)) { | ||
@@ -303,2 +325,6 @@ styles += rule; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function getNodes(node, nodes) { | ||
@@ -309,4 +335,4 @@ if (nodes === void 0) { | ||
if (node.children) { | ||
for (var _iterator = node.children, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
if (Array.isArray(node)) { | ||
for (var _iterator = node, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
@@ -326,4 +352,24 @@ | ||
} | ||
return nodes; | ||
} | ||
if (node.children) { | ||
for (var _iterator2 = node.children, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _ref2; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref2 = _i2.value; | ||
} | ||
var _child = _ref2; | ||
getNodes(_child, nodes); | ||
} | ||
} | ||
if (typeof node === 'object') { | ||
@@ -366,6 +412,6 @@ nodes.push(node); | ||
function createSerializer(_temp) { | ||
var _ref2 = _temp === void 0 ? {} : _temp, | ||
classNameReplacer = _ref2.classNameReplacer, | ||
_ref2$DOMElements = _ref2.DOMElements, | ||
DOMElements = _ref2$DOMElements === void 0 ? true : _ref2$DOMElements; | ||
var _ref3 = _temp === void 0 ? {} : _temp, | ||
classNameReplacer = _ref3.classNameReplacer, | ||
_ref3$DOMElements = _ref3.DOMElements, | ||
DOMElements = _ref3$DOMElements === void 0 ? true : _ref3$DOMElements; | ||
@@ -380,3 +426,3 @@ var cache = new WeakSet(); | ||
if (isEmotionCssPropElementType(val)) { | ||
return printer(_extends({}, val, { | ||
return printer(_objectSpread({}, val, { | ||
props: filterEmotionProps(val.props), | ||
@@ -393,3 +439,3 @@ type: val.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ | ||
var printedVal = printer(val); | ||
nodes.forEach(cache.delete, cache); | ||
nodes.forEach(cache["delete"], cache); | ||
var keys = getKeys(elements); | ||
@@ -396,0 +442,0 @@ return replaceClassNames(classNames, styles, printedVal, keys, classNameReplacer); |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var _extends = _interopDefault(require('@babel/runtime/helpers/extends')); | ||
var _defineProperty = _interopDefault(require('@babel/runtime/helpers/defineProperty')); | ||
var _objectWithoutPropertiesLoose = _interopDefault(require('@babel/runtime/helpers/objectWithoutPropertiesLoose')); | ||
@@ -35,2 +35,8 @@ var css = require('css'); | ||
function flatMap(arr, iteratee) { | ||
var _ref; | ||
return (_ref = []).concat.apply(_ref, arr.map(iteratee)); | ||
} | ||
var RULE_TYPES = { | ||
@@ -45,6 +51,6 @@ media: 'media', | ||
function getClassNamesFromTestRenderer(selectors, _ref) { | ||
var _ref$props = _ref.props, | ||
props = _ref$props === void 0 ? {} : _ref$props; | ||
return getClassNames(selectors, props.className || props.class); | ||
function getClassNamesFromTestRenderer(selectors, _ref2) { | ||
var _ref2$props = _ref2.props, | ||
props = _ref2$props === void 0 ? {} : _ref2$props; | ||
return getClassNames(selectors, props.className || props["class"]); | ||
} | ||
@@ -79,9 +85,9 @@ | ||
function isReactElement(val) { | ||
return val.$$typeof === Symbol.for('react.test.json'); | ||
return val.$$typeof === Symbol["for"]('react.test.json'); | ||
} | ||
function isEmotionCssPropElementType(val) { | ||
return val.$$typeof === Symbol.for('react.element') && val.type.$$typeof === Symbol.for('react.forward_ref') && val.type.displayName === 'EmotionCssPropInternal'; | ||
return val.$$typeof === Symbol["for"]('react.element') && val.type.$$typeof === Symbol["for"]('react.forward_ref') && val.type.displayName === 'EmotionCssPropInternal'; | ||
} | ||
function isEmotionCssPropEnzymeElement(val) { | ||
return val.$$typeof === Symbol.for('react.test.json') && val.type === 'EmotionCssPropInternal'; | ||
return val.$$typeof === Symbol["for"]('react.test.json') && val.type === 'EmotionCssPropInternal'; | ||
} | ||
@@ -116,2 +122,20 @@ var domElementPattern = /^((HTML|SVG)\w*)?Element$/; | ||
var removeCommentPattern = /\/\*[\s\S]*?\*\//g; | ||
var getElementRules = function getElementRules(element) { | ||
var nonSpeedyRule = element.textContent; | ||
if (nonSpeedyRule) { | ||
return [nonSpeedyRule]; | ||
} | ||
if (!element.sheet) { | ||
return []; | ||
} // $FlowFixMe - flow doesn't know about `cssRules` property | ||
return [].slice.call(element.sheet.cssRules).map(function (cssRule) { | ||
return cssRule.cssText; | ||
}); | ||
}; | ||
function getStylesFromClassNames(classNames, elements) { | ||
@@ -140,5 +164,3 @@ if (!classNames.length) { | ||
var styles = ''; | ||
elements.forEach(function (element) { | ||
var rule = element.textContent || ''; | ||
flatMap(elements, getElementRules).forEach(function (rule) { | ||
if (selectorPattern.test(rule)) { | ||
@@ -303,2 +325,6 @@ styles += rule; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
function getNodes(node, nodes) { | ||
@@ -309,4 +335,4 @@ if (nodes === void 0) { | ||
if (node.children) { | ||
for (var _iterator = node.children, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
if (Array.isArray(node)) { | ||
for (var _iterator = node, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
@@ -326,4 +352,24 @@ | ||
} | ||
return nodes; | ||
} | ||
if (node.children) { | ||
for (var _iterator2 = node.children, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _ref2; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref2 = _i2.value; | ||
} | ||
var _child = _ref2; | ||
getNodes(_child, nodes); | ||
} | ||
} | ||
if (typeof node === 'object') { | ||
@@ -366,6 +412,6 @@ nodes.push(node); | ||
function createSerializer(_temp) { | ||
var _ref2 = _temp === void 0 ? {} : _temp, | ||
classNameReplacer = _ref2.classNameReplacer, | ||
_ref2$DOMElements = _ref2.DOMElements, | ||
DOMElements = _ref2$DOMElements === void 0 ? true : _ref2$DOMElements; | ||
var _ref3 = _temp === void 0 ? {} : _temp, | ||
classNameReplacer = _ref3.classNameReplacer, | ||
_ref3$DOMElements = _ref3.DOMElements, | ||
DOMElements = _ref3$DOMElements === void 0 ? true : _ref3$DOMElements; | ||
@@ -380,3 +426,3 @@ var cache = new WeakSet(); | ||
if (isEmotionCssPropElementType(val)) { | ||
return printer(_extends({}, val, { | ||
return printer(_objectSpread({}, val, { | ||
props: filterEmotionProps(val.props), | ||
@@ -393,3 +439,3 @@ type: val.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ | ||
var printedVal = printer(val); | ||
nodes.forEach(cache.delete, cache); | ||
nodes.forEach(cache["delete"], cache); | ||
var keys = getKeys(elements); | ||
@@ -396,0 +442,0 @@ return replaceClassNames(classNames, styles, printedVal, keys, classNameReplacer); |
@@ -11,3 +11,3 @@ "use strict"; | ||
var _extends = _interopDefault(require("@babel/runtime/helpers/extends")), _objectWithoutPropertiesLoose = _interopDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")), css = require("css"), chalk = _interopDefault(require("chalk")); | ||
var _defineProperty = _interopDefault(require("@babel/runtime/helpers/defineProperty")), _objectWithoutPropertiesLoose = _interopDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")), css = require("css"), chalk = _interopDefault(require("chalk")); | ||
@@ -28,3 +28,10 @@ function defaultClassNameReplacer(className, index) { | ||
}, styles + (styles ? "\n\n" : "") + code); | ||
}, RULE_TYPES = { | ||
}; | ||
function flatMap(arr, iteratee) { | ||
var _ref; | ||
return (_ref = []).concat.apply(_ref, arr.map(iteratee)); | ||
} | ||
var RULE_TYPES = { | ||
media: "media", | ||
@@ -38,4 +45,4 @@ rule: "rule" | ||
function getClassNamesFromTestRenderer(selectors, _ref) { | ||
var _ref$props = _ref.props, props = void 0 === _ref$props ? {} : _ref$props; | ||
function getClassNamesFromTestRenderer(selectors, _ref2) { | ||
var _ref2$props = _ref2.props, props = void 0 === _ref2$props ? {} : _ref2$props; | ||
return getClassNames(selectors, props.className || props.class); | ||
@@ -97,3 +104,8 @@ } | ||
var keyframesPattern = /^@keyframes\s+(animation-[^{\s]+)+/, removeCommentPattern = /\/\*[\s\S]*?\*\//g; | ||
var keyframesPattern = /^@keyframes\s+(animation-[^{\s]+)+/, removeCommentPattern = /\/\*[\s\S]*?\*\//g, getElementRules = function(element) { | ||
var nonSpeedyRule = element.textContent; | ||
return nonSpeedyRule ? [ nonSpeedyRule ] : element.sheet ? [].slice.call(element.sheet.cssRules).map(function(cssRule) { | ||
return cssRule.cssText; | ||
}) : []; | ||
}; | ||
@@ -109,4 +121,3 @@ function getStylesFromClassNames(classNames, elements) { | ||
var selectorPattern = new RegExp("\\.(" + filteredClassNames.join("|") + ")"), keyframes = {}, styles = ""; | ||
elements.forEach(function(element) { | ||
var rule = element.textContent || ""; | ||
flatMap(elements, getElementRules).forEach(function(rule) { | ||
selectorPattern.test(rule) && (styles += rule); | ||
@@ -203,5 +214,28 @@ var match = rule.match(keyframesPattern); | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
enumerableOnly && (symbols = symbols.filter(function(sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
})), keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = null != arguments[i] ? arguments[i] : {}; | ||
i % 2 ? ownKeys(source, !0).forEach(function(key) { | ||
_defineProperty(target, key, source[key]); | ||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(source).forEach(function(key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
return target; | ||
} | ||
function getNodes(node, nodes) { | ||
if (void 0 === nodes && (nodes = []), node.children) { | ||
var _iterator = node.children, _isArray = Array.isArray(_iterator), _i = 0; | ||
if (void 0 === nodes && (nodes = []), Array.isArray(node)) { | ||
var _iterator = node, _isArray = Array.isArray(_iterator), _i = 0; | ||
for (_iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ;) { | ||
@@ -218,3 +252,18 @@ var _ref; | ||
} | ||
return nodes; | ||
} | ||
if (node.children) { | ||
var _iterator2 = node.children, _isArray2 = Array.isArray(_iterator2), _i2 = 0; | ||
for (_iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ;) { | ||
var _ref2; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i2++]; | ||
} else { | ||
if ((_i2 = _iterator2.next()).done) break; | ||
_ref2 = _i2.value; | ||
} | ||
getNodes(_ref2, nodes); | ||
} | ||
} | ||
return "object" == typeof node && nodes.push(node), nodes; | ||
@@ -241,3 +290,3 @@ } | ||
function createSerializer(_temp) { | ||
var _ref2 = void 0 === _temp ? {} : _temp, classNameReplacer = _ref2.classNameReplacer, _ref2$DOMElements = _ref2.DOMElements, DOMElements = void 0 === _ref2$DOMElements || _ref2$DOMElements, cache = new WeakSet(); | ||
var _ref3 = void 0 === _temp ? {} : _temp, classNameReplacer = _ref3.classNameReplacer, _ref3$DOMElements = _ref3.DOMElements, DOMElements = void 0 === _ref3$DOMElements || _ref3$DOMElements, cache = new WeakSet(); | ||
return { | ||
@@ -249,3 +298,3 @@ test: function(val) { | ||
if (isEmotionCssPropEnzymeElement(val)) return val.children.map(printer).join("\n"); | ||
if (isEmotionCssPropElementType(val)) return printer(_extends({}, val, { | ||
if (isEmotionCssPropElementType(val)) return printer(_objectSpread({}, val, { | ||
props: filterEmotionProps(val.props), | ||
@@ -252,0 +301,0 @@ type: val.props.__EMOTION_TYPE_PLEASE_DO_NOT_USE__ |
{ | ||
"name": "jest-emotion", | ||
"version": "10.0.14", | ||
"version": "10.0.17", | ||
"description": "Jest utilities for emotion", | ||
@@ -17,3 +17,3 @@ "main": "dist/jest-emotion.cjs.js", | ||
"dependencies": { | ||
"@babel/runtime": "^7.4.3", | ||
"@babel/runtime": "^7.5.5", | ||
"@types/jest": "^23.0.2", | ||
@@ -24,5 +24,5 @@ "chalk": "^2.4.1", | ||
"devDependencies": { | ||
"@emotion/core": "^10.0.14", | ||
"@emotion/core": "^10.0.17", | ||
"dtslint": "^0.3.0", | ||
"emotion": "^10.0.14", | ||
"emotion": "^10.0.17", | ||
"enzyme-to-json": "^3.2.1", | ||
@@ -29,0 +29,0 @@ "preact": "^8.2.9", |
@@ -18,2 +18,9 @@ // @flow | ||
function getNodes(node, nodes = []) { | ||
if (Array.isArray(node)) { | ||
for (let child of node) { | ||
getNodes(child, nodes) | ||
} | ||
return nodes | ||
} | ||
if (node.children) { | ||
@@ -20,0 +27,0 @@ for (let child of node.children) { |
// @flow | ||
function flatMap(arr, iteratee) { | ||
return [].concat(...arr.map(iteratee)) | ||
} | ||
export const RULE_TYPES = { | ||
@@ -97,2 +101,14 @@ media: 'media', | ||
const getElementRules = (element: HTMLStyleElement): string[] => { | ||
const nonSpeedyRule = element.textContent | ||
if (nonSpeedyRule) { | ||
return [nonSpeedyRule] | ||
} | ||
if (!element.sheet) { | ||
return [] | ||
} | ||
// $FlowFixMe - flow doesn't know about `cssRules` property | ||
return [].slice.call(element.sheet.cssRules).map(cssRule => cssRule.cssText) | ||
} | ||
export function getStylesFromClassNames( | ||
@@ -121,4 +137,3 @@ classNames: Array<string>, | ||
elements.forEach(element => { | ||
let rule = element.textContent || '' | ||
flatMap(elements, getElementRules).forEach(rule => { | ||
if (selectorPattern.test(rule)) { | ||
@@ -125,0 +140,0 @@ styles += rule |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
62944
1528
Updated@babel/runtime@^7.5.5