1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.expectPortal = exports.createPortal = void 0;
|
5 |
|
6 | var _css = _interopRequireDefault(require("css"));
|
7 |
|
8 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
9 |
|
10 | var createPortal = function createPortal() {
|
11 |
|
12 | document.body.innerHTML = '';
|
13 | document.body.appendChild(document.createElement('div'));
|
14 | };
|
15 |
|
16 | exports.createPortal = createPortal;
|
17 |
|
18 | var expectPortal = function expectPortal(portalId) {
|
19 | return {
|
20 | toMatchSnapshot: function toMatchSnapshot() {
|
21 | var node = document.getElementById(portalId);
|
22 |
|
23 | if (node) {
|
24 | var styles = _css.default.parse(document.getElementsByTagName('style')[0].innerHTML);
|
25 |
|
26 | styles.stylesheet.rules = styles.stylesheet.rules.filter(function (rule) {
|
27 |
|
28 | if (['media', 'rule'].indexOf(rule.type) < 0) {
|
29 | return false;
|
30 | }
|
31 |
|
32 | if (!rule.selectors) {
|
33 | return true;
|
34 | }
|
35 |
|
36 | var selector = rule.selectors.join('');
|
37 | return Array.from(node.classList).some(function (className) {
|
38 | return selector.indexOf(className) >= 0;
|
39 | });
|
40 | });
|
41 | expect(document.getElementById(portalId)).toMatchSnapshot();
|
42 | expect(_css.default.stringify(styles)).toMatchSnapshot();
|
43 | } else {
|
44 | fail(portalId + " portal does not exist");
|
45 | }
|
46 | }
|
47 | };
|
48 | };
|
49 |
|
50 | exports.expectPortal = expectPortal; |
\ | No newline at end of file |