@pie-lib/text-select 1.12.8 → 1.14.0-beta.0
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/CHANGELOG.md +9 -1
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/text-select.test.js +56 -0
- package/lib/__tests__/utils.test.js +23 -0
- package/lib/index.js +9 -1
- package/lib/legend.js +1 -1
- package/lib/text-select.js +1 -1
- package/lib/token-select/__tests__/index.test.js +268 -0
- package/lib/token-select/__tests__/token.test.js +35 -0
- package/lib/token-select/index.js +4 -3
- package/lib/token-select/token.js +13 -20
- package/lib/tokenizer/__tests__/builder.test.js +399 -0
- package/lib/tokenizer/__tests__/controls.test.js +34 -0
- package/lib/tokenizer/__tests__/index.test.js +210 -0
- package/lib/tokenizer/__tests__/selection-utils.test.js +27 -0
- package/lib/tokenizer/__tests__/token-text.test.js +154 -0
- package/lib/tokenizer/builder.js +1 -1
- package/lib/tokenizer/controls.js +15 -1
- package/lib/tokenizer/index.js +1 -1
- package/lib/tokenizer/selection-utils.js +1 -1
- package/lib/tokenizer/token-text.js +12 -3
- package/lib/utils.js +1 -1
- package/package.json +7 -6
- package/src/__tests__/__snapshots__/text-select.test.jsx.snap +21 -0
- package/src/__tests__/text-select.test.jsx +34 -0
- package/src/__tests__/utils.test.jsx +27 -0
- package/src/index.js +2 -1
- package/src/token-select/__tests__/__snapshots__/index.test.jsx.snap +49 -0
- package/src/token-select/__tests__/__snapshots__/token.test.jsx.snap +31 -0
- package/src/token-select/__tests__/index.test.jsx +257 -0
- package/src/token-select/__tests__/token.test.jsx +33 -0
- package/src/token-select/index.jsx +3 -1
- package/src/token-select/token.jsx +11 -20
- package/src/tokenizer/__tests__/__snapshots__/controls.test.jsx.snap +59 -0
- package/src/tokenizer/__tests__/__snapshots__/index.test.jsx.snap +31 -0
- package/src/tokenizer/__tests__/__snapshots__/token-text.test.jsx.snap +17 -0
- package/src/tokenizer/__tests__/builder.test.js +256 -0
- package/src/tokenizer/__tests__/controls.test.jsx +25 -0
- package/src/tokenizer/__tests__/index.test.jsx +140 -0
- package/src/tokenizer/__tests__/selection-utils.test.js +26 -0
- package/src/tokenizer/__tests__/token-text.test.jsx +136 -0
- package/src/tokenizer/controls.jsx +20 -1
- package/src/tokenizer/token-text.jsx +9 -0
- package/README.md +0 -3
- package/lib/index.js.map +0 -1
- package/lib/legend.js.map +0 -1
- package/lib/text-select.js.map +0 -1
- package/lib/token-select/index.js.map +0 -1
- package/lib/token-select/token.js.map +0 -1
- package/lib/tokenizer/builder.js.map +0 -1
- package/lib/tokenizer/controls.js.map +0 -1
- package/lib/tokenizer/index.js.map +0 -1
- package/lib/tokenizer/selection-utils.js.map +0 -1
- package/lib/tokenizer/token-text.js.map +0 -1
- package/lib/utils.js.map +0 -1
|
@@ -153,11 +153,7 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
153
153
|
return {
|
|
154
154
|
token: {
|
|
155
155
|
cursor: 'pointer',
|
|
156
|
-
textIndent: 0
|
|
157
|
-
padding: theme.spacing.unit / 2,
|
|
158
|
-
paddingRight: 0,
|
|
159
|
-
paddingLeft: 0,
|
|
160
|
-
transition: 'background-color 100ms ease-in'
|
|
156
|
+
textIndent: 0
|
|
161
157
|
},
|
|
162
158
|
disabled: {
|
|
163
159
|
cursor: 'inherit',
|
|
@@ -172,34 +168,27 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
172
168
|
selectable: (0, _defineProperty2["default"])({}, theme.breakpoints.up(769), {
|
|
173
169
|
'&:hover': {
|
|
174
170
|
backgroundColor: _renderUi.color.primaryLight(),
|
|
171
|
+
color: theme.palette.common.black,
|
|
175
172
|
'& > *': {
|
|
176
173
|
backgroundColor: _renderUi.color.primaryLight()
|
|
177
174
|
}
|
|
178
175
|
}
|
|
179
176
|
}),
|
|
180
177
|
selected: {
|
|
181
|
-
lineHeight: 2,
|
|
182
|
-
marginTop: theme.spacing.unit / 2,
|
|
183
178
|
backgroundColor: _renderUi.color.primaryLight(),
|
|
179
|
+
color: theme.palette.common.black,
|
|
180
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px"),
|
|
184
181
|
'& > *': {
|
|
185
182
|
backgroundColor: _renderUi.color.primaryLight()
|
|
186
183
|
}
|
|
187
184
|
},
|
|
188
185
|
highlight: {
|
|
189
186
|
border: "dashed 2px ".concat(_renderUi.color.disabled()),
|
|
190
|
-
lineHeight:
|
|
191
|
-
boxSizing: 'border-box',
|
|
192
|
-
marginTop: theme.spacing.unit / 2,
|
|
193
|
-
display: 'inline-block',
|
|
194
|
-
padding: theme.spacing.unit
|
|
187
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px")
|
|
195
188
|
},
|
|
196
189
|
print: {
|
|
197
190
|
border: "dashed 2px ".concat(_renderUi.color.disabled()),
|
|
198
|
-
lineHeight:
|
|
199
|
-
boxSizing: 'border-box',
|
|
200
|
-
marginTop: theme.spacing.unit / 2,
|
|
201
|
-
display: 'inline-block',
|
|
202
|
-
padding: theme.spacing.unit,
|
|
191
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px"),
|
|
203
192
|
color: _renderUi.color.text()
|
|
204
193
|
},
|
|
205
194
|
custom: {
|
|
@@ -208,16 +197,20 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
208
197
|
correct: {
|
|
209
198
|
backgroundColor: _renderUi.color.correctSecondary(),
|
|
210
199
|
border: "".concat(_renderUi.color.correct(), " solid 2px"),
|
|
211
|
-
|
|
200
|
+
color: theme.palette.common.black,
|
|
201
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px")
|
|
212
202
|
},
|
|
213
203
|
incorrect: {
|
|
214
204
|
backgroundColor: _renderUi.color.incorrectSecondary(),
|
|
215
205
|
border: "".concat(_renderUi.color.missing(), " solid 2px"),
|
|
216
|
-
|
|
206
|
+
color: theme.palette.common.black,
|
|
207
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px")
|
|
217
208
|
},
|
|
218
209
|
missing: {
|
|
219
210
|
backgroundColor: _renderUi.color.incorrectSecondary(),
|
|
220
211
|
border: "".concat(_renderUi.color.missing(), " dashed 2px"),
|
|
212
|
+
color: theme.palette.common.black,
|
|
213
|
+
lineHeight: "".concat(theme.spacing.unit * 3, "px"),
|
|
221
214
|
textDecoration: "line-through ".concat(_renderUi.color.missing())
|
|
222
215
|
},
|
|
223
216
|
incorrectIcon: {
|
|
@@ -234,4 +227,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
234
227
|
})(Token);
|
|
235
228
|
|
|
236
229
|
exports["default"] = _default;
|
|
237
|
-
//# sourceMappingURL=token.js.map
|
|
230
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbi1zZWxlY3QvdG9rZW4uanN4Il0sIm5hbWVzIjpbIldyYXBwZXIiLCJ1c2VXcmFwcGVyIiwiY2hpbGRyZW4iLCJjbGFzc05hbWVDb250YWluZXIiLCJpY29uQ2xhc3MiLCJJY29uIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsInN0cmluZyIsImZ1bmMiLCJlbGVtZW50IiwiVG9rZW5UeXBlcyIsInRleHQiLCJzZWxlY3RhYmxlIiwiVG9rZW4iLCJwcm9wcyIsInNlbGVjdGVkIiwiY2xhc3NlcyIsImNsYXNzTmFtZVByb3AiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImluZGV4IiwiaGlnaGxpZ2h0IiwiY29ycmVjdCIsImFuaW1hdGlvbnNEaXNhYmxlZCIsImlzTWlzc2luZyIsImlzVG91Y2hFbmFibGVkIiwid2luZG93IiwibmF2aWdhdG9yIiwibWF4VG91Y2hQb2ludHMiLCJtc01heFRvdWNoUG9pbnRzIiwidW5kZWZpbmVkIiwidG9rZW4iLCJkaXNhYmxlZEJsYWNrIiwicm9vdENsYXNzTmFtZSIsImN1c3RvbSIsIkNoZWNrIiwiQ2xvc2UiLCJpbmNvcnJlY3QiLCJjb3JyZWN0SWNvbiIsImluY29ycmVjdEljb24iLCJtaXNzaW5nIiwiZGlzYWJsZWRBbmRTZWxlY3RlZCIsInByaW50IiwiX19odG1sIiwicmVwbGFjZSIsIlJlYWN0IiwiQ29tcG9uZW50Iiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsInRoZW1lIiwiY3Vyc29yIiwidGV4dEluZGVudCIsImNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwic2Vjb25kYXJ5TGlnaHQiLCJicmVha3BvaW50cyIsInVwIiwicHJpbWFyeUxpZ2h0IiwicGFsZXR0ZSIsImNvbW1vbiIsImJsYWNrIiwibGluZUhlaWdodCIsInNwYWNpbmciLCJ1bml0IiwiYm9yZGVyIiwiZGlzcGxheSIsImNvcnJlY3RTZWNvbmRhcnkiLCJpbmNvcnJlY3RTZWNvbmRhcnkiLCJ0ZXh0RGVjb3Jh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QUssRUFBRUEsZ0JBQU05QixPQUFOO0FBSEk7QUF0RVIsR0FBUDtBQTRFRCxDQTdFYyxFQTZFWlQsS0E3RVksQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBDaGVjayBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ2hlY2snO1xuaW1wb3J0IENsb3NlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DbG9zZSc7XG5cbmNvbnN0IFdyYXBwZXIgPSAoeyB1c2VXcmFwcGVyLCBjaGlsZHJlbiwgY2xhc3NOYW1lQ29udGFpbmVyLCBpY29uQ2xhc3MsIEljb24gfSkgPT4ge1xuICBpZiAodXNlV3JhcHBlcikge1xuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTmFtZUNvbnRhaW5lcn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPEljb24gY2xhc3NOYW1lPXtpY29uQ2xhc3N9IHZpZXdCb3g9eycwIDEgMjQgMjQnfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59O1xuXG5XcmFwcGVyLnByb3BUeXBlcyA9IHtcbiAgdXNlV3JhcHBlcjogUHJvcFR5cGVzLmJvb2wsXG4gIGNsYXNzTmFtZUNvbnRhaW5lcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgaWNvbkNsYXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBJY29uOiBQcm9wVHlwZXMuZnVuYyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5lbGVtZW50LFxufTtcblxuZXhwb3J0IGNvbnN0IFRva2VuVHlwZXMgPSB7XG4gIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNlbGVjdGFibGU6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGNsYXNzIFRva2VuIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHJvb3RDbGFzc05hbWUgPSAndG9rZW5Sb290Q2xhc3MnO1xuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgLi4uVG9rZW5UeXBlcyxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBoaWdobGlnaHQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgIHRleHQ6ICcnLFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB0ZXh0LFxuICAgICAgc2VsZWN0YWJsZSxcbiAgICAgIHNlbGVjdGVkLFxuICAgICAgY2xhc3NlcyxcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lUHJvcCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgaW5kZXgsXG4gICAgICBoaWdobGlnaHQsXG4gICAgICBjb3JyZWN0LFxuICAgICAgYW5pbWF0aW9uc0Rpc2FibGVkLFxuICAgICAgaXNNaXNzaW5nLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGlzVG91Y2hFbmFibGVkID0gJ29udG91Y2hzdGFydCcgaW4gd2luZG93IHx8IG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDAgfHwgbmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHMgPiAwO1xuXG4gICAgbGV0IGNsYXNzTmFtZTtcbiAgICBsZXQgY2xhc3NOYW1lQ29udGFpbmVyO1xuICAgIGxldCBJY29uO1xuICAgIGxldCBpY29uQ2xhc3M7XG5cbiAgICBpZiAoY29ycmVjdCA9PT0gdW5kZWZpbmVkICYmIHNlbGVjdGVkICYmIGRpc2FibGVkKSB7XG4gICAgICBjbGFzc05hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMudG9rZW4sIGNsYXNzZXMuc2VsZWN0ZWQsIGNsYXNzZXMuZGlzYWJsZWRCbGFjayk7XG4gICAgfSBlbHNlIGlmIChjb3JyZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXMoVG9rZW4ucm9vdENsYXNzTmFtZSwgY2xhc3Nlcy5jdXN0b20pO1xuICAgICAgSWNvbiA9IGNvcnJlY3QgPyBDaGVjayA6IENsb3NlO1xuICAgICAgY2xhc3NOYW1lQ29udGFpbmVyID0gY29ycmVjdCA9PT0gdHJ1ZSA/IGNsYXNzZXMuY29ycmVjdCA6IGNsYXNzZXMuaW5jb3JyZWN0O1xuICAgICAgaWNvbkNsYXNzID0gY29ycmVjdCA9PT0gdHJ1ZSA/IGNsYXNzZXMuY29ycmVjdEljb24gOiBjbGFzc2VzLmluY29ycmVjdEljb247XG4gICAgfSBlbHNlIGlmIChpc01pc3NpbmcpIHtcbiAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXMoVG9rZW4ucm9vdENsYXNzTmFtZSwgY2xhc3Nlcy5jdXN0b20sIGlzTWlzc2luZyA9PT0gdHJ1ZSAmJiBjbGFzc2VzLm1pc3NpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc05hbWUgPSBjbGFzc05hbWVzKFxuICAgICAgICBUb2tlbi5yb290Q2xhc3NOYW1lLFxuICAgICAgICBjbGFzc2VzLnRva2VuLFxuICAgICAgICBkaXNhYmxlZCAmJiBjbGFzc2VzLmRpc2FibGVkLFxuICAgICAgICBzZWxlY3RhYmxlICYmICFkaXNhYmxlZCAmJiAhaXNUb3VjaEVuYWJsZWQgJiYgY2xhc3Nlcy5zZWxlY3RhYmxlLFxuICAgICAgICBzZWxlY3RlZCAmJiAhZGlzYWJsZWQgJiYgY2xhc3Nlcy5zZWxlY3RlZCxcbiAgICAgICAgc2VsZWN0ZWQgJiYgZGlzYWJsZWQgJiYgY2xhc3Nlcy5kaXNhYmxlZEFuZFNlbGVjdGVkLFxuICAgICAgICBoaWdobGlnaHQgJiYgc2VsZWN0YWJsZSAmJiAhZGlzYWJsZWQgJiYgIXNlbGVjdGVkICYmIGNsYXNzZXMuaGlnaGxpZ2h0LFxuICAgICAgICBhbmltYXRpb25zRGlzYWJsZWQgJiYgY2xhc3Nlcy5wcmludCxcbiAgICAgICAgY2xhc3NOYW1lUHJvcCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8V3JhcHBlclxuICAgICAgICB1c2VXcmFwcGVyPXtjb3JyZWN0ICE9PSB1bmRlZmluZWR9XG4gICAgICAgIGNsYXNzTmFtZUNvbnRhaW5lcj17Y2xhc3NOYW1lQ29udGFpbmVyfVxuICAgICAgICBpY29uQ2xhc3M9e2ljb25DbGFzc31cbiAgICAgICAgSWNvbj17SWNvbn1cbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6ICh0ZXh0IHx8ICcnKS5yZXBsYWNlKC9cXG4vZywgJzxicj4nKSB9fVxuICAgICAgICAgIGRhdGEtaW5kZXhrZXk9e2luZGV4fVxuICAgICAgICAvPlxuICAgICAgPC9XcmFwcGVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcygodGhlbWUpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB0b2tlbjoge1xuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB0ZXh0SW5kZW50OiAwLFxuICAgIH0sXG4gICAgZGlzYWJsZWQ6IHtcbiAgICAgIGN1cnNvcjogJ2luaGVyaXQnLFxuICAgICAgY29sb3I6IGNvbG9yLmRpc2FibGVkKCksXG4gICAgfSxcbiAgICBkaXNhYmxlZEJsYWNrOiB7XG4gICAgICBjdXJzb3I6ICdpbmhlcml0JyxcbiAgICB9LFxuICAgIGRpc2FibGVkQW5kU2VsZWN0ZWQ6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3Iuc2Vjb25kYXJ5TGlnaHQoKSxcbiAgICB9LFxuICAgIHNlbGVjdGFibGU6IHtcbiAgICAgIFt0aGVtZS5icmVha3BvaW50cy51cCg3NjkpXToge1xuICAgICAgICAnJjpob3Zlcic6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLnByaW1hcnlMaWdodCgpLFxuICAgICAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmNvbW1vbi5ibGFjayxcbiAgICAgICAgICAnJiA+IConOiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLnByaW1hcnlMaWdodCgpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VsZWN0ZWQ6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IucHJpbWFyeUxpZ2h0KCksXG4gICAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5jb21tb24uYmxhY2ssXG4gICAgICBsaW5lSGVpZ2h0OiBgJHt0aGVtZS5zcGFjaW5nLnVuaXQgKiAzfXB4YCxcbiAgICAgICcmID4gKic6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5wcmltYXJ5TGlnaHQoKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBoaWdobGlnaHQ6IHtcbiAgICAgIGJvcmRlcjogYGRhc2hlZCAycHggJHtjb2xvci5kaXNhYmxlZCgpfWAsXG4gICAgICBsaW5lSGVpZ2h0OiBgJHt0aGVtZS5zcGFjaW5nLnVuaXQgKiAzfXB4YCxcbiAgICB9LFxuICAgIHByaW50OiB7XG4gICAgICBib3JkZXI6IGBkYXNoZWQgMnB4ICR7Y29sb3IuZGlzYWJsZWQoKX1gLFxuICAgICAgbGluZUhlaWdodDogYCR7dGhlbWUuc3BhY2luZy51bml0ICogM31weGAsXG4gICAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIH0sXG4gICAgY3VzdG9tOiB7XG4gICAgICBkaXNwbGF5OiAnaW5pdGlhbCcsXG4gICAgfSxcbiAgICBjb3JyZWN0OiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmNvcnJlY3RTZWNvbmRhcnkoKSxcbiAgICAgIGJvcmRlcjogYCR7Y29sb3IuY29ycmVjdCgpfSBzb2xpZCAycHhgLFxuICAgICAgY29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLmJsYWNrLFxuICAgICAgbGluZUhlaWdodDogYCR7dGhlbWUuc3BhY2luZy51bml0ICogM31weGAsXG4gICAgfSxcbiAgICBpbmNvcnJlY3Q6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuaW5jb3JyZWN0U2Vjb25kYXJ5KCksXG4gICAgICBib3JkZXI6IGAke2NvbG9yLm1pc3NpbmcoKX0gc29saWQgMnB4YCxcbiAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmNvbW1vbi5ibGFjayxcbiAgICAgIGxpbmVIZWlnaHQ6IGAke3RoZW1lLnNwYWNpbmcudW5pdCAqIDN9cHhgLFxuICAgIH0sXG4gICAgbWlzc2luZzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5pbmNvcnJlY3RTZWNvbmRhcnkoKSxcbiAgICAgIGJvcmRlcjogYCR7Y29sb3IubWlzc2luZygpfSBkYXNoZWQgMnB4YCxcbiAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmNvbW1vbi5ibGFjayxcbiAgICAgIGxpbmVIZWlnaHQ6IGAke3RoZW1lLnNwYWNpbmcudW5pdCAqIDN9cHhgLFxuICAgICAgdGV4dERlY29yYXRpb246IGBsaW5lLXRocm91Z2ggJHtjb2xvci5taXNzaW5nKCl9YCxcbiAgICB9LFxuICAgIGluY29ycmVjdEljb246IHtcbiAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgZm9udFNpemU6ICdsYXJnZXInLFxuICAgICAgY29sb3I6IGNvbG9yLm1pc3NpbmcoKSxcbiAgICB9LFxuICAgIGNvcnJlY3RJY29uOiB7XG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICAgIGZvbnRTaXplOiAnbGFyZ2VyJyxcbiAgICAgIGNvbG9yOiBjb2xvci5jb3JyZWN0KCksXG4gICAgfSxcbiAgfTtcbn0pKFRva2VuKTtcbiJdfQ==
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
6
|
+
|
|
7
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
8
|
+
|
|
9
|
+
var _builder = require("../builder");
|
|
10
|
+
|
|
11
|
+
var _templateObject;
|
|
12
|
+
|
|
13
|
+
var token = function token(start, end, text) {
|
|
14
|
+
return {
|
|
15
|
+
start: start,
|
|
16
|
+
end: end,
|
|
17
|
+
text: text
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var selection = function selection(start, end) {
|
|
22
|
+
return {
|
|
23
|
+
start: start,
|
|
24
|
+
end: end
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var o = function o(strings) {
|
|
29
|
+
for (var _len = arguments.length, exp = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
30
|
+
exp[_key - 1] = arguments[_key];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return strings.reduce(function (acc, v, index) {
|
|
34
|
+
var e = exp[index];
|
|
35
|
+
var s = (0, _typeof2["default"])(e) === 'object' ? JSON.stringify(e) : e;
|
|
36
|
+
return "".concat(acc).concat(v).concat(s || '');
|
|
37
|
+
}, '');
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
describe('builder', function () {
|
|
41
|
+
describe('intersection', function () {
|
|
42
|
+
var assert = function assert(selection, tokens, expected) {
|
|
43
|
+
it(o(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["", ", ", " => ", ""])), selection, tokens, expected), function () {
|
|
44
|
+
var received = (0, _builder.intersection)(selection, tokens);
|
|
45
|
+
expect(received.results).toEqual(expected);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
assert(selection(2, 3), [token(0, 1)], []);
|
|
50
|
+
assert(selection(1, 2), [token(0, 1)], []);
|
|
51
|
+
assert(selection(0, 1), [token(0, 1)], [{
|
|
52
|
+
token: token(0, 1),
|
|
53
|
+
type: 'exact-fit'
|
|
54
|
+
}]);
|
|
55
|
+
assert(selection(0, 2), [token(0, 1)], [{
|
|
56
|
+
token: token(0, 1),
|
|
57
|
+
type: 'within-selection'
|
|
58
|
+
}]);
|
|
59
|
+
assert(selection(0, 2), [token(1, 2)], [{
|
|
60
|
+
token: token(1, 2),
|
|
61
|
+
type: 'within-selection'
|
|
62
|
+
}]);
|
|
63
|
+
assert(selection(0, 10), [token(1, 2), token(2, 3)], [{
|
|
64
|
+
token: token(1, 2),
|
|
65
|
+
type: 'within-selection'
|
|
66
|
+
}, {
|
|
67
|
+
token: token(2, 3),
|
|
68
|
+
type: 'within-selection'
|
|
69
|
+
}]);
|
|
70
|
+
assert(selection(0, 10), [token(1, 2), token(2, 11)], [{
|
|
71
|
+
token: token(1, 2),
|
|
72
|
+
type: 'within-selection'
|
|
73
|
+
}, {
|
|
74
|
+
token: token(2, 11),
|
|
75
|
+
type: 'overlap'
|
|
76
|
+
}]);
|
|
77
|
+
});
|
|
78
|
+
describe('sort', function () {
|
|
79
|
+
it('sorts', function () {
|
|
80
|
+
var out = (0, _builder.sort)([token(1, 2), token(0, 1)]);
|
|
81
|
+
expect(out).toEqual([token(0, 1), token(1, 2)]);
|
|
82
|
+
});
|
|
83
|
+
it('sorts', function () {
|
|
84
|
+
var out = (0, _builder.sort)([token(0, 1), token(1, 2)]);
|
|
85
|
+
expect(out).toEqual([token(0, 1), token(1, 2)]);
|
|
86
|
+
});
|
|
87
|
+
xit('sorts', function () {
|
|
88
|
+
expect(function () {
|
|
89
|
+
return (0, _builder.sort)([token(0, 2), token(1, 2)]);
|
|
90
|
+
}).toThrow(Error);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe('normalize', function () {
|
|
94
|
+
var assert = function assert(input, tokens, expected) {
|
|
95
|
+
it("".concat(input, " + ").concat(JSON.stringify(tokens), " -> ").concat(JSON.stringify(expected)), function () {
|
|
96
|
+
var out = (0, _builder.normalize)(input, tokens);
|
|
97
|
+
expect(out).toEqual(expected);
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
assert(null, [], [{
|
|
102
|
+
text: '',
|
|
103
|
+
start: 0,
|
|
104
|
+
end: 0
|
|
105
|
+
}]);
|
|
106
|
+
assert('abcde', [{
|
|
107
|
+
text: 'b',
|
|
108
|
+
start: 1,
|
|
109
|
+
end: 2
|
|
110
|
+
}, {
|
|
111
|
+
text: 'd',
|
|
112
|
+
start: 3,
|
|
113
|
+
end: 4
|
|
114
|
+
}], [{
|
|
115
|
+
text: 'a',
|
|
116
|
+
start: 0,
|
|
117
|
+
end: 1
|
|
118
|
+
}, {
|
|
119
|
+
text: 'b',
|
|
120
|
+
start: 1,
|
|
121
|
+
end: 2,
|
|
122
|
+
predefined: true
|
|
123
|
+
}, {
|
|
124
|
+
text: 'c',
|
|
125
|
+
start: 2,
|
|
126
|
+
end: 3
|
|
127
|
+
}, {
|
|
128
|
+
text: 'd',
|
|
129
|
+
start: 3,
|
|
130
|
+
end: 4,
|
|
131
|
+
predefined: true
|
|
132
|
+
}, {
|
|
133
|
+
text: 'e',
|
|
134
|
+
start: 4,
|
|
135
|
+
end: 5
|
|
136
|
+
}]);
|
|
137
|
+
assert('abc', [{
|
|
138
|
+
text: 'c',
|
|
139
|
+
start: 2,
|
|
140
|
+
end: 3
|
|
141
|
+
}], [{
|
|
142
|
+
text: 'ab',
|
|
143
|
+
start: 0,
|
|
144
|
+
end: 2
|
|
145
|
+
}, {
|
|
146
|
+
text: 'c',
|
|
147
|
+
start: 2,
|
|
148
|
+
end: 3,
|
|
149
|
+
predefined: true
|
|
150
|
+
}]);
|
|
151
|
+
assert('abc', [{
|
|
152
|
+
text: 'c',
|
|
153
|
+
start: 2,
|
|
154
|
+
end: 3
|
|
155
|
+
}, {
|
|
156
|
+
text: 'b',
|
|
157
|
+
start: 1,
|
|
158
|
+
end: 2
|
|
159
|
+
}], [{
|
|
160
|
+
text: 'a',
|
|
161
|
+
start: 0,
|
|
162
|
+
end: 1
|
|
163
|
+
}, {
|
|
164
|
+
text: 'b',
|
|
165
|
+
start: 1,
|
|
166
|
+
end: 2,
|
|
167
|
+
predefined: true
|
|
168
|
+
}, {
|
|
169
|
+
text: 'c',
|
|
170
|
+
start: 2,
|
|
171
|
+
end: 3,
|
|
172
|
+
predefined: true
|
|
173
|
+
}]);
|
|
174
|
+
assert('abc', [{
|
|
175
|
+
text: 'a',
|
|
176
|
+
start: 0,
|
|
177
|
+
end: 1
|
|
178
|
+
}], [{
|
|
179
|
+
text: 'a',
|
|
180
|
+
start: 0,
|
|
181
|
+
end: 1,
|
|
182
|
+
predefined: true
|
|
183
|
+
}, {
|
|
184
|
+
text: 'bc',
|
|
185
|
+
start: 1,
|
|
186
|
+
end: 3
|
|
187
|
+
}]);
|
|
188
|
+
assert('abcd', [{
|
|
189
|
+
text: 'b',
|
|
190
|
+
start: 1,
|
|
191
|
+
end: 2
|
|
192
|
+
}, {
|
|
193
|
+
text: 'c',
|
|
194
|
+
start: 2,
|
|
195
|
+
end: 3
|
|
196
|
+
}, {
|
|
197
|
+
text: 'd',
|
|
198
|
+
start: 3,
|
|
199
|
+
end: 4
|
|
200
|
+
}], [{
|
|
201
|
+
text: 'a',
|
|
202
|
+
start: 0,
|
|
203
|
+
end: 1
|
|
204
|
+
}, {
|
|
205
|
+
text: 'b',
|
|
206
|
+
start: 1,
|
|
207
|
+
end: 2,
|
|
208
|
+
predefined: true
|
|
209
|
+
}, {
|
|
210
|
+
text: 'c',
|
|
211
|
+
start: 2,
|
|
212
|
+
end: 3,
|
|
213
|
+
predefined: true
|
|
214
|
+
}, {
|
|
215
|
+
text: 'd',
|
|
216
|
+
start: 3,
|
|
217
|
+
end: 4,
|
|
218
|
+
predefined: true
|
|
219
|
+
}]);
|
|
220
|
+
assert('abcde', [{
|
|
221
|
+
text: 'b',
|
|
222
|
+
start: 1,
|
|
223
|
+
end: 2
|
|
224
|
+
}, {
|
|
225
|
+
text: 'c',
|
|
226
|
+
start: 2,
|
|
227
|
+
end: 3
|
|
228
|
+
}, {
|
|
229
|
+
text: 'd',
|
|
230
|
+
start: 3,
|
|
231
|
+
end: 4
|
|
232
|
+
}], [{
|
|
233
|
+
text: 'a',
|
|
234
|
+
start: 0,
|
|
235
|
+
end: 1
|
|
236
|
+
}, {
|
|
237
|
+
text: 'b',
|
|
238
|
+
start: 1,
|
|
239
|
+
end: 2,
|
|
240
|
+
predefined: true
|
|
241
|
+
}, {
|
|
242
|
+
text: 'c',
|
|
243
|
+
start: 2,
|
|
244
|
+
end: 3,
|
|
245
|
+
predefined: true
|
|
246
|
+
}, {
|
|
247
|
+
text: 'd',
|
|
248
|
+
start: 3,
|
|
249
|
+
end: 4,
|
|
250
|
+
predefined: true
|
|
251
|
+
}, {
|
|
252
|
+
text: 'e',
|
|
253
|
+
start: 4,
|
|
254
|
+
end: 5
|
|
255
|
+
}]); // same token defined multiple times
|
|
256
|
+
|
|
257
|
+
assert('abcde', [{
|
|
258
|
+
text: 'c',
|
|
259
|
+
start: 2,
|
|
260
|
+
end: 3
|
|
261
|
+
}, {
|
|
262
|
+
text: 'b',
|
|
263
|
+
start: 1,
|
|
264
|
+
end: 2
|
|
265
|
+
}, {
|
|
266
|
+
text: 'c',
|
|
267
|
+
start: 2,
|
|
268
|
+
end: 3
|
|
269
|
+
}, {
|
|
270
|
+
text: 'd',
|
|
271
|
+
start: 3,
|
|
272
|
+
end: 4
|
|
273
|
+
}, {
|
|
274
|
+
text: 'c',
|
|
275
|
+
start: 2,
|
|
276
|
+
end: 3
|
|
277
|
+
}], [{
|
|
278
|
+
text: 'a',
|
|
279
|
+
start: 0,
|
|
280
|
+
end: 1
|
|
281
|
+
}, {
|
|
282
|
+
text: 'b',
|
|
283
|
+
start: 1,
|
|
284
|
+
end: 2,
|
|
285
|
+
predefined: true
|
|
286
|
+
}, {
|
|
287
|
+
text: 'c',
|
|
288
|
+
start: 2,
|
|
289
|
+
end: 3,
|
|
290
|
+
predefined: true
|
|
291
|
+
}, {
|
|
292
|
+
text: 'd',
|
|
293
|
+
start: 3,
|
|
294
|
+
end: 4,
|
|
295
|
+
predefined: true
|
|
296
|
+
}, {
|
|
297
|
+
text: 'e',
|
|
298
|
+
start: 4,
|
|
299
|
+
end: 5
|
|
300
|
+
}]);
|
|
301
|
+
});
|
|
302
|
+
describe('words', function () {
|
|
303
|
+
it('works', function () {
|
|
304
|
+
var out = (0, _builder.words)('foo. bar');
|
|
305
|
+
expect(out).toEqual([{
|
|
306
|
+
text: 'foo.',
|
|
307
|
+
start: 0,
|
|
308
|
+
end: 4
|
|
309
|
+
}, {
|
|
310
|
+
text: 'bar',
|
|
311
|
+
start: 5,
|
|
312
|
+
end: 8
|
|
313
|
+
}]);
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
describe('sentences', function () {
|
|
317
|
+
it('foobar', function () {
|
|
318
|
+
var text = 'This is foo. This is bar.';
|
|
319
|
+
var out = (0, _builder.sentences)(text);
|
|
320
|
+
expect(out[0]).toEqual({
|
|
321
|
+
text: 'This is foo.',
|
|
322
|
+
start: 0,
|
|
323
|
+
end: 12
|
|
324
|
+
});
|
|
325
|
+
expect(out[1]).toEqual({
|
|
326
|
+
text: 'This is bar.',
|
|
327
|
+
start: 13,
|
|
328
|
+
end: 25
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
it('works', function () {
|
|
332
|
+
var text = 'On Jan. 20, former Sen. Barack Obama became the 44th President of the USA. Millions attended the Inauguration.';
|
|
333
|
+
var out = (0, _builder.sentences)(text);
|
|
334
|
+
expect(out.length).toEqual(2);
|
|
335
|
+
});
|
|
336
|
+
it('works for sentences separated by \n', function () {
|
|
337
|
+
var text = 'This is foo\nThis is bar';
|
|
338
|
+
var out = (0, _builder.sentences)(text);
|
|
339
|
+
expect(out[0]).toEqual({
|
|
340
|
+
text: 'This is foo',
|
|
341
|
+
start: 0,
|
|
342
|
+
end: 11
|
|
343
|
+
});
|
|
344
|
+
expect(out[1]).toEqual({
|
|
345
|
+
text: 'This is bar',
|
|
346
|
+
start: 12,
|
|
347
|
+
end: 23
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
it('works for sentences ending in one-character-words', function () {
|
|
351
|
+
var text = "This is Sentence 1. This is Sentence 2. This is Sentence 3. This is Sentence 4. Dr. A. said he'll call in 5.";
|
|
352
|
+
var out = (0, _builder.sentences)(text);
|
|
353
|
+
expect(out.length).toEqual(5);
|
|
354
|
+
expect(out).toEqual([{
|
|
355
|
+
text: 'This is Sentence 1.',
|
|
356
|
+
start: 0,
|
|
357
|
+
end: 19
|
|
358
|
+
}, {
|
|
359
|
+
text: 'This is Sentence 2.',
|
|
360
|
+
start: 20,
|
|
361
|
+
end: 39
|
|
362
|
+
}, {
|
|
363
|
+
text: 'This is Sentence 3.',
|
|
364
|
+
start: 40,
|
|
365
|
+
end: 59
|
|
366
|
+
}, {
|
|
367
|
+
text: 'This is Sentence 4.',
|
|
368
|
+
start: 60,
|
|
369
|
+
end: 79
|
|
370
|
+
}, {
|
|
371
|
+
text: "Dr. A. said he'll call in 5.",
|
|
372
|
+
start: 80,
|
|
373
|
+
end: 108
|
|
374
|
+
}]);
|
|
375
|
+
});
|
|
376
|
+
});
|
|
377
|
+
describe('paragraphs', function () {
|
|
378
|
+
it('foobar', function () {
|
|
379
|
+
var text = 'This is foo. This is bar.\nThis is foobar. This is barfoo.';
|
|
380
|
+
var out = (0, _builder.paragraphs)(text);
|
|
381
|
+
expect(out[0]).toEqual({
|
|
382
|
+
text: 'This is foo. This is bar.',
|
|
383
|
+
start: 0,
|
|
384
|
+
end: 25
|
|
385
|
+
});
|
|
386
|
+
expect(out[1]).toEqual({
|
|
387
|
+
text: 'This is foobar. This is barfoo.',
|
|
388
|
+
start: 26,
|
|
389
|
+
end: 57
|
|
390
|
+
});
|
|
391
|
+
});
|
|
392
|
+
it('works', function () {
|
|
393
|
+
var text = 'On Jan. 20, former Sen. Barack Obama became the 44th President of the USA. Millions attended the Inauguration.' + '\\ndadadadadadadadada.';
|
|
394
|
+
var out = (0, _builder.paragraphs)(text);
|
|
395
|
+
expect(out.length).toEqual(1);
|
|
396
|
+
});
|
|
397
|
+
});
|
|
398
|
+
});
|
|
399
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2J1aWxkZXIudGVzdC5qcyJdLCJuYW1lcyI6WyJ0b2tlbiIsInN0YXJ0IiwiZW5kIiwidGV4dCIsInNlbGVjdGlvbiIsIm8iLCJzdHJpbmdzIiwiZXhwIiwicmVkdWNlIiwiYWNjIiwidiIsImluZGV4IiwiZSIsInMiLCJKU09OIiwic3RyaW5naWZ5IiwiZGVzY3JpYmUiLCJhc3NlcnQiLCJ0b2tlbnMiLCJleHBlY3RlZCIsIml0IiwicmVjZWl2ZWQiLCJleHBlY3QiLCJyZXN1bHRzIiwidG9FcXVhbCIsInR5cGUiLCJvdXQiLCJ4aXQiLCJ0b1Rocm93IiwiRXJyb3IiLCJpbnB1dCIsInByZWRlZmluZWQiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7Ozs7QUFFQSxJQUFNQSxLQUFLLEdBQUcsU0FBUkEsS0FBUSxDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYUMsSUFBYjtBQUFBLFNBQXVCO0FBQUVGLElBQUFBLEtBQUssRUFBTEEsS0FBRjtBQUFTQyxJQUFBQSxHQUFHLEVBQUhBLEdBQVQ7QUFBY0MsSUFBQUEsSUFBSSxFQUFKQTtBQUFkLEdBQXZCO0FBQUEsQ0FBZDs7QUFFQSxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDSCxLQUFELEVBQVFDLEdBQVI7QUFBQSxTQUFpQjtBQUFFRCxJQUFBQSxLQUFLLEVBQUxBLEtBQUY7QUFBU0MsSUFBQUEsR0FBRyxFQUFIQTtBQUFULEdBQWpCO0FBQUEsQ0FBbEI7O0FBRUEsSUFBTUcsQ0FBQyxHQUFHLFNBQUpBLENBQUksQ0FBQ0MsT0FBRCxFQUFxQjtBQUFBLG9DQUFSQyxHQUFRO0FBQVJBLElBQUFBLEdBQVE7QUFBQTs7QUFDN0IsU0FBT0QsT0FBTyxDQUFDRSxNQUFSLENBQWUsVUFBQ0MsR0FBRCxFQUFNQyxDQUFOLEVBQVNDLEtBQVQsRUFBbUI7QUFDdkMsUUFBTUMsQ0FBQyxHQUFHTCxHQUFHLENBQUNJLEtBQUQsQ0FB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TUFBQUEsTUFBTSxDQUFDSSxHQUFHLENBQUMsQ0FBRCxDQUFKLENBQU4sQ0FBZUYsT0FBZixDQUF1QjtBQUNyQnJCLFFBQUFBLElBQUksRUFBRSwyQkFEZTtBQUVyQkYsUUFBQUEsS0FBSyxFQUFFLENBRmM7QUFHckJDLFFBQUFBLEdBQUcsRUFBRTtBQUhnQixPQUF2QjtBQUtBb0IsTUFBQUEsTUFBTSxDQUFDSSxHQUFHLENBQUMsQ0FBRCxDQUFKLENBQU4sQ0FBZUYsT0FBZixDQUF1QjtBQUNyQnJCLFFBQUFBLElBQUksRUFBRSxpQ0FEZTtBQUVyQkYsUUFBQUEsS0FBSyxFQUFFLEVBRmM7QUFHckJDLFFBQUFBLEdBQUcsRUFBRTtBQUhnQixPQUF2QjtBQUtELEtBYkMsQ0FBRjtBQWNBa0IsSUFBQUEsRUFBRSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ2hCLFVBQU1qQixJQUFJLEdBQ1IsbUhBQ0Esd0JBRkY7QUFJQSxVQUFNdUIsR0FBRyxHQUFHLHlCQUFXdkIsSUFBWCxDQUFaO0FBQ0FtQixNQUFBQSxNQUFNLENBQUNJLEdBQUcsQ0FBQ00sTUFBTCxDQUFOLENBQW1CUixPQUFuQixDQUEyQixDQUEzQjtBQUNELEtBUEMsQ0FBRjtBQVFELEdBdkJPLENBQVI7QUF3QkQsQ0FqUE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZSwgc2VudGVuY2VzLCB3b3JkcywgcGFyYWdyYXBocywgc29ydCwgaW50ZXJzZWN0aW9uIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5cbmNvbnN0IHRva2VuID0gKHN0YXJ0LCBlbmQsIHRleHQpID0+ICh7IHN0YXJ0LCBlbmQsIHRleHQgfSk7XG5cbmNvbnN0IHNlbGVjdGlvbiA9IChzdGFydCwgZW5kKSA9PiAoeyBzdGFydCwgZW5kIH0pO1xuXG5jb25zdCBvID0gKHN0cmluZ3MsIC4uLmV4cCkgPT4ge1xuICByZXR1cm4gc3RyaW5ncy5yZWR1Y2UoKGFjYywgdiwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBlID0gZXhwW2luZGV4XTtcbiAgICBjb25zdCBzID0gdHlwZW9mIGUgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoZSkgOiBlO1xuICAgIHJldHVybiBgJHthY2N9JHt2fSR7cyB8fCAnJ31gO1xuICB9LCAnJyk7XG59O1xuXG5kZXNjcmliZSgnYnVpbGRlcicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2ludGVyc2VjdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBhc3NlcnQgPSAoc2VsZWN0aW9uLCB0b2tlbnMsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChvYCR7c2VsZWN0aW9ufSwgJHt0b2tlbnN9ID0+ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCByZWNlaXZlZCA9IGludGVyc2VjdGlvbihzZWxlY3Rpb24sIHRva2Vucyk7XG4gICAgICAgIGV4cGVjdChyZWNlaXZlZC5yZXN1bHRzKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3NlcnQoc2VsZWN0aW9uKDIsIDMpLCBbdG9rZW4oMCwgMSldLCBbXSk7XG4gICAgYXNzZXJ0KHNlbGVjdGlvbigxLCAyKSwgW3Rva2VuKDAsIDEpXSwgW10pO1xuICAgIGFzc2VydChzZWxlY3Rpb24oMCwgMSksIFt0b2tlbigwLCAxKV0sIFt7IHRva2VuOiB0b2tlbigwLCAxKSwgdHlwZTogJ2V4YWN0LWZpdCcgfV0pO1xuICAgIGFzc2VydChzZWxlY3Rpb24oMCwgMiksIFt0b2tlbigwLCAxKV0sIFt7IHRva2VuOiB0b2tlbigwLCAxKSwgdHlwZTogJ3dpdGhpbi1zZWxlY3Rpb24nIH1dKTtcbiAgICBhc3NlcnQoc2VsZWN0aW9uKDAsIDIpLCBbdG9rZW4oMSwgMildLCBbeyB0b2tlbjogdG9rZW4oMSwgMiksIHR5cGU6ICd3aXRoaW4tc2VsZWN0aW9uJyB9XSk7XG4gICAgYXNzZXJ0KFxuICAgICAgc2VsZWN0aW9uKDAsIDEwKSxcbiAgICAgIFt0b2tlbigxLCAyKSwgdG9rZW4oMiwgMyldLFxuICAgICAgW1xuICAgICAgICB7IHRva2VuOiB0b2tlbigxLCAyKSwgdHlwZTogJ3dpdGhpbi1zZWxlY3Rpb24nIH0sXG4gICAgICAgIHsgdG9rZW46IHRva2VuKDIsIDMpLCB0eXBlOiAnd2l0aGluLXNlbGVjdGlvbicgfSxcbiAgICAgIF0sXG4gICAgKTtcbiAgICBhc3NlcnQoXG4gICAgICBzZWxlY3Rpb24oMCwgMTApLFxuICAgICAgW3Rva2VuKDEsIDIpLCB0b2tlbigyLCAxMSldLFxuICAgICAgW1xuICAgICAgICB7IHRva2VuOiB0b2tlbigxLCAyKSwgdHlwZTogJ3dpdGhpbi1zZWxlY3Rpb24nIH0sXG4gICAgICAgIHsgdG9rZW46IHRva2VuKDIsIDExKSwgdHlwZTogJ292ZXJsYXAnIH0sXG4gICAgICBdLFxuICAgICk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzb3J0JywgKCkgPT4ge1xuICAgIGl0KCdzb3J0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IG91dCA9IHNvcnQoW3Rva2VuKDEsIDIpLCB0b2tlbigwLCAxKV0pO1xuICAgICAgZXhwZWN0KG91dCkudG9FcXVhbChbdG9rZW4oMCwgMSksIHRva2VuKDEsIDIpXSk7XG4gICAgfSk7XG4gICAgaXQoJ3NvcnRzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgb3V0ID0gc29ydChbdG9rZW4oMCwgMSksIHRva2VuKDEsIDIpXSk7XG4gICAgICBleHBlY3Qob3V0KS50b0VxdWFsKFt0b2tlbigwLCAxKSwgdG9rZW4oMSwgMildKTtcbiAgICB9KTtcbiAgICB4aXQoJ3NvcnRzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KCgpID0+IHNvcnQoW3Rva2VuKDAsIDIpLCB0b2tlbigxLCAyKV0pKS50b1Rocm93KEVycm9yKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdub3JtYWxpemUnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0ID0gKGlucHV0LCB0b2tlbnMsIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChgJHtpbnB1dH0gKyAke0pTT04uc3RyaW5naWZ5KHRva2Vucyl9IC0+ICR7SlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWQpfWAsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0ID0gbm9ybWFsaXplKGlucHV0LCB0b2tlbnMpO1xuICAgICAgICBleHBlY3Qob3V0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgYXNzZXJ0KFxuICAgICAgbnVsbCxcbiAgICAgIFtdLFxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiAwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICApO1xuICAgIGFzc2VydChcbiAgICAgICdhYmNkZScsXG4gICAgICBbXG4gICAgICAgIHsgdGV4dDogJ2InLCBzdGFydDogMSwgZW5kOiAyIH0sXG4gICAgICAgIHsgdGV4dDogJ2QnLCBzdGFydDogMywgZW5kOiA0IH0sXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICB7IHRleHQ6ICdhJywgc3RhcnQ6IDAsIGVuZDogMSB9LFxuICAgICAgICB7IHRleHQ6ICdiJywgc3RhcnQ6IDEsIGVuZDogMiwgcHJlZGVmaW5lZDogdHJ1ZSB9LFxuICAgICAgICB7IHRleHQ6ICdjJywgc3RhcnQ6IDIsIGVuZDogMyB9LFxuICAgICAgICB7IHRleHQ6ICdkJywgc3RhcnQ6IDMsIGVuZDogNCwgcHJlZGVmaW5lZDogdHJ1ZSB9LFxuICAgICAgICB7IHRleHQ6ICdlJywgc3RhcnQ6IDQsIGVuZDogNSB9LFxuICAgICAgXSxcbiAgICApO1xuICAgIGFzc2VydChcbiAgICAgICdhYmMnLFxuICAgICAgW3sgdGV4dDogJ2MnLCBzdGFydDogMiwgZW5kOiAzIH1dLFxuICAgICAgW1xuICAgICAgICB7IHRleHQ6ICdhYicsIHN0YXJ0OiAwLCBlbmQ6IDIgfSxcbiAgICAgICAgeyB0ZXh0OiAnYycsIHN0YXJ0OiAyLCBlbmQ6IDMsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgIF0sXG4gICAgKTtcblxuICAgIGFzc2VydChcbiAgICAgICdhYmMnLFxuICAgICAgW1xuICAgICAgICB7IHRleHQ6ICdjJywgc3RhcnQ6IDIsIGVuZDogMyB9LFxuICAgICAgICB7IHRleHQ6ICdiJywgc3RhcnQ6IDEsIGVuZDogMiB9LFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgeyB0ZXh0OiAnYScsIHN0YXJ0OiAwLCBlbmQ6IDEgfSxcbiAgICAgICAgeyB0ZXh0OiAnYicsIHN0YXJ0OiAxLCBlbmQ6IDIsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0ZXh0OiAnYycsIHN0YXJ0OiAyLCBlbmQ6IDMsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgIF0sXG4gICAgKTtcblxuICAgIGFzc2VydChcbiAgICAgICdhYmMnLFxuICAgICAgW3sgdGV4dDogJ2EnLCBzdGFydDogMCwgZW5kOiAxIH1dLFxuICAgICAgW1xuICAgICAgICB7IHRleHQ6ICdhJywgc3RhcnQ6IDAsIGVuZDogMSwgcHJlZGVmaW5lZDogdHJ1ZSB9LFxuICAgICAgICB7IHRleHQ6ICdiYycsIHN0YXJ0OiAxLCBlbmQ6IDMgfSxcbiAgICAgIF0sXG4gICAgKTtcblxuICAgIGFzc2VydChcbiAgICAgICdhYmNkJyxcbiAgICAgIFtcbiAgICAgICAgeyB0ZXh0OiAnYicsIHN0YXJ0OiAxLCBlbmQ6IDIgfSxcbiAgICAgICAgeyB0ZXh0OiAnYycsIHN0YXJ0OiAyLCBlbmQ6IDMgfSxcbiAgICAgICAgeyB0ZXh0OiAnZCcsIHN0YXJ0OiAzLCBlbmQ6IDQgfSxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIHsgdGV4dDogJ2EnLCBzdGFydDogMCwgZW5kOiAxIH0sXG4gICAgICAgIHsgdGV4dDogJ2InLCBzdGFydDogMSwgZW5kOiAyLCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICAgIHsgdGV4dDogJ2MnLCBzdGFydDogMiwgZW5kOiAzLCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICAgIHsgdGV4dDogJ2QnLCBzdGFydDogMywgZW5kOiA0LCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICBdLFxuICAgICk7XG4gICAgYXNzZXJ0KFxuICAgICAgJ2FiY2RlJyxcbiAgICAgIFtcbiAgICAgICAgeyB0ZXh0OiAnYicsIHN0YXJ0OiAxLCBlbmQ6IDIgfSxcbiAgICAgICAgeyB0ZXh0OiAnYycsIHN0YXJ0OiAyLCBlbmQ6IDMgfSxcbiAgICAgICAgeyB0ZXh0OiAnZCcsIHN0YXJ0OiAzLCBlbmQ6IDQgfSxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIHsgdGV4dDogJ2EnLCBzdGFydDogMCwgZW5kOiAxIH0sXG4gICAgICAgIHsgdGV4dDogJ2InLCBzdGFydDogMSwgZW5kOiAyLCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICAgIHsgdGV4dDogJ2MnLCBzdGFydDogMiwgZW5kOiAzLCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICAgIHsgdGV4dDogJ2QnLCBzdGFydDogMywgZW5kOiA0LCBwcmVkZWZpbmVkOiB0cnVlIH0sXG4gICAgICAgIHsgdGV4dDogJ2UnLCBzdGFydDogNCwgZW5kOiA1IH0sXG4gICAgICBdLFxuICAgICk7XG5cbiAgICAvLyBzYW1lIHRva2VuIGRlZmluZWQgbXVsdGlwbGUgdGltZXNcbiAgICBhc3NlcnQoXG4gICAgICAnYWJjZGUnLFxuICAgICAgW1xuICAgICAgICB7IHRleHQ6ICdjJywgc3RhcnQ6IDIsIGVuZDogMyB9LFxuICAgICAgICB7IHRleHQ6ICdiJywgc3RhcnQ6IDEsIGVuZDogMiB9LFxuICAgICAgICB7IHRleHQ6ICdjJywgc3RhcnQ6IDIsIGVuZDogMyB9LFxuICAgICAgICB7IHRleHQ6ICdkJywgc3RhcnQ6IDMsIGVuZDogNCB9LFxuICAgICAgICB7IHRleHQ6ICdjJywgc3RhcnQ6IDIsIGVuZDogMyB9LFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgeyB0ZXh0OiAnYScsIHN0YXJ0OiAwLCBlbmQ6IDEgfSxcbiAgICAgICAgeyB0ZXh0OiAnYicsIHN0YXJ0OiAxLCBlbmQ6IDIsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0ZXh0OiAnYycsIHN0YXJ0OiAyLCBlbmQ6IDMsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0ZXh0OiAnZCcsIHN0YXJ0OiAzLCBlbmQ6IDQsIHByZWRlZmluZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0ZXh0OiAnZScsIHN0YXJ0OiA0LCBlbmQ6IDUgfSxcbiAgICAgIF0sXG4gICAgKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3dvcmRzJywgKCkgPT4ge1xuICAgIGl0KCd3b3JrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IG91dCA9IHdvcmRzKCdmb28uIGJhcicpO1xuICAgICAgZXhwZWN0KG91dCkudG9FcXVhbChbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnZm9vLicsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiA0LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ2JhcicsXG4gICAgICAgICAgc3RhcnQ6IDUsXG4gICAgICAgICAgZW5kOiA4LFxuICAgICAgICB9LFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZW50ZW5jZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2Zvb2JhcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHRleHQgPSAnVGhpcyBpcyBmb28uIFRoaXMgaXMgYmFyLic7XG4gICAgICBjb25zdCBvdXQgPSBzZW50ZW5jZXModGV4dCk7XG4gICAgICBleHBlY3Qob3V0WzBdKS50b0VxdWFsKHsgdGV4dDogJ1RoaXMgaXMgZm9vLicsIHN0YXJ0OiAwLCBlbmQ6IDEyIH0pO1xuICAgICAgZXhwZWN0KG91dFsxXSkudG9FcXVhbCh7IHRleHQ6ICdUaGlzIGlzIGJhci4nLCBzdGFydDogMTMsIGVuZDogMjUgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnd29ya3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXh0ID1cbiAgICAgICAgJ09uIEphbi4gMjAsIGZvcm1lciBTZW4uIEJhcmFjayBPYmFtYSBiZWNhbWUgdGhlIDQ0dGggUHJlc2lkZW50IG9mIHRoZSBVU0EuIE1pbGxpb25zIGF0dGVuZGVkIHRoZSBJbmF1Z3VyYXRpb24uJztcblxuICAgICAgY29uc3Qgb3V0ID0gc2VudGVuY2VzKHRleHQpO1xuICAgICAgZXhwZWN0KG91dC5sZW5ndGgpLnRvRXF1YWwoMik7XG4gICAgfSk7XG5cbiAgICBpdCgnd29ya3MgZm9yIHNlbnRlbmNlcyBzZXBhcmF0ZWQgYnkgXFxuJywgKCkgPT4ge1xuICAgICAgY29uc3QgdGV4dCA9ICdUaGlzIGlzIGZvb1xcblRoaXMgaXMgYmFyJztcbiAgICAgIGNvbnN0IG91dCA9IHNlbnRlbmNlcyh0ZXh0KTtcbiAgICAgIGV4cGVjdChvdXRbMF0pLnRvRXF1YWwoeyB0ZXh0OiAnVGhpcyBpcyBmb28nLCBzdGFydDogMCwgZW5kOiAxMSB9KTtcbiAgICAgIGV4cGVjdChvdXRbMV0pLnRvRXF1YWwoeyB0ZXh0OiAnVGhpcyBpcyBiYXInLCBzdGFydDogMTIsIGVuZDogMjMgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnd29ya3MgZm9yIHNlbnRlbmNlcyBlbmRpbmcgaW4gb25lLWNoYXJhY3Rlci13b3JkcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHRleHQgPVxuICAgICAgICBcIlRoaXMgaXMgU2VudGVuY2UgMS4gVGhpcyBpcyBTZW50ZW5jZSAyLiBUaGlzIGlzIFNlbnRlbmNlIDMuIFRoaXMgaXMgU2VudGVuY2UgNC4gRHIuIEEuIHNhaWQgaGUnbGwgY2FsbCBpbiA1LlwiO1xuXG4gICAgICBjb25zdCBvdXQgPSBzZW50ZW5jZXModGV4dCk7XG5cbiAgICAgIGV4cGVjdChvdXQubGVuZ3RoKS50b0VxdWFsKDUpO1xuXG4gICAgICBleHBlY3Qob3V0KS50b0VxdWFsKFtcbiAgICAgICAgeyB0ZXh0OiAnVGhpcyBpcyBTZW50ZW5jZSAxLicsIHN0YXJ0OiAwLCBlbmQ6IDE5IH0sXG4gICAgICAgIHsgdGV4dDogJ1RoaXMgaXMgU2VudGVuY2UgMi4nLCBzdGFydDogMjAsIGVuZDogMzkgfSxcbiAgICAgICAgeyB0ZXh0OiAnVGhpcyBpcyBTZW50ZW5jZSAzLicsIHN0YXJ0OiA0MCwgZW5kOiA1OSB9LFxuICAgICAgICB7IHRleHQ6ICdUaGlzIGlzIFNlbnRlbmNlIDQuJywgc3RhcnQ6IDYwLCBlbmQ6IDc5IH0sXG4gICAgICAgIHsgdGV4dDogXCJEci4gQS4gc2FpZCBoZSdsbCBjYWxsIGluIDUuXCIsIHN0YXJ0OiA4MCwgZW5kOiAxMDggfSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyYWdyYXBocycsICgpID0+IHtcbiAgICBpdCgnZm9vYmFyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdGV4dCA9ICdUaGlzIGlzIGZvby4gVGhpcyBpcyBiYXIuXFxuVGhpcyBpcyBmb29iYXIuIFRoaXMgaXMgYmFyZm9vLic7XG4gICAgICBjb25zdCBvdXQgPSBwYXJhZ3JhcGhzKHRleHQpO1xuICAgICAgZXhwZWN0KG91dFswXSkudG9FcXVhbCh7XG4gICAgICAgIHRleHQ6ICdUaGlzIGlzIGZvby4gVGhpcyBpcyBiYXIuJyxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGVuZDogMjUsXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdChvdXRbMV0pLnRvRXF1YWwoe1xuICAgICAgICB0ZXh0OiAnVGhpcyBpcyBmb29iYXIuIFRoaXMgaXMgYmFyZm9vLicsXG4gICAgICAgIHN0YXJ0OiAyNixcbiAgICAgICAgZW5kOiA1NyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCd3b3JrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHRleHQgPVxuICAgICAgICAnT24gSmFuLiAyMCwgZm9ybWVyIFNlbi4gQmFyYWNrIE9iYW1hIGJlY2FtZSB0aGUgNDR0aCBQcmVzaWRlbnQgb2YgdGhlIFVTQS4gTWlsbGlvbnMgYXR0ZW5kZWQgdGhlIEluYXVndXJhdGlvbi4nICtcbiAgICAgICAgJ1xcXFxuZGFkYWRhZGFkYWRhZGFkYWRhLic7XG5cbiAgICAgIGNvbnN0IG91dCA9IHBhcmFncmFwaHModGV4dCk7XG4gICAgICBleHBlY3Qob3V0Lmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _controls = require("../controls");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = require("enzyme");
|
|
10
|
+
|
|
11
|
+
var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
|
|
12
|
+
|
|
13
|
+
(0, _enzyme.configure)({
|
|
14
|
+
adapter: new _enzymeAdapterReact["default"]()
|
|
15
|
+
});
|
|
16
|
+
describe('controls', function () {
|
|
17
|
+
describe('snapshot', function () {
|
|
18
|
+
it('renders', function () {
|
|
19
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_controls.Controls, {
|
|
20
|
+
classes: {
|
|
21
|
+
button: 'button'
|
|
22
|
+
},
|
|
23
|
+
onClear: jest.fn(),
|
|
24
|
+
onWords: jest.fn(),
|
|
25
|
+
onSentences: jest.fn(),
|
|
26
|
+
onParagraphs: jest.fn(),
|
|
27
|
+
setCorrectMode: false,
|
|
28
|
+
onToggleCorrectMode: jest.fn()
|
|
29
|
+
}));
|
|
30
|
+
expect(w).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2NvbnRyb2xzLnRlc3QuanN4Il0sIm5hbWVzIjpbImFkYXB0ZXIiLCJBZGFwdGVyIiwiZGVzY3JpYmUiLCJpdCIsInciLCJidXR0b24iLCJqZXN0IiwiZm4iLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSx1QkFBVTtBQUFFQSxFQUFBQSxPQUFPLEVBQUUsSUFBSUMsOEJBQUo7QUFBWCxDQUFWO0FBRUFDLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QkEsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCQyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEIsVUFBTUMsQ0FBQyxHQUFHLG1DQUNSLGdDQUFDLGtCQUFEO0FBQ0UsUUFBQSxPQUFPLEVBQUU7QUFBRUMsVUFBQUEsTUFBTSxFQUFFO0FBQVYsU0FEWDtBQUVFLFFBQUEsT0FBTyxFQUFFQyxJQUFJLENBQUNDLEVBQUwsRUFGWDtBQUdFLFFBQUEsT0FBTyxFQUFFRCxJQUFJLENBQUNDLEVBQUwsRUFIWDtBQUlFLFFBQUEsV0FBVyxFQUFFRCxJQUFJLENBQUNDLEVBQUwsRUFKZjtBQUtFLFFBQUEsWUFBWSxFQUFFRCxJQUFJLENBQUNDLEVBQUwsRUFMaEI7QUFNRSxRQUFBLGNBQWMsRUFBRSxLQU5sQjtBQU9FLFFBQUEsbUJBQW1CLEVBQUVELElBQUksQ0FBQ0MsRUFBTDtBQVB2QixRQURRLENBQVY7QUFXQUMsTUFBQUEsTUFBTSxDQUFDSixDQUFELENBQU4sQ0FBVUssZUFBVjtBQUNELEtBYkMsQ0FBRjtBQWNELEdBZk8sQ0FBUjtBQWdCRCxDQWpCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbHMgfSBmcm9tICcuLi9jb250cm9scyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvdywgY29uZmlndXJlIH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBBZGFwdGVyIGZyb20gJ2VuenltZS1hZGFwdGVyLXJlYWN0LTE2JztcblxuY29uZmlndXJlKHsgYWRhcHRlcjogbmV3IEFkYXB0ZXIoKSB9KTtcblxuZGVzY3JpYmUoJ2NvbnRyb2xzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyhcbiAgICAgICAgPENvbnRyb2xzXG4gICAgICAgICAgY2xhc3Nlcz17eyBidXR0b246ICdidXR0b24nIH19XG4gICAgICAgICAgb25DbGVhcj17amVzdC5mbigpfVxuICAgICAgICAgIG9uV29yZHM9e2plc3QuZm4oKX1cbiAgICAgICAgICBvblNlbnRlbmNlcz17amVzdC5mbigpfVxuICAgICAgICAgIG9uUGFyYWdyYXBocz17amVzdC5mbigpfVxuICAgICAgICAgIHNldENvcnJlY3RNb2RlPXtmYWxzZX1cbiAgICAgICAgICBvblRvZ2dsZUNvcnJlY3RNb2RlPXtqZXN0LmZuKCl9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|