@pie-lib/mask-markup 2.1.1-next.0 → 2.1.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/drag-in-the-blank.test.js +136 -0
- package/lib/__tests__/index.test.js +49 -0
- package/lib/__tests__/mask.test.js +177 -0
- package/lib/__tests__/serialization.test.js +44 -0
- package/lib/__tests__/utils.js +15 -0
- package/lib/__tests__/with-mask.test.js +117 -0
- package/lib/choices/__tests__/index.test.js +108 -0
- package/lib/choices/choice.js +1 -1
- package/lib/choices/index.js +1 -1
- package/lib/componentize.js +1 -1
- package/lib/components/__tests__/blank.test.js +196 -0
- package/lib/components/__tests__/correct-input.test.js +139 -0
- package/lib/components/__tests__/dropdown.test.js +144 -0
- package/lib/components/__tests__/input.test.js +136 -0
- package/lib/components/blank.js +1 -1
- package/lib/components/correct-input.js +1 -1
- package/lib/components/dropdown.js +1 -1
- package/lib/components/input.js +1 -1
- package/lib/constructed-response.js +1 -1
- package/lib/customizable.js +1 -1
- package/lib/drag-in-the-blank.js +1 -1
- package/lib/index.js +1 -1
- package/lib/inline-dropdown.js +1 -1
- package/lib/mask.js +1 -1
- package/lib/serialization.js +1 -1
- package/lib/with-mask.js +1 -1
- package/package.json +2 -2
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
var React = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _react2 = require("@testing-library/react");
|
|
15
|
+
var _dragInTheBlank = _interopRequireDefault(require("../drag-in-the-blank"));
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
17
|
+
var markup = "<div>\n <img src=\"https://image.shutterstock.com/image-vector/cow-jumped-over-moon-traditional-260nw-1152899330.jpg\"></img>\n <h5>Hey Diddle Diddle <i>by ?</i></h5>\n <p>1: Hey, diddle, diddle,</p>\n <p>2: The cat and the fiddle,</p>\n <p>3: The cow {{0}} over the moon;</p>\n <p>4: The little dog {{1}},</p>\n <p>5: To see such sport,</p>\n <p>6: And the dish ran away with the {{2}}.</p>\n</div>";
|
|
18
|
+
var choice = function choice(v, id) {
|
|
19
|
+
return {
|
|
20
|
+
value: v,
|
|
21
|
+
id: id
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Mock DragProvider and DragDroppablePlaceholder to avoid DndContext requirement
|
|
26
|
+
jest.mock('@pie-lib/drag', function () {
|
|
27
|
+
return {
|
|
28
|
+
DragProvider: function DragProvider(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
onDragStart = _ref.onDragStart,
|
|
31
|
+
onDragEnd = _ref.onDragEnd;
|
|
32
|
+
// Simple wrapper that doesn't require DndContext
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
"data-testid": "drag-provider"
|
|
35
|
+
}, children);
|
|
36
|
+
},
|
|
37
|
+
DragDroppablePlaceholder: function DragDroppablePlaceholder(_ref2) {
|
|
38
|
+
var children = _ref2.children,
|
|
39
|
+
disabled = _ref2.disabled,
|
|
40
|
+
instanceId = _ref2.instanceId;
|
|
41
|
+
// Simple wrapper that doesn't require useDroppable
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
"data-testid": "drag-droppable-placeholder"
|
|
44
|
+
}, children);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Mock @dnd-kit/core components and hooks used by DragInTheBlank and child components
|
|
50
|
+
jest.mock('@dnd-kit/core', function () {
|
|
51
|
+
return {
|
|
52
|
+
DragOverlay: function DragOverlay(_ref3) {
|
|
53
|
+
var children = _ref3.children;
|
|
54
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
"data-testid": "drag-overlay"
|
|
56
|
+
}, children);
|
|
57
|
+
},
|
|
58
|
+
closestCenter: jest.fn(),
|
|
59
|
+
useDraggable: jest.fn(function () {
|
|
60
|
+
return {
|
|
61
|
+
attributes: {},
|
|
62
|
+
listeners: {},
|
|
63
|
+
setNodeRef: jest.fn(),
|
|
64
|
+
transform: null,
|
|
65
|
+
isDragging: false
|
|
66
|
+
};
|
|
67
|
+
}),
|
|
68
|
+
useDroppable: jest.fn(function () {
|
|
69
|
+
return {
|
|
70
|
+
setNodeRef: jest.fn(),
|
|
71
|
+
isOver: false,
|
|
72
|
+
active: null
|
|
73
|
+
};
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
jest.mock('@dnd-kit/utilities', function () {
|
|
78
|
+
return {
|
|
79
|
+
CSS: {
|
|
80
|
+
Translate: {
|
|
81
|
+
toString: jest.fn(function () {
|
|
82
|
+
return 'translate3d(0, 0, 0)';
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
describe('DragInTheBlank', function () {
|
|
89
|
+
var defaultProps = {
|
|
90
|
+
disabled: false,
|
|
91
|
+
feedback: {},
|
|
92
|
+
markup: markup,
|
|
93
|
+
choices: [choice('Jumped', '0'), choice('Laughed', '1'), choice('Spoon', '2'), choice('Fork', '3'), choice('Bumped', '4'), choice('Smiled', '5')],
|
|
94
|
+
value: {
|
|
95
|
+
0: undefined
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
describe('render', function () {
|
|
99
|
+
it('renders correctly with default props', function () {
|
|
100
|
+
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], defaultProps)),
|
|
101
|
+
container = _render.container;
|
|
102
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
103
|
+
// Check that markup content is rendered
|
|
104
|
+
expect(_react2.screen.getByText(/Hey Diddle Diddle/)).toBeInTheDocument();
|
|
105
|
+
expect(_react2.screen.getByText(/Hey, diddle, diddle,/)).toBeInTheDocument();
|
|
106
|
+
});
|
|
107
|
+
it('renders correctly with disabled prop as true', function () {
|
|
108
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
109
|
+
disabled: true
|
|
110
|
+
}))),
|
|
111
|
+
container = _render2.container;
|
|
112
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
113
|
+
});
|
|
114
|
+
it('renders correctly with feedback', function () {
|
|
115
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
116
|
+
feedback: {
|
|
117
|
+
0: {
|
|
118
|
+
value: 'Jumped',
|
|
119
|
+
correct: 'Jumped'
|
|
120
|
+
},
|
|
121
|
+
1: {
|
|
122
|
+
value: 'Laughed',
|
|
123
|
+
correct: 'Laughed'
|
|
124
|
+
},
|
|
125
|
+
2: {
|
|
126
|
+
value: 'Spoon',
|
|
127
|
+
correct: 'Spoon'
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}))),
|
|
131
|
+
container = _render3.container;
|
|
132
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfZHJhZ0luVGhlQmxhbmsiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJtYXJrdXAiLCJjaG9pY2UiLCJ2IiwiaWQiLCJ2YWx1ZSIsImplc3QiLCJtb2NrIiwiRHJhZ1Byb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwib25EcmFnU3RhcnQiLCJvbkRyYWdFbmQiLCJjcmVhdGVFbGVtZW50IiwiRHJhZ0Ryb3BwYWJsZVBsYWNlaG9sZGVyIiwiX3JlZjIiLCJkaXNhYmxlZCIsImluc3RhbmNlSWQiLCJEcmFnT3ZlcmxheSIsIl9yZWYzIiwiY2xvc2VzdENlbnRlciIsImZuIiwidXNlRHJhZ2dhYmxlIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJ0cmFuc2Zvcm0iLCJpc0RyYWdnaW5nIiwidXNlRHJvcHBhYmxlIiwiaXNPdmVyIiwiYWN0aXZlIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImZlZWRiYWNrIiwiY2hvaWNlcyIsInVuZGVmaW5lZCIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInNjcmVlbiIsImdldEJ5VGV4dCIsIl9yZW5kZXIyIiwiX2V4dGVuZHMyIiwiX3JlbmRlcjMiLCJjb3JyZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9kcmFnLWluLXRoZS1ibGFuay50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgRHJhZ0luVGhlQmxhbmsgZnJvbSAnLi4vZHJhZy1pbi10aGUtYmxhbmsnO1xuXG5jb25zdCBtYXJrdXAgPSBgPGRpdj5cbiAgPGltZyBzcmM9XCJodHRwczovL2ltYWdlLnNodXR0ZXJzdG9jay5jb20vaW1hZ2UtdmVjdG9yL2Nvdy1qdW1wZWQtb3Zlci1tb29uLXRyYWRpdGlvbmFsLTI2MG53LTExNTI4OTkzMzAuanBnXCI+PC9pbWc+XG4gICA8aDU+SGV5IERpZGRsZSBEaWRkbGUgPGk+YnkgPzwvaT48L2g1PlxuIDxwPjE6IEhleSwgZGlkZGxlLCBkaWRkbGUsPC9wPlxuIDxwPjI6IFRoZSBjYXQgYW5kIHRoZSBmaWRkbGUsPC9wPlxuIDxwPjM6IFRoZSBjb3cge3swfX0gb3ZlciB0aGUgbW9vbjs8L3A+XG4gPHA+NDogVGhlIGxpdHRsZSBkb2cge3sxfX0sPC9wPlxuIDxwPjU6IFRvIHNlZSBzdWNoIHNwb3J0LDwvcD5cbiA8cD42OiBBbmQgdGhlIGRpc2ggcmFuIGF3YXkgd2l0aCB0aGUge3syfX0uPC9wPlxuPC9kaXY+YDtcbmNvbnN0IGNob2ljZSA9ICh2LCBpZCkgPT4gKHsgdmFsdWU6IHYsIGlkIH0pO1xuXG4vLyBNb2NrIERyYWdQcm92aWRlciBhbmQgRHJhZ0Ryb3BwYWJsZVBsYWNlaG9sZGVyIHRvIGF2b2lkIERuZENvbnRleHQgcmVxdWlyZW1lbnRcbmplc3QubW9jaygnQHBpZS1saWIvZHJhZycsICgpID0+ICh7XG4gIERyYWdQcm92aWRlcjogKHsgY2hpbGRyZW4sIG9uRHJhZ1N0YXJ0LCBvbkRyYWdFbmQgfSkgPT4ge1xuICAgIC8vIFNpbXBsZSB3cmFwcGVyIHRoYXQgZG9lc24ndCByZXF1aXJlIERuZENvbnRleHRcbiAgICByZXR1cm4gPGRpdiBkYXRhLXRlc3RpZD1cImRyYWctcHJvdmlkZXJcIj57Y2hpbGRyZW59PC9kaXY+O1xuICB9LFxuICBEcmFnRHJvcHBhYmxlUGxhY2Vob2xkZXI6ICh7IGNoaWxkcmVuLCBkaXNhYmxlZCwgaW5zdGFuY2VJZCB9KSA9PiB7XG4gICAgLy8gU2ltcGxlIHdyYXBwZXIgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXNlRHJvcHBhYmxlXG4gICAgcmV0dXJuIDxkaXYgZGF0YS10ZXN0aWQ9XCJkcmFnLWRyb3BwYWJsZS1wbGFjZWhvbGRlclwiPntjaGlsZHJlbn08L2Rpdj47XG4gIH0sXG59KSk7XG5cbi8vIE1vY2sgQGRuZC1raXQvY29yZSBjb21wb25lbnRzIGFuZCBob29rcyB1c2VkIGJ5IERyYWdJblRoZUJsYW5rIGFuZCBjaGlsZCBjb21wb25lbnRzXG5qZXN0Lm1vY2soJ0BkbmQta2l0L2NvcmUnLCAoKSA9PiAoe1xuICBEcmFnT3ZlcmxheTogKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImRyYWctb3ZlcmxheVwiPntjaGlsZHJlbn08L2Rpdj4sXG4gIGNsb3Nlc3RDZW50ZXI6IGplc3QuZm4oKSxcbiAgdXNlRHJhZ2dhYmxlOiBqZXN0LmZuKCgpID0+ICh7XG4gICAgYXR0cmlidXRlczoge30sXG4gICAgbGlzdGVuZXJzOiB7fSxcbiAgICBzZXROb2RlUmVmOiBqZXN0LmZuKCksXG4gICAgdHJhbnNmb3JtOiBudWxsLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICB9KSksXG4gIHVzZURyb3BwYWJsZTogamVzdC5mbigoKSA9PiAoe1xuICAgIHNldE5vZGVSZWY6IGplc3QuZm4oKSxcbiAgICBpc092ZXI6IGZhbHNlLFxuICAgIGFjdGl2ZTogbnVsbCxcbiAgfSkpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BkbmQta2l0L3V0aWxpdGllcycsICgpID0+ICh7XG4gIENTUzoge1xuICAgIFRyYW5zbGF0ZToge1xuICAgICAgdG9TdHJpbmc6IGplc3QuZm4oKCkgPT4gJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyksXG4gICAgfSxcbiAgfSxcbn0pKTtcblxuZGVzY3JpYmUoJ0RyYWdJblRoZUJsYW5rJywgKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGZlZWRiYWNrOiB7fSxcbiAgICBtYXJrdXAsXG4gICAgY2hvaWNlczogW1xuICAgICAgY2hvaWNlKCdKdW1wZWQnLCAnMCcpLFxuICAgICAgY2hvaWNlKCdMYXVnaGVkJywgJzEnKSxcbiAgICAgIGNob2ljZSgnU3Bvb24nLCAnMicpLFxuICAgICAgY2hvaWNlKCdGb3JrJywgJzMnKSxcbiAgICAgIGNob2ljZSgnQnVtcGVkJywgJzQnKSxcbiAgICAgIGNob2ljZSgnU21pbGVkJywgJzUnKSxcbiAgICBdLFxuXG4gICAgdmFsdWU6IHtcbiAgICAgIDA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPERyYWdJblRoZUJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIC8vIENoZWNrIHRoYXQgbWFya3VwIGNvbnRlbnQgaXMgcmVuZGVyZWRcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KC9IZXkgRGlkZGxlIERpZGRsZS8pKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoL0hleSwgZGlkZGxlLCBkaWRkbGUsLykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBjb3JyZWN0bHkgd2l0aCBkaXNhYmxlZCBwcm9wIGFzIHRydWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxEcmFnSW5UaGVCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBkaXNhYmxlZD17dHJ1ZX0gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZmVlZGJhY2snLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgICA8RHJhZ0luVGhlQmxhbmtcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGZlZWRiYWNrPXt7XG4gICAgICAgICAgICAwOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnSnVtcGVkJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogJ0p1bXBlZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMToge1xuICAgICAgICAgICAgICB2YWx1ZTogJ0xhdWdoZWQnLFxuICAgICAgICAgICAgICBjb3JyZWN0OiAnTGF1Z2hlZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJ1Nwb29uJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogJ1Nwb29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUFrRCxTQUFBRCx3QkFBQUssQ0FB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
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _componentize = _interopRequireDefault(require("../componentize"));
|
|
14
|
+
var _serialization = require("../serialization");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
describe('index', function () {
|
|
17
|
+
describe('componentize', function () {
|
|
18
|
+
it('should return an array with the appropriate markup', function () {
|
|
19
|
+
var dropDownMarkup = (0, _componentize["default"])('{{0}} foo {{1}}', 'dropdown');
|
|
20
|
+
expect(dropDownMarkup).toEqual({
|
|
21
|
+
markup: '<span data-component="dropdown" data-id="0"></span> foo <span data-component="dropdown" data-id="1"></span>'
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('serialization', function () {
|
|
26
|
+
it('should have default node a span', function () {
|
|
27
|
+
expect((0, _serialization.deserialize)('something')).toEqual(expect.objectContaining({
|
|
28
|
+
object: 'value',
|
|
29
|
+
document: {
|
|
30
|
+
object: 'document',
|
|
31
|
+
data: {},
|
|
32
|
+
nodes: [{
|
|
33
|
+
object: 'block',
|
|
34
|
+
data: {},
|
|
35
|
+
isVoid: false,
|
|
36
|
+
type: 'span',
|
|
37
|
+
nodes: [{
|
|
38
|
+
object: 'text',
|
|
39
|
+
leaves: [{
|
|
40
|
+
text: 'something'
|
|
41
|
+
}]
|
|
42
|
+
}]
|
|
43
|
+
}]
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb21wb25lbnRpemUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3NlcmlhbGl6YXRpb24iLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImRlc2NyaWJlIiwiaXQiLCJkcm9wRG93bk1hcmt1cCIsImNvbXBvbmVudGl6ZSIsImV4cGVjdCIsInRvRXF1YWwiLCJtYXJrdXAiLCJkZXNlcmlhbGl6ZSIsIm9iamVjdENvbnRhaW5pbmciLCJvYmplY3QiLCJkb2N1bWVudCIsImRhdGEiLCJub2RlcyIsImlzVm9pZCIsInR5cGUiLCJsZWF2ZXMiLCJ0ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjb21wb25lbnRpemUgZnJvbSAnLi4vY29tcG9uZW50aXplJztcbmltcG9ydCB7IGRlc2VyaWFsaXplIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbic7XG5cbmRlc2NyaWJlKCdpbmRleCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2NvbXBvbmVudGl6ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcnJheSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBtYXJrdXAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkcm9wRG93bk1hcmt1cCA9IGNvbXBvbmVudGl6ZSgne3swfX0gZm9vIHt7MX19JywgJ2Ryb3Bkb3duJyk7XG5cbiAgICAgIGV4cGVjdChkcm9wRG93bk1hcmt1cCkudG9FcXVhbCh7XG4gICAgICAgIG1hcmt1cDpcbiAgICAgICAgICAnPHNwYW4gZGF0YS1jb21wb25lbnQ9XCJkcm9wZG93blwiIGRhdGEtaWQ9XCIwXCI+PC9zcGFuPiBmb28gPHNwYW4gZGF0YS1jb21wb25lbnQ9XCJkcm9wZG93blwiIGRhdGEtaWQ9XCIxXCI+PC9zcGFuPicsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NlcmlhbGl6YXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBoYXZlIGRlZmF1bHQgbm9kZSBhIHNwYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZGVzZXJpYWxpemUoJ3NvbWV0aGluZycpKS50b0VxdWFsKFxuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgICAgIGRvY3VtZW50OiB7XG4gICAgICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3BhbicsXG4gICAgICAgICAgICAgICAgbm9kZXM6IFt7IG9iamVjdDogJ3RleHQnLCBsZWF2ZXM6IFt7IHRleHQ6ICdzb21ldGhpbmcnIH1dIH1dLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsYUFBQSxHQUFBQyxzQkFB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
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.iterator.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/es.string.iterator.js");
|
|
14
|
+
require("core-js/modules/es.weak-map.js");
|
|
15
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
16
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
17
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
18
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
19
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
21
|
+
var React = _interopRequireWildcard(require("react"));
|
|
22
|
+
var _react2 = require("@testing-library/react");
|
|
23
|
+
var _mask = _interopRequireDefault(require("../mask"));
|
|
24
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
|
+
describe('Mask', function () {
|
|
28
|
+
// Don't mock renderChildren - let the component render naturally
|
|
29
|
+
var onChange = jest.fn();
|
|
30
|
+
var defaultProps = {
|
|
31
|
+
onChange: onChange,
|
|
32
|
+
layout: {
|
|
33
|
+
nodes: [{
|
|
34
|
+
object: 'text',
|
|
35
|
+
leaves: [{
|
|
36
|
+
text: 'Foo'
|
|
37
|
+
}]
|
|
38
|
+
}]
|
|
39
|
+
},
|
|
40
|
+
value: {}
|
|
41
|
+
};
|
|
42
|
+
beforeEach(function () {
|
|
43
|
+
onChange.mockClear();
|
|
44
|
+
});
|
|
45
|
+
describe('rendering', function () {
|
|
46
|
+
it('renders with default props', function () {
|
|
47
|
+
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], defaultProps)),
|
|
48
|
+
container = _render.container;
|
|
49
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
50
|
+
});
|
|
51
|
+
it('renders text content', function () {
|
|
52
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], defaultProps));
|
|
53
|
+
expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
|
|
54
|
+
});
|
|
55
|
+
it('renders a paragraph element', function () {
|
|
56
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
57
|
+
layout: {
|
|
58
|
+
nodes: [{
|
|
59
|
+
type: 'p',
|
|
60
|
+
nodes: [{
|
|
61
|
+
object: 'text',
|
|
62
|
+
leaves: [{
|
|
63
|
+
text: 'Foo'
|
|
64
|
+
}]
|
|
65
|
+
}]
|
|
66
|
+
}]
|
|
67
|
+
}
|
|
68
|
+
}))),
|
|
69
|
+
container = _render2.container;
|
|
70
|
+
|
|
71
|
+
// Paragraph is rendered as a styled div, not a <p> tag
|
|
72
|
+
expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
|
|
73
|
+
});
|
|
74
|
+
it('renders nested div and paragraph', function () {
|
|
75
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
76
|
+
layout: {
|
|
77
|
+
nodes: [{
|
|
78
|
+
type: 'div',
|
|
79
|
+
data: {
|
|
80
|
+
attributes: {}
|
|
81
|
+
},
|
|
82
|
+
nodes: [{
|
|
83
|
+
type: 'p',
|
|
84
|
+
data: {
|
|
85
|
+
attributes: {}
|
|
86
|
+
},
|
|
87
|
+
nodes: [{
|
|
88
|
+
object: 'text',
|
|
89
|
+
leaves: [{
|
|
90
|
+
text: 'Foo'
|
|
91
|
+
}]
|
|
92
|
+
}]
|
|
93
|
+
}]
|
|
94
|
+
}]
|
|
95
|
+
}
|
|
96
|
+
}))),
|
|
97
|
+
container = _render3.container;
|
|
98
|
+
expect(container.querySelector('div')).toBeInTheDocument();
|
|
99
|
+
// Paragraph is rendered as a styled div, not a <p> tag
|
|
100
|
+
expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
|
|
101
|
+
});
|
|
102
|
+
it('renders text with italic marks', function () {
|
|
103
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
104
|
+
layout: {
|
|
105
|
+
nodes: [{
|
|
106
|
+
leaves: [{
|
|
107
|
+
text: 'Foo '
|
|
108
|
+
}],
|
|
109
|
+
object: 'text'
|
|
110
|
+
}, {
|
|
111
|
+
leaves: [{
|
|
112
|
+
marks: [{
|
|
113
|
+
data: undefined,
|
|
114
|
+
type: 'italic'
|
|
115
|
+
}],
|
|
116
|
+
text: 'x'
|
|
117
|
+
}],
|
|
118
|
+
object: 'text'
|
|
119
|
+
}, {
|
|
120
|
+
leaves: [{
|
|
121
|
+
text: ' bar'
|
|
122
|
+
}],
|
|
123
|
+
object: 'text'
|
|
124
|
+
}],
|
|
125
|
+
object: 'block',
|
|
126
|
+
type: 'div'
|
|
127
|
+
}
|
|
128
|
+
}))),
|
|
129
|
+
container = _render4.container;
|
|
130
|
+
|
|
131
|
+
// Text "Foo " is split with spaces, use regex
|
|
132
|
+
expect(_react2.screen.getByText(/Foo/)).toBeInTheDocument();
|
|
133
|
+
expect(_react2.screen.getByText('x')).toBeInTheDocument();
|
|
134
|
+
expect(_react2.screen.getByText(/bar/)).toBeInTheDocument();
|
|
135
|
+
// Check for italic/em element
|
|
136
|
+
var em = container.querySelector('em, i');
|
|
137
|
+
expect(em).toBeInTheDocument();
|
|
138
|
+
expect(em.textContent).toBe('x');
|
|
139
|
+
});
|
|
140
|
+
it('renders tbody without extra space', function () {
|
|
141
|
+
var da = function da() {
|
|
142
|
+
return {
|
|
143
|
+
data: {
|
|
144
|
+
attributes: {}
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
var _render5 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
149
|
+
layout: {
|
|
150
|
+
nodes: [_objectSpread(_objectSpread({
|
|
151
|
+
type: 'table'
|
|
152
|
+
}, da()), {}, {
|
|
153
|
+
nodes: [_objectSpread(_objectSpread({
|
|
154
|
+
type: 'tbody'
|
|
155
|
+
}, da()), {}, {
|
|
156
|
+
nodes: [{
|
|
157
|
+
object: 'text',
|
|
158
|
+
leaves: [{
|
|
159
|
+
text: ' '
|
|
160
|
+
}]
|
|
161
|
+
}, _objectSpread(_objectSpread({
|
|
162
|
+
type: 'tr'
|
|
163
|
+
}, da()), {}, {
|
|
164
|
+
nodes: []
|
|
165
|
+
})]
|
|
166
|
+
})]
|
|
167
|
+
})]
|
|
168
|
+
}
|
|
169
|
+
}))),
|
|
170
|
+
container = _render5.container;
|
|
171
|
+
expect(container.querySelector('table')).toBeInTheDocument();
|
|
172
|
+
expect(container.querySelector('tbody')).toBeInTheDocument();
|
|
173
|
+
expect(container.querySelector('tr')).toBeInTheDocument();
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfbWFzayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsImRlZmF1bHRQcm9wcyIsImxheW91dCIsIm5vZGVzIiwib2JqZWN0IiwibGVhdmVzIiwidGV4dCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJzY3JlZW4iLCJnZXRCeVRleHQiLCJfcmVuZGVyMiIsIl9leHRlbmRzMiIsInR5cGUiLCJfcmVuZGVyMyIsImRhdGEiLCJhdHRyaWJ1dGVzIiwicXVlcnlTZWxlY3RvciIsIl9yZW5kZXI0IiwibWFya3MiLCJ1bmRlZmluZWQiLCJlbSIsInRleHRDb250ZW50IiwidG9CZSIsImRhIiwiX3JlbmRlcjUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL21hc2sudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IE1hc2sgZnJvbSAnLi4vbWFzayc7XG5cbmRlc2NyaWJlKCdNYXNrJywgKCkgPT4ge1xuICAvLyBEb24ndCBtb2NrIHJlbmRlckNoaWxkcmVuIC0gbGV0IHRoZSBjb21wb25lbnQgcmVuZGVyIG5hdHVyYWxseVxuICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIG9uQ2hhbmdlLFxuICAgIGxheW91dDoge1xuICAgICAgbm9kZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnRm9vJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB2YWx1ZToge30sXG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UubW9ja0NsZWFyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IHByb3BzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8TWFzayB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB0ZXh0IGNvbnRlbnQnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPE1hc2sgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0ZvbycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgYSBwYXJhZ3JhcGggZWxlbWVudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNYXNrXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cbiAgICAgICAgICBsYXlvdXQ9e3tcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAncCcsXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdGb28nLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgLy8gUGFyYWdyYXBoIGlzIHJlbmRlcmVkIGFzIGEgc3R5bGVkIGRpdiwgbm90IGEgPHA+IHRhZ1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0ZvbycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgbmVzdGVkIGRpdiBhbmQgcGFyYWdyYXBoJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1hc2tcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGxheW91dD17e1xuICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkaXYnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3AnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdGb28nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9fVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvcignZGl2JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICAvLyBQYXJhZ3JhcGggaXMgcmVuZGVyZWQgYXMgYSBzdHlsZWQgZGl2LCBub3QgYSA8cD4gdGFnXG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnRm9vJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB0ZXh0IHdpdGggaXRhbGljIG1hcmtzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1hc2tcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGxheW91dD17e1xuICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJ0ZvbyAnIH1dLFxuICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGVhdmVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGVhdmVzOiBbeyB0ZXh0OiAnIGJhcicgfV0sXG4gICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgb2JqZWN0OiAnYmxvY2snLFxuICAgICAgICAgICAgdHlwZTogJ2RpdicsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICAvLyBUZXh0IFwiRm9vIFwiIGlzIHNwbGl0IHdpdGggc3BhY2VzLCB1c2UgcmVnZXhcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KC9Gb28vKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCd4JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgvYmFyLykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICAvLyBDaGVjayBmb3IgaXRhbGljL2VtIGVsZW1lbnRcbiAgICAgIGNvbnN0IGVtID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2VtLCBpJyk7XG4gICAgICBleHBlY3QoZW0pLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoZW0udGV4dENvbnRlbnQpLnRvQmUoJ3gnKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHRib2R5IHdpdGhvdXQgZXh0cmEgc3BhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYSA9ICgpID0+ICh7IGRhdGE6IHsgYXR0cmlidXRlczoge30gfSB9KTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNYXNrXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cbiAgICAgICAgICBsYXlvdXQ9e3tcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICAgICAgICAgIC4uLmRhKCksXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3Rib2R5JyxcbiAgICAgICAgICAgICAgICAgICAgLi4uZGEoKSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJyAnIH1dLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndHInLCAuLi5kYSgpLCBub2RlczogW10gfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3RyJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJCLFNBQUFELHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUCx1QkFBQSxZQUFBQSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxN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
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _serialization = require("../serialization");
|
|
4
|
+
describe('serialization', function () {
|
|
5
|
+
it('ignores comments', function () {
|
|
6
|
+
var out = (0, _serialization.deserialize)("<!-- hi -->");
|
|
7
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
8
|
+
type: 'span'
|
|
9
|
+
}));
|
|
10
|
+
});
|
|
11
|
+
it('ignores comments', function () {
|
|
12
|
+
var out = (0, _serialization.deserialize)("<!-- hi --><div>foo</div>");
|
|
13
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
14
|
+
type: 'div',
|
|
15
|
+
nodes: [expect.objectContaining({
|
|
16
|
+
object: 'text',
|
|
17
|
+
leaves: [{
|
|
18
|
+
text: 'foo'
|
|
19
|
+
}]
|
|
20
|
+
})]
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
it('deserializes an em', function () {
|
|
24
|
+
var out = (0, _serialization.deserialize)("<!-- hi --><div> <em>x</em> </div>");
|
|
25
|
+
expect(out.document.nodes[0]).toEqual(expect.objectContaining({
|
|
26
|
+
type: 'div',
|
|
27
|
+
nodes: [expect.objectContaining({
|
|
28
|
+
object: 'text'
|
|
29
|
+
}), expect.objectContaining({
|
|
30
|
+
leaves: [{
|
|
31
|
+
marks: [{
|
|
32
|
+
data: undefined,
|
|
33
|
+
type: 'italic'
|
|
34
|
+
}],
|
|
35
|
+
text: 'x'
|
|
36
|
+
}],
|
|
37
|
+
object: 'text'
|
|
38
|
+
}), expect.objectContaining({
|
|
39
|
+
object: 'text'
|
|
40
|
+
})]
|
|
41
|
+
}));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2VyaWFsaXphdGlvbiIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0Iiwib3V0IiwiZGVzZXJpYWxpemUiLCJleHBlY3QiLCJkb2N1bWVudCIsIm5vZGVzIiwidG9FcXVhbCIsIm9iamVjdENvbnRhaW5pbmciLCJ0eXBlIiwib2JqZWN0IiwibGVhdmVzIiwidGV4dCIsIm1hcmtzIiwiZGF0YSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2VyaWFsaXphdGlvbi50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2VyaWFsaXplIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbic7XG5cbmRlc2NyaWJlKCdzZXJpYWxpemF0aW9uJywgKCkgPT4ge1xuICBpdCgnaWdub3JlcyBjb21tZW50cycsICgpID0+IHtcbiAgICBjb25zdCBvdXQgPSBkZXNlcmlhbGl6ZShgPCEtLSBoaSAtLT5gKTtcbiAgICBleHBlY3Qob3V0LmRvY3VtZW50Lm5vZGVzWzBdKS50b0VxdWFsKGV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgdHlwZTogJ3NwYW4nIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ2lnbm9yZXMgY29tbWVudHMnLCAoKSA9PiB7XG4gICAgY29uc3Qgb3V0ID0gZGVzZXJpYWxpemUoYDwhLS0gaGkgLS0+PGRpdj5mb288L2Rpdj5gKTtcbiAgICBleHBlY3Qob3V0LmRvY3VtZW50Lm5vZGVzWzBdKS50b0VxdWFsKFxuICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICB0eXBlOiAnZGl2JyxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJ2ZvbycgfV0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICB9KTtcblxuICBpdCgnZGVzZXJpYWxpemVzIGFuIGVtJywgKCkgPT4ge1xuICAgIGNvbnN0IG91dCA9IGRlc2VyaWFsaXplKGA8IS0tIGhpIC0tPjxkaXY+IDxlbT54PC9lbT4gPC9kaXY+YCk7XG4gICAgZXhwZWN0KG91dC5kb2N1bWVudC5ub2Rlc1swXSkudG9FcXVhbChcbiAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgdHlwZTogJ2RpdicsXG4gICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgbGVhdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBRUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtFQUM5QkMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07SUFDM0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLGVBQWMsQ0FBQztJQUN0Q0MsTUFBTSxDQUFDRixHQUFHLENBQUNHLFFBQVEsQ0FBQ0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUFFQyxJQUFJLEVBQUU7SUFBTyxDQUFDLENBQUMsQ0FBQztFQUNsRixDQUFDLENBQUM7RUFFRlIsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07SUFDM0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLDZCQUE0QixDQUFDO0lBQ3BEQyxNQUFNLENBQUNGLEdBQUcsQ0FBQ0csUUFBUSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUNuQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUN0QkMsSUFBSSxFQUFFLEtBQUs7TUFDWEgsS0FBSyxFQUFFLENBQ0xGLE1BQU0sQ0FBQ0ksZ0JBQWdCLENBQUM7UUFDdEJFLE1BQU0sRUFBRSxNQUFNO1FBQ2RDLE1BQU0sRUFBRSxDQUFDO1VBQUVDLElBQUksRUFBRTtRQUFNLENBQUM7TUFDMUIsQ0FBQyxDQUFDO0lBRU4sQ0FBQyxDQUNILENBQUM7RUFDSCxDQUFDLENBQUM7RUFFRlgsRUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQU07SUFDN0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLHNDQUFxQyxDQUFDO0lBQzdEQyxNQUFNLENBQUNGLEdBQUcsQ0FBQ0csUUFBUSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUNuQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUN0QkMsSUFBSSxFQUFFLEtBQUs7TUFDWEgsS0FBSyxFQUFFLENBQ0xGLE1BQU0sQ0FBQ0ksZ0JBQWdCLENBQUM7UUFDdEJFLE1BQU0sRUFBRTtNQUNWLENBQUMsQ0FBQyxFQUNGTixNQUFNLENBQUNJLGdCQUFnQixDQUFDO1FBQ3RCRyxNQUFNLEVBQUUsQ0FDTjtVQUNFRSxLQUFLLEVBQUUsQ0FDTDtZQUNFQyxJQUFJLEVBQUVDLFNBQVM7WUFDZk4sSUFBSSxFQUFFO1VBQ1IsQ0FBQyxDQUNGO1VBQ0RHLElBQUksRUFBRTtRQUNSLENBQUMsQ0FDRjtRQUNERixNQUFNLEVBQUU7TUFDVixDQUFDLENBQUMsRUFDRk4sTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztRQUN0QkUsTUFBTSxFQUFFO01BQ1YsQ0FBQyxDQUFDO0lBRU4sQ0FBQyxDQUNILENBQUM7RUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.choice = void 0;
|
|
8
|
+
var choice = exports.choice = function choice(v, id) {
|
|
9
|
+
return {
|
|
10
|
+
label: v,
|
|
11
|
+
value: v,
|
|
12
|
+
id: id
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjaG9pY2UiLCJleHBvcnRzIiwidiIsImlkIiwibGFiZWwiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNob2ljZSA9ICh2LCBpZCkgPT4gKHsgbGFiZWw6IHYsIHZhbHVlOiB2LCBpZCB9KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFPLElBQU1BLE1BQU0sR0FBQUMsT0FBQSxDQUFBRCxNQUFBLEdBQUcsU0FBVEEsTUFBTUEsQ0FBSUUsQ0FBQyxFQUFFQyxFQUFFO0VBQUEsT0FBTTtJQUFFQyxLQUFLLEVBQUVGLENBQUM7SUFBRUcsS0FBSyxFQUFFSCxDQUFDO0lBQUVDLEVBQUUsRUFBRkE7RUFBRyxDQUFDO0FBQUEsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _react2 = require("@testing-library/react");
|
|
16
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
17
|
+
var _withMask = require("../with-mask");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
19
|
+
describe('WithMask', function () {
|
|
20
|
+
var onChange = jest.fn();
|
|
21
|
+
var defaultProps = {
|
|
22
|
+
markup: '<p>Foo bar {{0}} over the moon;</p>',
|
|
23
|
+
value: {
|
|
24
|
+
0: 'blank'
|
|
25
|
+
},
|
|
26
|
+
onChange: onChange
|
|
27
|
+
};
|
|
28
|
+
var Masked = (0, _withMask.withMask)('foo', function (props) {
|
|
29
|
+
return function (node) {
|
|
30
|
+
var dataset = node.data ? node.data.dataset || {} : {};
|
|
31
|
+
if (dataset.component === 'foo') {
|
|
32
|
+
return /*#__PURE__*/React.createElement("input", {
|
|
33
|
+
type: "text",
|
|
34
|
+
"data-testid": "masked-input",
|
|
35
|
+
defaultValue: "Foo",
|
|
36
|
+
onChange: props.onChange
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
beforeEach(function () {
|
|
42
|
+
onChange.mockClear();
|
|
43
|
+
});
|
|
44
|
+
describe('rendering', function () {
|
|
45
|
+
it('renders with default props', function () {
|
|
46
|
+
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps)),
|
|
47
|
+
container = _render.container;
|
|
48
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
49
|
+
});
|
|
50
|
+
it('renders markup content', function () {
|
|
51
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
52
|
+
expect(_react2.screen.getByText(/Foo bar/)).toBeInTheDocument();
|
|
53
|
+
});
|
|
54
|
+
it('renders paragraph content', function () {
|
|
55
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps)),
|
|
56
|
+
container = _render2.container;
|
|
57
|
+
// Paragraph is rendered as a styled div, not a <p> tag
|
|
58
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
59
|
+
expect(_react2.screen.getByText(/Foo bar/)).toBeInTheDocument();
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('onChange handler', function () {
|
|
63
|
+
it('calls onChange when value changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
64
|
+
var user, input;
|
|
65
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
66
|
+
while (1) switch (_context.prev = _context.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
user = _userEvent["default"].setup();
|
|
69
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
70
|
+
input = _react2.screen.queryByTestId('masked-input');
|
|
71
|
+
if (!input) {
|
|
72
|
+
_context.next = 3;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
_context.next = 1;
|
|
76
|
+
return user.clear(input);
|
|
77
|
+
case 1:
|
|
78
|
+
_context.next = 2;
|
|
79
|
+
return user.type(input, 'ceva');
|
|
80
|
+
case 2:
|
|
81
|
+
expect(onChange).toHaveBeenCalled();
|
|
82
|
+
case 3:
|
|
83
|
+
case "end":
|
|
84
|
+
return _context.stop();
|
|
85
|
+
}
|
|
86
|
+
}, _callee);
|
|
87
|
+
})));
|
|
88
|
+
it('passes event to onChange', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
89
|
+
var user, input, lastCall;
|
|
90
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
91
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
92
|
+
case 0:
|
|
93
|
+
user = _userEvent["default"].setup();
|
|
94
|
+
(0, _react2.render)(/*#__PURE__*/React.createElement(Masked, defaultProps));
|
|
95
|
+
input = _react2.screen.queryByTestId('masked-input');
|
|
96
|
+
if (!input) {
|
|
97
|
+
_context2.next = 3;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
_context2.next = 1;
|
|
101
|
+
return user.clear(input);
|
|
102
|
+
case 1:
|
|
103
|
+
_context2.next = 2;
|
|
104
|
+
return user.type(input, 'test');
|
|
105
|
+
case 2:
|
|
106
|
+
expect(onChange).toHaveBeenCalled();
|
|
107
|
+
lastCall = onChange.mock.calls[onChange.mock.calls.length - 1][0];
|
|
108
|
+
expect(lastCall).toHaveProperty('target');
|
|
109
|
+
case 3:
|
|
110
|
+
case "end":
|
|
111
|
+
return _context2.stop();
|
|
112
|
+
}
|
|
113
|
+
}, _callee2);
|
|
114
|
+
})));
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdXNlckV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl93aXRoTWFzayIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsImRlZmF1bHRQcm9wcyIsIm1hcmt1cCIsInZhbHVlIiwiTWFza2VkIiwid2l0aE1hc2siLCJwcm9wcyIsIm5vZGUiLCJkYXRhc2V0IiwiZGF0YSIsImNvbXBvbmVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInNjcmVlbiIsImdldEJ5VGV4dCIsIl9yZW5kZXIyIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ1c2VyIiwiaW5wdXQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInVzZXJFdmVudCIsInNldHVwIiwicXVlcnlCeVRlc3RJZCIsImNsZWFyIiwidG9IYXZlQmVlbkNhbGxlZCIsInN0b3AiLCJfY2FsbGVlMiIsImxhc3RDYWxsIiwiX2NvbnRleHQyIiwibW9jayIsImNhbGxzIiwibGVuZ3RoIiwidG9IYXZlUHJvcGVydHkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3dpdGgtbWFzay50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgdXNlckV2ZW50IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvdXNlci1ldmVudCc7XG5pbXBvcnQgeyB3aXRoTWFzayB9IGZyb20gJy4uL3dpdGgtbWFzayc7XG5cbmRlc2NyaWJlKCdXaXRoTWFzaycsICgpID0+IHtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBtYXJrdXA6ICc8cD5Gb28gYmFyIHt7MH19IG92ZXIgdGhlIG1vb247PC9wPicsXG4gICAgdmFsdWU6IHtcbiAgICAgIDA6ICdibGFuaycsXG4gICAgfSxcbiAgICBvbkNoYW5nZSxcbiAgfTtcblxuICBjb25zdCBNYXNrZWQgPSB3aXRoTWFzaygnZm9vJywgKHByb3BzKSA9PiAobm9kZSkgPT4ge1xuICAgIGNvbnN0IGRhdGFzZXQgPSBub2RlLmRhdGEgPyBub2RlLmRhdGEuZGF0YXNldCB8fCB7fSA6IHt9O1xuXG4gICAgaWYgKGRhdGFzZXQuY29tcG9uZW50ID09PSAnZm9vJykge1xuICAgICAgcmV0dXJuIDxpbnB1dCB0eXBlPVwidGV4dFwiIGRhdGEtdGVzdGlkPVwibWFza2VkLWlucHV0XCIgZGVmYXVsdFZhbHVlPVwiRm9vXCIgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfSAvPjtcbiAgICB9XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1hc2tlZCB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBtYXJrdXAgY29udGVudCcsICgpID0+IHtcbiAgICAgIHJlbmRlcig8TWFza2VkIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KC9Gb28gYmFyLykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBwYXJhZ3JhcGggY29udGVudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1hc2tlZCB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICAvLyBQYXJhZ3JhcGggaXMgcmVuZGVyZWQgYXMgYSBzdHlsZWQgZGl2LCBub3QgYSA8cD4gdGFnXG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgvRm9vIGJhci8pKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb25DaGFuZ2UgaGFuZGxlcicsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2hlbiB2YWx1ZSBjaGFuZ2VzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHVzZXJFdmVudC5zZXR1cCgpO1xuICAgICAgcmVuZGVyKDxNYXNrZWQgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuXG4gICAgICBjb25zdCBpbnB1dCA9IHNjcmVlbi5xdWVyeUJ5VGVzdElkKCdtYXNrZWQtaW5wdXQnKTtcbiAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICBhd2FpdCB1c2VyLmNsZWFyKGlucHV0KTtcbiAgICAgICAgYXdhaXQgdXNlci50eXBlKGlucHV0LCAnY2V2YScpO1xuXG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaXQoJ3Bhc3NlcyBldmVudCB0byBvbkNoYW5nZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHVzZXIgPSB1c2VyRXZlbnQuc2V0dXAoKTtcbiAgICAgIHJlbmRlcig8TWFza2VkIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcblxuICAgICAgY29uc3QgaW5wdXQgPSBzY3JlZW4ucXVlcnlCeVRlc3RJZCgnbWFza2VkLWlucHV0Jyk7XG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgYXdhaXQgdXNlci5jbGVhcihpbnB1dCk7XG4gICAgICAgIGF3YWl0IHVzZXIudHlwZShpbnB1dCwgJ3Rlc3QnKTtcblxuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgY29uc3QgbGFzdENhbGwgPSBvbkNoYW5nZS5tb2NrLmNhbGxzW29uQ2hhbmdlLm1vY2suY2FsbHMubGVuZ3RoIC0gMV1bMF07XG4gICAgICAgIGV4cGVjdChsYXN0Q2FsbCkudG9IYXZlUHJvcGVydHkoJ3RhcmdldCcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQXdDLFNBQUFELHdCQUFBTSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUix1QkFBQSxZQUFBQSx3QkFBQU0sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FB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
|