@pie-lib/editable-html-tip-tap 1.0.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.json +32 -0
- package/CHANGELOG.md +2280 -0
- package/lib/__tests__/editor.test.js +470 -0
- package/lib/__tests__/serialization.test.js +246 -0
- package/lib/__tests__/utils.js +106 -0
- package/lib/block-tags.js +25 -0
- package/lib/constants.js +16 -0
- package/lib/editor.js +1356 -0
- package/lib/extensions/MediaView.js +112 -0
- package/lib/extensions/characters.js +65 -0
- package/lib/extensions/component.js +325 -0
- package/lib/extensions/css.js +252 -0
- package/lib/extensions/custom-toolbar-wrapper.js +124 -0
- package/lib/extensions/image.js +106 -0
- package/lib/extensions/math.js +330 -0
- package/lib/extensions/media.js +276 -0
- package/lib/extensions/responseArea.js +278 -0
- package/lib/index.js +1213 -0
- package/lib/old-index.js +269 -0
- package/lib/parse-html.js +16 -0
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/index.js +305 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/css/icons/index.js +37 -0
- package/lib/plugins/css/index.js +390 -0
- package/lib/plugins/customPlugin/index.js +114 -0
- package/lib/plugins/html/icons/index.js +38 -0
- package/lib/plugins/html/index.js +81 -0
- package/lib/plugins/image/__tests__/component.test.js +51 -0
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +56 -0
- package/lib/plugins/image/__tests__/image-toolbar.test.js +26 -0
- package/lib/plugins/image/__tests__/index.test.js +98 -0
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +125 -0
- package/lib/plugins/image/__tests__/mock-change.js +25 -0
- package/lib/plugins/image/alt-dialog.js +129 -0
- package/lib/plugins/image/component.js +419 -0
- package/lib/plugins/image/image-toolbar.js +177 -0
- package/lib/plugins/image/index.js +263 -0
- package/lib/plugins/image/insert-image-handler.js +117 -0
- package/lib/plugins/index.js +413 -0
- package/lib/plugins/list/__tests__/index.test.js +79 -0
- package/lib/plugins/list/index.js +334 -0
- package/lib/plugins/math/__tests__/index.test.js +300 -0
- package/lib/plugins/math/index.js +454 -0
- package/lib/plugins/media/__tests__/index.test.js +71 -0
- package/lib/plugins/media/index.js +387 -0
- package/lib/plugins/media/media-dialog.js +709 -0
- package/lib/plugins/media/media-toolbar.js +101 -0
- package/lib/plugins/media/media-wrapper.js +93 -0
- package/lib/plugins/rendering/index.js +46 -0
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +289 -0
- package/lib/plugins/respArea/drag-in-the-blank/index.js +94 -0
- package/lib/plugins/respArea/explicit-constructed-response/index.js +120 -0
- package/lib/plugins/respArea/icons/index.js +95 -0
- package/lib/plugins/respArea/index.js +341 -0
- package/lib/plugins/respArea/inline-dropdown/index.js +126 -0
- package/lib/plugins/respArea/math-templated/index.js +130 -0
- package/lib/plugins/respArea/utils.js +125 -0
- package/lib/plugins/table/CustomTablePlugin.js +133 -0
- package/lib/plugins/table/__tests__/index.test.js +442 -0
- package/lib/plugins/table/__tests__/table-toolbar.test.js +54 -0
- package/lib/plugins/table/icons/index.js +69 -0
- package/lib/plugins/table/index.js +483 -0
- package/lib/plugins/table/table-toolbar.js +187 -0
- package/lib/plugins/textAlign/icons/index.js +194 -0
- package/lib/plugins/textAlign/index.js +34 -0
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +128 -0
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +51 -0
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +54 -0
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +120 -0
- package/lib/plugins/toolbar/default-toolbar.js +229 -0
- package/lib/plugins/toolbar/done-button.js +53 -0
- package/lib/plugins/toolbar/editor-and-toolbar.js +286 -0
- package/lib/plugins/toolbar/index.js +34 -0
- package/lib/plugins/toolbar/toolbar-buttons.js +194 -0
- package/lib/plugins/toolbar/toolbar.js +376 -0
- package/lib/plugins/utils.js +62 -0
- package/lib/serialization.js +677 -0
- package/lib/shared/alert-dialog.js +75 -0
- package/lib/theme.js +9 -0
- package/package.json +69 -0
- package/src/__tests__/editor.test.jsx +363 -0
- package/src/__tests__/serialization.test.js +291 -0
- package/src/__tests__/utils.js +36 -0
- package/src/block-tags.js +17 -0
- package/src/constants.js +7 -0
- package/src/editor.jsx +1197 -0
- package/src/extensions/characters.js +46 -0
- package/src/extensions/component.jsx +294 -0
- package/src/extensions/css.js +217 -0
- package/src/extensions/custom-toolbar-wrapper.jsx +100 -0
- package/src/extensions/image.js +55 -0
- package/src/extensions/math.js +259 -0
- package/src/extensions/media.js +182 -0
- package/src/extensions/responseArea.js +205 -0
- package/src/index.jsx +1462 -0
- package/src/old-index.jsx +162 -0
- package/src/parse-html.js +8 -0
- package/src/plugins/README.md +27 -0
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +284 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/css/icons/index.jsx +17 -0
- package/src/plugins/css/index.jsx +340 -0
- package/src/plugins/customPlugin/index.jsx +85 -0
- package/src/plugins/html/icons/index.jsx +19 -0
- package/src/plugins/html/index.jsx +72 -0
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +51 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +27 -0
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +44 -0
- package/src/plugins/image/__tests__/component.test.jsx +41 -0
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +42 -0
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +11 -0
- package/src/plugins/image/__tests__/index.test.js +95 -0
- package/src/plugins/image/__tests__/insert-image-handler.test.js +113 -0
- package/src/plugins/image/__tests__/mock-change.js +15 -0
- package/src/plugins/image/alt-dialog.jsx +82 -0
- package/src/plugins/image/component.jsx +343 -0
- package/src/plugins/image/image-toolbar.jsx +100 -0
- package/src/plugins/image/index.jsx +227 -0
- package/src/plugins/image/insert-image-handler.js +79 -0
- package/src/plugins/index.jsx +377 -0
- package/src/plugins/list/__tests__/index.test.js +54 -0
- package/src/plugins/list/index.jsx +305 -0
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +48 -0
- package/src/plugins/math/__tests__/index.test.jsx +245 -0
- package/src/plugins/math/index.jsx +379 -0
- package/src/plugins/media/__tests__/index.test.js +75 -0
- package/src/plugins/media/index.jsx +325 -0
- package/src/plugins/media/media-dialog.js +624 -0
- package/src/plugins/media/media-toolbar.jsx +56 -0
- package/src/plugins/media/media-wrapper.jsx +43 -0
- package/src/plugins/rendering/index.js +31 -0
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +215 -0
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +70 -0
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +92 -0
- package/src/plugins/respArea/icons/index.jsx +71 -0
- package/src/plugins/respArea/index.jsx +299 -0
- package/src/plugins/respArea/inline-dropdown/index.jsx +108 -0
- package/src/plugins/respArea/math-templated/index.jsx +104 -0
- package/src/plugins/respArea/utils.jsx +90 -0
- package/src/plugins/table/CustomTablePlugin.js +113 -0
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +44 -0
- package/src/plugins/table/__tests__/index.test.jsx +401 -0
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +42 -0
- package/src/plugins/table/icons/index.jsx +53 -0
- package/src/plugins/table/index.jsx +427 -0
- package/src/plugins/table/table-toolbar.jsx +136 -0
- package/src/plugins/textAlign/icons/index.jsx +114 -0
- package/src/plugins/textAlign/index.jsx +23 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +923 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +20 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +36 -0
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +46 -0
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +94 -0
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +37 -0
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +51 -0
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +106 -0
- package/src/plugins/toolbar/default-toolbar.jsx +206 -0
- package/src/plugins/toolbar/done-button.jsx +38 -0
- package/src/plugins/toolbar/editor-and-toolbar.jsx +257 -0
- package/src/plugins/toolbar/index.jsx +23 -0
- package/src/plugins/toolbar/toolbar-buttons.jsx +138 -0
- package/src/plugins/toolbar/toolbar.jsx +338 -0
- package/src/plugins/utils.js +31 -0
- package/src/serialization.jsx +621 -0
- package/src/theme.js +1 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = HtmlPlugin;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _icons = _interopRequireDefault(require("./icons"));
|
|
13
|
+
|
|
14
|
+
var _serialization = require("./../../serialization");
|
|
15
|
+
|
|
16
|
+
var toggleToRichText = function toggleToRichText(value, onChange, dismiss) {
|
|
17
|
+
var plainText = value.document.text;
|
|
18
|
+
var slateValue = dismiss ? value : (0, _serialization.htmlToValue)(plainText);
|
|
19
|
+
var change = value.change().selectAll()["delete"]().insertFragment(slateValue.document);
|
|
20
|
+
onChange(change);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
function HtmlPlugin(opts) {
|
|
24
|
+
var _ref = opts || {},
|
|
25
|
+
isHtmlMode = _ref.isHtmlMode,
|
|
26
|
+
isEditedInHtmlMode = _ref.isEditedInHtmlMode,
|
|
27
|
+
toggleHtmlMode = _ref.toggleHtmlMode,
|
|
28
|
+
handleAlertDialog = _ref.handleAlertDialog,
|
|
29
|
+
currentValue = _ref.currentValue;
|
|
30
|
+
|
|
31
|
+
var handleHtmlModeOn = function handleHtmlModeOn(value, onChange) {
|
|
32
|
+
var dialogProps = {
|
|
33
|
+
title: 'Warning',
|
|
34
|
+
text: 'Returning to rich text mode without saving will cause edits to be lost.',
|
|
35
|
+
onConfirmText: 'Dismiss changes',
|
|
36
|
+
onCloseText: 'Continue Editing',
|
|
37
|
+
onConfirm: function onConfirm() {
|
|
38
|
+
handleAlertDialog(false);
|
|
39
|
+
toggleToRichText(currentValue, onChange, true);
|
|
40
|
+
toggleHtmlMode();
|
|
41
|
+
},
|
|
42
|
+
onClose: function onClose() {
|
|
43
|
+
handleAlertDialog(false);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
handleAlertDialog(true, dialogProps);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var handleHtmlModeOff = function handleHtmlModeOff(value, onChange) {
|
|
50
|
+
var change = value.change().selectAll()["delete"]().insertText((0, _serialization.valueToHtml)(value));
|
|
51
|
+
onChange(change);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
name: 'html',
|
|
56
|
+
toolbar: {
|
|
57
|
+
icon: /*#__PURE__*/_react["default"].createElement(_icons["default"], {
|
|
58
|
+
isHtmlMode: isHtmlMode
|
|
59
|
+
}),
|
|
60
|
+
ariaLabel: 'Html editor',
|
|
61
|
+
buttonStyles: {
|
|
62
|
+
margin: '0 20px 0 auto'
|
|
63
|
+
},
|
|
64
|
+
type: 'html',
|
|
65
|
+
onClick: function onClick(value, onChange) {
|
|
66
|
+
if (isHtmlMode) {
|
|
67
|
+
if (isEditedInHtmlMode) {
|
|
68
|
+
handleHtmlModeOn(value, onChange);
|
|
69
|
+
} else {
|
|
70
|
+
toggleToRichText(value, onChange);
|
|
71
|
+
toggleHtmlMode();
|
|
72
|
+
}
|
|
73
|
+
} else {
|
|
74
|
+
handleHtmlModeOff(value, onChange);
|
|
75
|
+
toggleHtmlMode();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2h0bWwvaW5kZXguanN4Il0sIm5hbWVzIjpbInRvZ2dsZVRvUmljaFRleHQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZGlzbWlzcyIsInBsYWluVGV4dCIsImRvY3VtZW50IiwidGV4dCIsInNsYXRlVmFsdWUiLCJjaGFuZ2UiLCJzZWxlY3RBbGwiLCJpbnNlcnRGcmFnbWVudCIsIkh0bWxQbHVnaW4iLCJvcHRzIiwiaXNIdG1sTW9kZSIsImlzRWRpdGVkSW5IdG1sTW9kZSIsInRvZ2dsZUh0bWxNb2RlIiwiaGFuZGxlQWxlcnREaWFsb2ciLCJjdXJyZW50VmFsdWUiLCJoYW5kbGVIdG1sTW9kZU9uIiwiZGlhbG9nUHJvcHMiLCJ0aXRsZSIsIm9uQ29uZmlybVRleHQiLCJvbkNsb3NlVGV4dCIsIm9uQ29uZmlybSIsIm9uQ2xvc2UiLCJoYW5kbGVIdG1sTW9kZU9mZiIsImluc2VydFRleHQiLCJuYW1lIiwidG9vbGJhciIsImljb24iLCJhcmlhTGFiZWwiLCJidXR0b25TdHlsZXMiLCJtYXJnaW4iLCJ0eXBlIiwib25DbGljayJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDQyxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLE9BQWxCLEVBQThCO0FBQ3JELE1BQU1DLFNBQVMsR0FBR0gsS0FBSyxDQUFDSSxRQUFOLENBQWVDLElBQWpDO0FBQ0EsTUFBTUMsVUFBVSxHQUFHSixPQUFPLEdBQUdGLEtBQUgsR0FBVyxnQ0FBWUcsU0FBWixDQUFyQztBQUVBLE1BQU1JLE1BQU0sR0FBR1AsS0FBSyxDQUNqQk8sTUFEWSxHQUVaQyxTQUZZLGVBSVpDLGNBSlksQ0FJR0gsVUFBVSxDQUFDRixRQUpkLENBQWY7QUFLQUgsRUFBQUEsUUFBUSxDQUFDTSxNQUFELENBQVI7QUFDRCxDQVZEOztBQVllLFNBQVNHLFVBQVQsQ0FBb0JDLElBQXBCLEVBQTBCO0FBQ3ZDLGFBQTRGQSxJQUFJLElBQUksRUFBcEc7QUFBQSxNQUFRQyxVQUFSLFFBQVFBLFVBQVI7QUFBQSxNQUFvQkMsa0JBQXBCLFFBQW9CQSxrQkFBcEI7QUFBQSxNQUF3Q0MsY0FBeEMsUUFBd0NBLGNBQXhDO0FBQUEsTUFBd0RDLGlCQUF4RCxRQUF3REEsaUJBQXhEO0FBQUEsTUFBMkVDLFlBQTNFLFFBQTJFQSxZQUEzRTs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNqQixLQUFELEVBQVFDLFFBQVIsRUFBcUI7QUFDNUMsUUFBTWlCLFdBQVcsR0FBRztBQUNsQkMsTUFBQUEsS0FBSyxFQUFFLFNBRFc7QUFFbEJkLE1BQUFBLElBQUksRUFBRSx5RUFGWTtBQUdsQmUsTUFBQUEsYUFBYSxFQUFFLGlCQUhHO0FBSWxCQyxNQUFBQSxXQUFXLEVBQUUsa0JBSks7QUFLbEJDLE1BQUFBLFNBQVMsRUFBRSxxQkFBTTtBQUNmUCxRQUFBQSxpQkFBaUIsQ0FBQyxLQUFELENBQWpCO0FBQ0FoQixRQUFBQSxnQkFBZ0IsQ0FBQ2lCLFlBQUQsRUFBZWYsUUFBZixFQUF5QixJQUF6QixDQUFoQjtBQUNBYSxRQUFBQSxjQUFjO0FBQ2YsT0FUaUI7QUFVbEJTLE1BQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiUixRQUFBQSxpQkFBaUIsQ0FBQyxLQUFELENBQWpCO0FBQ0Q7QUFaaUIsS0FBcEI7QUFlQUEsSUFBQUEsaUJBQWlCLENBQUMsSUFBRCxFQUFPRyxXQUFQLENBQWpCO0FBQ0QsR0FqQkQ7O0FBbUJBLE1BQU1NLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ3hCLEtBQUQsRUFBUUMsUUFBUixFQUFxQjtBQUM3QyxRQUFNTSxNQUFNLEdBQUdQLEtBQUssQ0FDakJPLE1BRFksR0FFWkMsU0FGWSxlQUlaaUIsVUFKWSxDQUlELGdDQUFZekIsS0FBWixDQUpDLENBQWY7QUFLQUMsSUFBQUEsUUFBUSxDQUFDTSxNQUFELENBQVI7QUFDRCxHQVBEOztBQVNBLFNBQU87QUFDTG1CLElBQUFBLElBQUksRUFBRSxNQUREO0FBRUxDLElBQUFBLE9BQU8sRUFBRTtBQUNQQyxNQUFBQSxJQUFJLGVBQUUsZ0NBQUMsaUJBQUQ7QUFBYyxRQUFBLFVBQVUsRUFBRWhCO0FBQTFCLFFBREM7QUFFUGlCLE1BQUFBLFNBQVMsRUFBRSxhQUZKO0FBR1BDLE1BQUFBLFlBQVksRUFBRTtBQUNaQyxRQUFBQSxNQUFNLEVBQUU7QUFESSxPQUhQO0FBTVBDLE1BQUFBLElBQUksRUFBRSxNQU5DO0FBT1BDLE1BQUFBLE9BQU8sRUFBRSxpQkFBQ2pDLEtBQUQsRUFBUUMsUUFBUixFQUFxQjtBQUM1QixZQUFJVyxVQUFKLEVBQWdCO0FBQ2QsY0FBSUMsa0JBQUosRUFBd0I7QUFDdEJJLFlBQUFBLGdCQUFnQixDQUFDakIsS0FBRCxFQUFRQyxRQUFSLENBQWhCO0FBQ0QsV0FGRCxNQUVPO0FBQ0xGLFlBQUFBLGdCQUFnQixDQUFDQyxLQUFELEVBQVFDLFFBQVIsQ0FBaEI7QUFDQWEsWUFBQUEsY0FBYztBQUNmO0FBQ0YsU0FQRCxNQU9PO0FBQ0xVLFVBQUFBLGlCQUFpQixDQUFDeEIsS0FBRCxFQUFRQyxRQUFSLENBQWpCO0FBQ0FhLFVBQUFBLGNBQWM7QUFDZjtBQUNGO0FBbkJNO0FBRkosR0FBUDtBQXdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSHRtbE1vZGVJY29uIGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHsgaHRtbFRvVmFsdWUsIHZhbHVlVG9IdG1sIH0gZnJvbSAnLi8uLi8uLi9zZXJpYWxpemF0aW9uJztcblxuY29uc3QgdG9nZ2xlVG9SaWNoVGV4dCA9ICh2YWx1ZSwgb25DaGFuZ2UsIGRpc21pc3MpID0+IHtcbiAgY29uc3QgcGxhaW5UZXh0ID0gdmFsdWUuZG9jdW1lbnQudGV4dDtcbiAgY29uc3Qgc2xhdGVWYWx1ZSA9IGRpc21pc3MgPyB2YWx1ZSA6IGh0bWxUb1ZhbHVlKHBsYWluVGV4dCk7XG5cbiAgY29uc3QgY2hhbmdlID0gdmFsdWVcbiAgICAuY2hhbmdlKClcbiAgICAuc2VsZWN0QWxsKClcbiAgICAuZGVsZXRlKClcbiAgICAuaW5zZXJ0RnJhZ21lbnQoc2xhdGVWYWx1ZS5kb2N1bWVudCk7XG4gIG9uQ2hhbmdlKGNoYW5nZSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIdG1sUGx1Z2luKG9wdHMpIHtcbiAgY29uc3QgeyBpc0h0bWxNb2RlLCBpc0VkaXRlZEluSHRtbE1vZGUsIHRvZ2dsZUh0bWxNb2RlLCBoYW5kbGVBbGVydERpYWxvZywgY3VycmVudFZhbHVlIH0gPSBvcHRzIHx8IHt9O1xuXG4gIGNvbnN0IGhhbmRsZUh0bWxNb2RlT24gPSAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgY29uc3QgZGlhbG9nUHJvcHMgPSB7XG4gICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgdGV4dDogJ1JldHVybmluZyB0byByaWNoIHRleHQgbW9kZSB3aXRob3V0IHNhdmluZyB3aWxsIGNhdXNlIGVkaXRzIHRvIGJlIGxvc3QuJyxcbiAgICAgIG9uQ29uZmlybVRleHQ6ICdEaXNtaXNzIGNoYW5nZXMnLFxuICAgICAgb25DbG9zZVRleHQ6ICdDb250aW51ZSBFZGl0aW5nJyxcbiAgICAgIG9uQ29uZmlybTogKCkgPT4ge1xuICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSk7XG4gICAgICAgIHRvZ2dsZVRvUmljaFRleHQoY3VycmVudFZhbHVlLCBvbkNoYW5nZSwgdHJ1ZSk7XG4gICAgICAgIHRvZ2dsZUh0bWxNb2RlKCk7XG4gICAgICB9LFxuICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSk7XG4gICAgICB9LFxuICAgIH07XG5cbiAgICBoYW5kbGVBbGVydERpYWxvZyh0cnVlLCBkaWFsb2dQcm9wcyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlSHRtbE1vZGVPZmYgPSAodmFsdWUsIG9uQ2hhbmdlKSA9PiB7XG4gICAgY29uc3QgY2hhbmdlID0gdmFsdWVcbiAgICAgIC5jaGFuZ2UoKVxuICAgICAgLnNlbGVjdEFsbCgpXG4gICAgICAuZGVsZXRlKClcbiAgICAgIC5pbnNlcnRUZXh0KHZhbHVlVG9IdG1sKHZhbHVlKSk7XG4gICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdodG1sJyxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpY29uOiA8SHRtbE1vZGVJY29uIGlzSHRtbE1vZGU9e2lzSHRtbE1vZGV9IC8+LFxuICAgICAgYXJpYUxhYmVsOiAnSHRtbCBlZGl0b3InLFxuICAgICAgYnV0dG9uU3R5bGVzOiB7XG4gICAgICAgIG1hcmdpbjogJzAgMjBweCAwIGF1dG8nLFxuICAgICAgfSxcbiAgICAgIHR5cGU6ICdodG1sJyxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgICAgaWYgKGlzSHRtbE1vZGUpIHtcbiAgICAgICAgICBpZiAoaXNFZGl0ZWRJbkh0bWxNb2RlKSB7XG4gICAgICAgICAgICBoYW5kbGVIdG1sTW9kZU9uKHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRvZ2dsZVRvUmljaFRleHQodmFsdWUsIG9uQ2hhbmdlKTtcbiAgICAgICAgICAgIHRvZ2dsZUh0bWxNb2RlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhhbmRsZUh0bWxNb2RlT2ZmKHZhbHVlLCBvbkNoYW5nZSk7XG4gICAgICAgICAgdG9nZ2xlSHRtbE1vZGUoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _slate = require("slate");
|
|
6
|
+
|
|
7
|
+
var _component = require("../component");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
12
|
+
|
|
13
|
+
it('renders correctly', function () {
|
|
14
|
+
var node = _slate.Block.fromJSON({
|
|
15
|
+
type: 'image',
|
|
16
|
+
data: _slate.Data.create({
|
|
17
|
+
width: 50,
|
|
18
|
+
height: 50
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
var editor = {
|
|
23
|
+
value: {},
|
|
24
|
+
change: jest.fn()
|
|
25
|
+
};
|
|
26
|
+
var onDelete = jest.fn();
|
|
27
|
+
var classes = {
|
|
28
|
+
active: 'active',
|
|
29
|
+
loading: 'loading',
|
|
30
|
+
pendingDelete: 'pendingDelete'
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_component.Component, {
|
|
34
|
+
node: node,
|
|
35
|
+
editor: editor,
|
|
36
|
+
classes: classes,
|
|
37
|
+
onDelete: onDelete
|
|
38
|
+
}), {
|
|
39
|
+
createNodeMock: function createNodeMock(el) {
|
|
40
|
+
if (el.type === 'img') {
|
|
41
|
+
return {
|
|
42
|
+
naturalWidth: 100,
|
|
43
|
+
naturalHeight: 100
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}).toJSON();
|
|
48
|
+
|
|
49
|
+
expect(tree).toMatchSnapshot();
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiaXQiLCJub2RlIiwiQmxvY2siLCJmcm9tSlNPTiIsInR5cGUiLCJkYXRhIiwiRGF0YSIsImNyZWF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWRpdG9yIiwidmFsdWUiLCJjaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkRlbGV0ZSIsImNsYXNzZXMiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZU5vZGVNb2NrIiwiZWwiLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0IiwidG9KU09OIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCLE1BQU1DLElBQUksR0FBR0MsYUFBTUMsUUFBTixDQUFlO0FBQzFCQyxJQUFBQSxJQUFJLEVBQUUsT0FEb0I7QUFFMUJDLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZO0FBQ2hCQyxNQUFBQSxLQUFLLEVBQUUsRUFEUztBQUVoQkMsTUFBQUEsTUFBTSxFQUFFO0FBRlEsS0FBWjtBQUZvQixHQUFmLENBQWI7O0FBUUEsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLElBQUFBLEtBQUssRUFBRSxFQURNO0FBRWJDLElBQUFBLE1BQU0sRUFBRUMsSUFBSSxDQUFDQyxFQUFMO0FBRkssR0FBZjtBQUtBLE1BQU1DLFFBQVEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBRUEsTUFBTUUsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLE1BQU0sRUFBRSxRQURNO0FBRWRDLElBQUFBLE9BQU8sRUFBRSxTQUZLO0FBR2RDLElBQUFBLGFBQWEsRUFBRTtBQUhELEdBQWhCOztBQU1BLE1BQU1DLElBQUksR0FBR0MsOEJBQ1ZkLE1BRFUsZUFDSCxnQ0FBQyxvQkFBRDtBQUFXLElBQUEsSUFBSSxFQUFFTixJQUFqQjtBQUF1QixJQUFBLE1BQU0sRUFBRVMsTUFBL0I7QUFBdUMsSUFBQSxPQUFPLEVBQUVNLE9BQWhEO0FBQXlELElBQUEsUUFBUSxFQUFFRDtBQUFuRSxJQURHLEVBQzhFO0FBQ3ZGTyxJQUFBQSxjQUFjLEVBQUUsd0JBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFJQSxFQUFFLENBQUNuQixJQUFILEtBQVksS0FBaEIsRUFBdUI7QUFDckIsZUFBTztBQUNMb0IsVUFBQUEsWUFBWSxFQUFFLEdBRFQ7QUFFTEMsVUFBQUEsYUFBYSxFQUFFO0FBRlYsU0FBUDtBQUlEO0FBQ0Y7QUFSc0YsR0FEOUUsRUFXVkMsTUFYVSxFQUFiOztBQVlBQyxFQUFBQSxNQUFNLENBQUNQLElBQUQsQ0FBTixDQUFhUSxlQUFiO0FBQ0QsQ0FuQ0MsQ0FBRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIEJsb2NrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5cbml0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgY29uc3Qgbm9kZSA9IEJsb2NrLmZyb21KU09OKHtcbiAgICB0eXBlOiAnaW1hZ2UnLFxuICAgIGRhdGE6IERhdGEuY3JlYXRlKHtcbiAgICAgIHdpZHRoOiA1MCxcbiAgICAgIGhlaWdodDogNTAsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IGVkaXRvciA9IHtcbiAgICB2YWx1ZToge30sXG4gICAgY2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgY29uc3Qgb25EZWxldGUgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGxvYWRpbmc6ICdsb2FkaW5nJyxcbiAgICBwZW5kaW5nRGVsZXRlOiAncGVuZGluZ0RlbGV0ZScsXG4gIH07XG5cbiAgY29uc3QgdHJlZSA9IHJlbmRlcmVyXG4gICAgLmNyZWF0ZSg8Q29tcG9uZW50IG5vZGU9e25vZGV9IGVkaXRvcj17ZWRpdG9yfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkRlbGV0ZT17b25EZWxldGV9IC8+LCB7XG4gICAgICBjcmVhdGVOb2RlTW9jazogKGVsKSA9PiB7XG4gICAgICAgIGlmIChlbC50eXBlID09PSAnaW1nJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYXR1cmFsV2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG5hdHVyYWxIZWlnaHQ6IDEwMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pXG4gICAgLnRvSlNPTigpO1xuICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _imageToolbar = require("../image-toolbar");
|
|
12
|
+
|
|
13
|
+
var _mockChange = _interopRequireDefault(require("./mock-change"));
|
|
14
|
+
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
|
|
21
|
+
describe('ImageToolbar', function () {
|
|
22
|
+
var onChange;
|
|
23
|
+
beforeEach(function () {
|
|
24
|
+
onChange = jest.fn();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var mkWrapper = function mkWrapper(extras) {
|
|
28
|
+
var props = _objectSpread({
|
|
29
|
+
onChange: onChange,
|
|
30
|
+
classes: {}
|
|
31
|
+
}, extras);
|
|
32
|
+
|
|
33
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_imageToolbar.ImageToolbar, props));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
describe('onChange', function () {
|
|
37
|
+
it('renders', function () {
|
|
38
|
+
return expect(mkWrapper()).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
it('calls onChange with alignment', function () {
|
|
41
|
+
var w = mkWrapper();
|
|
42
|
+
w.instance().onAlignmentClick('center');
|
|
43
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
44
|
+
alignment: 'center'
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
it('calls onChange with alt text', function () {
|
|
48
|
+
var w = mkWrapper();
|
|
49
|
+
w.instance().onAltTextDone('alt text');
|
|
50
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
51
|
+
alt: 'alt text'
|
|
52
|
+
}, true);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLWxvZ2ljLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwibWtXcmFwcGVyIiwiZXh0cmFzIiwicHJvcHMiLCJjbGFzc2VzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJ3IiwiaW5zdGFuY2UiLCJvbkFsaWdubWVudENsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbGlnbm1lbnQiLCJvbkFsdFRleHREb25lIiwiYWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0IsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsRUFBTCxFQUFYO0FBQ0QsR0FGUyxDQUFWOztBQUlBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFBWTtBQUM1QixRQUFNQyxLQUFLO0FBQ1ROLE1BQUFBLFFBQVEsRUFBUkEsUUFEUztBQUVUTyxNQUFBQSxPQUFPLEVBQUU7QUFGQSxPQUdORixNQUhNLENBQVg7O0FBTUEsV0FBTyxtQ0FBUSxnQ0FBQywwQkFBRCxFQUFrQkMsS0FBbEIsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFVQVAsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQVc7QUFDdkIsYUFBT0MsTUFBTSxDQUFDTCxTQUFTLEVBQVYsQ0FBTixDQUFvQk0sZUFBcEIsRUFBUDtBQUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsK0JBQUQsRUFBa0MsWUFBTTtBQUN4QyxVQUFNRyxDQUFDLEdBQUdQLFNBQVMsRUFBbkI7QUFDQU8sTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLEdBQWFDLGdCQUFiLENBQThCLFFBQTlCO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUMsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBdEM7QUFDRCxLQUpDLENBQUY7QUFNQVAsSUFBQUEsRUFBRSxDQUFDLDhCQUFELEVBQWlDLFlBQU07QUFDdkMsVUFBTUcsQ0FBQyxHQUFHUCxTQUFTLEVBQW5CO0FBQ0FPLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixHQUFhSSxhQUFiLENBQTJCLFVBQTNCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUcsUUFBQUEsR0FBRyxFQUFFO0FBQVAsT0FBdEMsRUFBMkQsSUFBM0Q7QUFDRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmUsIHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgeyBEYXRhLCBCbG9jaywgVmFsdWUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbWFnZVRvb2xiYXIgfSBmcm9tICcuLi9pbWFnZS10b29sYmFyJztcbmltcG9ydCBNb2NrQ2hhbmdlIGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0ltYWdlVG9vbGJhcicsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBjb25zdCBta1dyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8SW1hZ2VUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbkNoYW5nZScsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGV4cGVjdChta1dyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbGlnbm1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gbWtXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkub25BbGlnbm1lbnRDbGljaygnY2VudGVyJyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWxpZ25tZW50OiAnY2VudGVyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGFsdCB0ZXh0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLm9uQWx0VGV4dERvbmUoJ2FsdCB0ZXh0Jyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWx0OiAnYWx0IHRleHQnIH0sIHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _imageToolbar = _interopRequireDefault(require("../image-toolbar"));
|
|
8
|
+
|
|
9
|
+
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
10
|
+
|
|
11
|
+
var _slate = require("slate");
|
|
12
|
+
|
|
13
|
+
it('renders correctly', function () {
|
|
14
|
+
var classes = {
|
|
15
|
+
holder: 'holder'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
|
|
19
|
+
percent: 50,
|
|
20
|
+
classes: classes,
|
|
21
|
+
onChange: jest.fn()
|
|
22
|
+
})).toJSON();
|
|
23
|
+
|
|
24
|
+
expect(tree).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLnRlc3QuanN4Il0sIm5hbWVzIjpbIml0IiwiY2xhc3NlcyIsImhvbGRlciIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZSIsImplc3QiLCJmbiIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixNQUFNQyxPQUFPLEdBQUc7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBaEI7O0FBRUEsTUFBTUMsSUFBSSxHQUFHQyw4QkFBU0MsTUFBVCxlQUFnQixnQ0FBQyx3QkFBRDtBQUFTLElBQUEsT0FBTyxFQUFFLEVBQWxCO0FBQXNCLElBQUEsT0FBTyxFQUFFSixPQUEvQjtBQUF3QyxJQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMO0FBQWxELElBQWhCLEVBQWlGQyxNQUFqRixFQUFiOztBQUNBQyxFQUFBQSxNQUFNLENBQUNOLElBQUQsQ0FBTixDQUFhTyxlQUFiO0FBQ0QsQ0FMQyxDQUFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IHJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuXG5pdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gIGNvbnN0IGNsYXNzZXMgPSB7IGhvbGRlcjogJ2hvbGRlcicgfTtcblxuICBjb25zdCB0cmVlID0gcmVuZGVyZXIuY3JlYXRlKDxUb29sYmFyIHBlcmNlbnQ9ezUwfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkNoYW5nZT17amVzdC5mbigpfSAvPikudG9KU09OKCk7XG4gIGV4cGVjdCh0cmVlKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _mockChange = _interopRequireWildcard(require("./mock-change"));
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _ = _interopRequireDefault(require("../"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
describe('image plugin', function () {
|
|
18
|
+
var value = {};
|
|
19
|
+
var imageSupport = {
|
|
20
|
+
"delete": jest.fn(),
|
|
21
|
+
add: jest.fn()
|
|
22
|
+
};
|
|
23
|
+
var imagePlugin = (0, _["default"])({
|
|
24
|
+
onDelete: function onDelete(src, done) {
|
|
25
|
+
imageSupport["delete"](src, function (e) {
|
|
26
|
+
done(e, value);
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
insertImageRequested: function insertImageRequested(node, getHandler) {
|
|
30
|
+
var handler = getHandler(function () {
|
|
31
|
+
return value;
|
|
32
|
+
});
|
|
33
|
+
imageSupport.add(handler);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
describe('normalizeNode', function () {
|
|
37
|
+
it('should exit the function if the node is not of type document', function () {
|
|
38
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
39
|
+
object: 'image'
|
|
40
|
+
});
|
|
41
|
+
expect(returnValue).toEqual(undefined);
|
|
42
|
+
});
|
|
43
|
+
it('should exit if the function if there are no changes needed', function () {
|
|
44
|
+
var nodes = [{
|
|
45
|
+
object: 'text',
|
|
46
|
+
text: 'Before Image'
|
|
47
|
+
}, {
|
|
48
|
+
type: 'image'
|
|
49
|
+
}, {
|
|
50
|
+
object: 'text',
|
|
51
|
+
text: 'After Image'
|
|
52
|
+
}];
|
|
53
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
54
|
+
object: 'document',
|
|
55
|
+
findDescendant: jest.fn(function (callback) {
|
|
56
|
+
nodes.forEach(function (n) {
|
|
57
|
+
return callback(n);
|
|
58
|
+
});
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
expect(returnValue).toEqual(undefined);
|
|
62
|
+
});
|
|
63
|
+
it('should return a function if there is a node with an empty text before an image', function () {
|
|
64
|
+
var nodes = [{
|
|
65
|
+
object: 'text',
|
|
66
|
+
text: '',
|
|
67
|
+
key: '1'
|
|
68
|
+
}, {
|
|
69
|
+
type: 'image',
|
|
70
|
+
key: '2'
|
|
71
|
+
}, {
|
|
72
|
+
object: 'text',
|
|
73
|
+
text: 'After Image',
|
|
74
|
+
key: '3'
|
|
75
|
+
}];
|
|
76
|
+
var findDescendant = jest.fn(function (callback) {
|
|
77
|
+
nodes.forEach(function (n) {
|
|
78
|
+
return callback(n);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
var change = {
|
|
82
|
+
withoutNormalization: jest.fn(function (callback) {
|
|
83
|
+
callback();
|
|
84
|
+
}),
|
|
85
|
+
insertTextByKey: jest.fn()
|
|
86
|
+
};
|
|
87
|
+
var returnValue = imagePlugin.normalizeNode({
|
|
88
|
+
object: 'document',
|
|
89
|
+
findDescendant: findDescendant
|
|
90
|
+
});
|
|
91
|
+
expect(returnValue).toEqual(expect.any(Function));
|
|
92
|
+
returnValue(change);
|
|
93
|
+
expect(change.withoutNormalization).toHaveBeenCalledWith(expect.any(Function));
|
|
94
|
+
expect(change.insertTextByKey).toHaveBeenCalledWith('1', 0, ' ');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidmFsdWUiLCJpbWFnZVN1cHBvcnQiLCJqZXN0IiwiZm4iLCJhZGQiLCJpbWFnZVBsdWdpbiIsIm9uRGVsZXRlIiwic3JjIiwiZG9uZSIsImUiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsIm5vZGUiLCJnZXRIYW5kbGVyIiwiaGFuZGxlciIsIml0IiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwib2JqZWN0IiwiZXhwZWN0IiwidG9FcXVhbCIsInVuZGVmaW5lZCIsIm5vZGVzIiwidGV4dCIsInR5cGUiLCJmaW5kRGVzY2VuZGFudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsIm4iLCJrZXkiLCJjaGFuZ2UiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImluc2VydFRleHRCeUtleSIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QixNQUFJQyxLQUFLLEdBQUcsRUFBWjtBQUVBLE1BQU1DLFlBQVksR0FBRztBQUNuQixjQUFRQyxJQUFJLENBQUNDLEVBQUwsRUFEVztBQUVuQkMsSUFBQUEsR0FBRyxFQUFFRixJQUFJLENBQUNDLEVBQUw7QUFGYyxHQUFyQjtBQUtBLE1BQU1FLFdBQVcsR0FBRyxrQkFBYTtBQUMvQkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QlAsTUFBQUEsWUFBWSxVQUFaLENBQW9CTSxHQUFwQixFQUF5QixVQUFDRSxDQUFELEVBQU87QUFDOUJELFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxFQUFJVCxLQUFKLENBQUo7QUFDRCxPQUZEO0FBR0QsS0FMOEI7QUFNL0JVLElBQUFBLG9CQUFvQixF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QUE1QjtBQUVBbEIsTUFBQUEsV0FBVyxDQUFDYyxNQUFELENBQVg7QUFFQVgsTUFBQUEsTUFBTSxDQUFDVyxNQUFNLENBQUNDLG9CQUFSLENBQU4sQ0FBb0NJLG9CQUFwQyxDQUF5RGhCLE1BQU0sQ0FBQ2MsR0FBUCxDQUFXQyxRQUFYLENBQXpEO0FBQ0FmLE1BQUFBLE1BQU0sQ0FBQ1csTUFBTSxDQUFDRSxlQUFSLENBQU4sQ0FBK0JHLG9CQUEvQixDQUFvRCxHQUFwRCxFQUF5RCxDQUF6RCxFQUE0RCxHQUE1RDtBQUNELEtBckNDLENBQUY7QUFzQ0QsR0FwRU8sQ0FBUjtBQXFFRCxDQXpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vY2tDaGFuZ2UsIHsgTW9ja0RvY3VtZW50IH0gZnJvbSAnLi9tb2NrLWNoYW5nZSc7XG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uLyc7XG5cbmRlc2NyaWJlKCdpbWFnZSBwbHVnaW4nLCAoKSA9PiB7XG4gIGxldCB2YWx1ZSA9IHt9O1xuXG4gIGNvbnN0IGltYWdlU3VwcG9ydCA9IHtcbiAgICBkZWxldGU6IGplc3QuZm4oKSxcbiAgICBhZGQ6IGplc3QuZm4oKSxcbiAgfTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IEltYWdlVG9vbGJhcih7XG4gICAgb25EZWxldGU6IChzcmMsIGRvbmUpID0+IHtcbiAgICAgIGltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICBkb25lKGUsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6IChub2RlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcigoKSA9PiB2YWx1ZSk7XG4gICAgICBpbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemVOb2RlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZXhpdCB0aGUgZnVuY3Rpb24gaWYgdGhlIG5vZGUgaXMgbm90IG9mIHR5cGUgZG9jdW1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGltYWdlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoeyBvYmplY3Q6ICdpbWFnZScgfSk7XG5cbiAgICAgIGV4cGVjdChyZXR1cm5WYWx1ZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGl0IGlmIHRoZSBmdW5jdGlvbiBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyBuZWVkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdCZWZvcmUgSW1hZ2UnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSBpbWFnZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGEgZnVuY3Rpb24gaWYgdGhlcmUgaXMgYSBub2RlIHdpdGggYW4gZW1wdHkgdGV4dCBiZWZvcmUgYW4gaW1hZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGtleTogJzEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgICAga2V5OiAnMycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgd2l0aG91dE5vcm1hbGl6YXRpb246IGplc3QuZm4oKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIGluc2VydFRleHRCeUtleTogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gaW1hZ2VQbHVnaW4ubm9ybWFsaXplTm9kZSh7XG4gICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgcmV0dXJuVmFsdWUoY2hhbmdlKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5pbnNlcnRUZXh0QnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgMCwgJyAnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _mockChange = _interopRequireWildcard(require("./mock-change"));
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
var _insertImageHandler = _interopRequireDefault(require("../insert-image-handler"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
expect.extend({
|
|
18
|
+
toMatchData: function toMatchData(received, argument) {
|
|
19
|
+
var argData = _slate.Data.create(argument);
|
|
20
|
+
|
|
21
|
+
var pass = argData.equals(received.data);
|
|
22
|
+
|
|
23
|
+
if (pass) {
|
|
24
|
+
return {
|
|
25
|
+
message: function message() {
|
|
26
|
+
return "expected ".concat(received.toJSON(), " not to be divisible by ").concat(argData.toJSON());
|
|
27
|
+
},
|
|
28
|
+
pass: true
|
|
29
|
+
};
|
|
30
|
+
} else {
|
|
31
|
+
return {
|
|
32
|
+
message: function message() {
|
|
33
|
+
return "expected ".concat(received.toJSON(), " to be divisible by ").concat(argData.toJSON());
|
|
34
|
+
},
|
|
35
|
+
pass: false
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
describe('insert image handler', function () {
|
|
41
|
+
var _change, document, value;
|
|
42
|
+
|
|
43
|
+
beforeEach(function () {
|
|
44
|
+
document = new _mockChange.MockDocument();
|
|
45
|
+
_change = new _mockChange["default"]();
|
|
46
|
+
value = {
|
|
47
|
+
change: function change() {
|
|
48
|
+
return _change;
|
|
49
|
+
},
|
|
50
|
+
document: document
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
var block = {
|
|
54
|
+
key: 1
|
|
55
|
+
};
|
|
56
|
+
var onChange = jest.fn();
|
|
57
|
+
var handler = new _insertImageHandler["default"](block, function () {}, function () {
|
|
58
|
+
return value;
|
|
59
|
+
}, onChange);
|
|
60
|
+
test('it constructs', function () {
|
|
61
|
+
expect(handler).not.toEqual(undefined);
|
|
62
|
+
});
|
|
63
|
+
describe('fileChosen', function () {
|
|
64
|
+
var fileReader;
|
|
65
|
+
beforeEach(function () {
|
|
66
|
+
fileReader = {
|
|
67
|
+
readAsDataURL: jest.fn()
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
global.FileReader = function () {
|
|
71
|
+
return fileReader;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
handler.fileChosen({});
|
|
75
|
+
});
|
|
76
|
+
test('calls readAsDataURL', function () {
|
|
77
|
+
expect(fileReader.readAsDataURL).toBeCalledWith({});
|
|
78
|
+
});
|
|
79
|
+
test('calls onChange with src -> dataUrl', function () {
|
|
80
|
+
fileReader.result = 'dataURL';
|
|
81
|
+
fileReader.onload();
|
|
82
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
83
|
+
expect(_change.setNodeByKey.mock.calls[0][1]).toMatchData({
|
|
84
|
+
src: 'dataURL'
|
|
85
|
+
});
|
|
86
|
+
expect(onChange).toBeCalledWith(_change);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe('progress', function () {
|
|
90
|
+
test('calls change w/ percent', function () {
|
|
91
|
+
handler.progress(40, 40, 100);
|
|
92
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
93
|
+
expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
|
|
94
|
+
percent: 40
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('done', function () {
|
|
99
|
+
test('calls setNodeByKey', function () {
|
|
100
|
+
handler.done(null, 'src');
|
|
101
|
+
expect(_change.setNodeByKey).toBeCalledWith(block.key, expect.anything());
|
|
102
|
+
expect(_change.setNodeByKey.mock.calls[0][1].data.toJS()).toMatchObject({
|
|
103
|
+
src: 'src',
|
|
104
|
+
loaded: true,
|
|
105
|
+
percent: 100
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
describe('cancel', function () {
|
|
110
|
+
beforeEach(function () {
|
|
111
|
+
document.getChild = jest.fn().mockReturnValue({
|
|
112
|
+
data: _slate.Data.create({}),
|
|
113
|
+
key: block.key
|
|
114
|
+
});
|
|
115
|
+
handler.cancel();
|
|
116
|
+
});
|
|
117
|
+
test('calls onChange', function () {
|
|
118
|
+
expect(onChange).toBeCalled();
|
|
119
|
+
});
|
|
120
|
+
test('calls removeNodeByKey', function () {
|
|
121
|
+
expect(_change.removeNodeByKey).toBeCalledWith(block.key);
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbnNlcnQtaW1hZ2UtaGFuZGxlci50ZXN0LmpzIl0sIm5hbWVzIjpbImV4cGVjdCIsImV4dGVuZCIsInRvTWF0Y2hEYXRhIiwicmVjZWl2ZWQiLCJhcmd1bWVudCIsImFyZ0RhdGEiLCJEYXRhIiwiY3JlYXRlIiwicGFzcyIsImVxdWFscyIsImRhdGEiLCJtZXNzYWdlIiwidG9KU09OIiwiZGVzY3JpYmUiLCJjaGFuZ2UiLCJkb2N1bWVudCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIk1vY2tEb2N1bWVudCIsIk1vY2tDaGFuZ2UiLCJibG9jayIsImtleSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaGFuZGxlciIsIkluc2VydEltYWdlSGFuZGxlciIsInRlc3QiLCJub3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwiZmlsZVJlYWRlciIsInJlYWRBc0RhdGFVUkwiLCJnbG9iYWwiLCJGaWxlUmVhZGVyIiwiZmlsZUNob3NlbiIsInRvQmVDYWxsZWRXaXRoIiwicmVzdWx0Iiwib25sb2FkIiwic2V0Tm9kZUJ5S2V5IiwiYW55dGhpbmciLCJtb2NrIiwiY2FsbHMiLCJzcmMiLCJwcm9ncmVzcyIsInRvSlMiLCJ0b01hdGNoT2JqZWN0IiwicGVyY2VudCIsImRvbmUiLCJsb2FkZWQiLCJnZXRDaGlsZCIsIm1vY2tSZXR1cm5WYWx1ZSIsImNhbmNlbCIsInRvQmVDYWxsZWQiLCJyZW1vdmVOb2RlQnlLZXkiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDWkMsRUFBQUEsV0FBVyxFQUFFLHFCQUFDQyxRQUFELEVBQVdDLFFBQVgsRUFBd0I7QUFDbkMsUUFBTUMsT0FBTyxHQUFHQyxZQUFLQyxNQUFMLENBQVlILFFBQVosQ0FBaEI7O0FBQ0EsUUFBTUksSUFBSSxHQUFHSCxPQUFPLENBQUNJLE1BQVIsQ0FBZU4s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RUFBRCxDQUFOLENBQXlEQyxhQUF6RCxDQUF1RTtBQUNyRUgsUUFBQUEsR0FBRyxFQUFFLEtBRGdFO0FBRXJFTSxRQUFBQSxNQUFNLEVBQUUsSUFGNkQ7QUFHckVGLFFBQUFBLE9BQU8sRUFBRTtBQUg0RCxPQUF2RTtBQUtELEtBVkcsQ0FBSjtBQVdELEdBWk8sQ0FBUjtBQWNBbEMsRUFBQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCSSxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRixNQUFBQSxRQUFRLENBQUNtQyxRQUFULEdBQW9CM0IsSUFBSSxDQUFDQyxFQUFMLEdBQVUyQixlQUFWLENBQTBCO0FBQUV6QyxRQUFBQSxJQUFJLEVBQUVKLFlBQUtDLE1BQUwsQ0FBWSxFQUFaLENBQVI7QUFBeUJjLFFBQUFBLEdBQUcsRUFBRUQsS0FBSyxDQUFDQztBQUFwQyxPQUExQixDQUFwQjtBQUNBSSxNQUFBQSxPQUFPLENBQUMyQixNQUFSO0FBQ0QsS0FIUyxDQUFWO0FBS0F6QixJQUFBQSxJQUFJLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMzQjNCLE1BQUFBLE1BQU0sQ0FBQ3NCLFFBQUQsQ0FBTixDQUFpQitCLFVBQWpCO0FBQ0QsS0FGRyxDQUFKO0FBSUExQixJQUFBQSxJQUFJLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUNsQzNCLE1BQUFBLE1BQU0sQ0FBQ2MsT0FBTSxDQUFDd0MsZUFBUixDQUFOLENBQStCbEIsY0FBL0IsQ0FBOENoQixLQUFLLENBQUNDLEdBQXBEO0FBQ0QsS0FGRyxDQUFKO0FBR0QsR0FiTyxDQUFSO0FBY0QsQ0ExRk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNb2NrQ2hhbmdlLCB7IE1vY2tEb2N1bWVudCB9IGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuXG5pbXBvcnQgeyBEYXRhIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoRGF0YTogKHJlY2VpdmVkLCBhcmd1bWVudCkgPT4ge1xuICAgIGNvbnN0IGFyZ0RhdGEgPSBEYXRhLmNyZWF0ZShhcmd1bWVudCk7XG4gICAgY29uc3QgcGFzcyA9IGFyZ0RhdGEuZXF1YWxzKHJlY2VpdmVkLmRhdGEpO1xuICAgIGlmIChwYXNzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlOiAoKSA9PiBgZXhwZWN0ZWQgJHtyZWNlaXZlZC50b0pTT04oKX0gbm90IHRvIGJlIGRpdmlzaWJsZSBieSAke2FyZ0RhdGEudG9KU09OKCl9YCxcbiAgICAgICAgcGFzczogdHJ1ZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6ICgpID0+IGBleHBlY3RlZCAke3JlY2VpdmVkLnRvSlNPTigpfSB0byBiZSBkaXZpc2libGUgYnkgJHthcmdEYXRhLnRvSlNPTigpfWAsXG4gICAgICAgIHBhc3M6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59KTtcbmRlc2NyaWJlKCdpbnNlcnQgaW1hZ2UgaGFuZGxlcicsICgpID0+IHtcbiAgbGV0IGNoYW5nZSwgZG9jdW1lbnQsIHZhbHVlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBkb2N1bWVudCA9IG5ldyBNb2NrRG9jdW1lbnQoKTtcbiAgICBjaGFuZ2UgPSBuZXcgTW9ja0NoYW5nZSgpO1xuICAgIHZhbHVlID0ge1xuICAgICAgY2hhbmdlOiAoKSA9PiBjaGFuZ2UsXG4gICAgICBkb2N1bWVudCxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdCBibG9jayA9IHsga2V5OiAxIH07XG4gIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGhhbmRsZXIgPSBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKFxuICAgIGJsb2NrLFxuICAgICgpID0+IHt9LFxuICAgICgpID0+IHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICApO1xuXG4gIHRlc3QoJ2l0IGNvbnN0cnVjdHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGhhbmRsZXIpLm5vdC50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmaWxlQ2hvc2VuJywgKCkgPT4ge1xuICAgIGxldCBmaWxlUmVhZGVyO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlciA9IHtcbiAgICAgICAgcmVhZEFzRGF0YVVSTDogamVzdC5mbigpLFxuICAgICAgfTtcblxuICAgICAgZ2xvYmFsLkZpbGVSZWFkZXIgPSAoKSA9PiBmaWxlUmVhZGVyO1xuICAgICAgaGFuZGxlci5maWxlQ2hvc2VuKHt9KTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIHJlYWRBc0RhdGFVUkwnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyBvbkNoYW5nZSB3aXRoIHNyYyAtPiBkYXRhVXJsJywgKCkgPT4ge1xuICAgICAgZmlsZVJlYWRlci5yZXN1bHQgPSAnZGF0YVVSTCc7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCgpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkpLnRvQmVDYWxsZWRXaXRoKGJsb2NrLmtleSwgZXhwZWN0LmFueXRoaW5nKCkpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXSkudG9NYXRjaERhdGEoe1xuICAgICAgICBzcmM6ICdkYXRhVVJMJyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChjaGFuZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncHJvZ3Jlc3MnLCAoKSA9PiB7XG4gICAgdGVzdCgnY2FsbHMgY2hhbmdlIHcvIHBlcmNlbnQnLCAoKSA9PiB7XG4gICAgICBoYW5kbGVyLnByb2dyZXNzKDQwLCA0MCwgMTAwKTtcbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHBlcmNlbnQ6IDQwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkb25lJywgKCkgPT4ge1xuICAgIHRlc3QoJ2NhbGxzIHNldE5vZGVCeUtleScsICgpID0+IHtcbiAgICAgIGhhbmRsZXIuZG9uZShudWxsLCAnc3JjJyk7XG5cbiAgICAgIGV4cGVjdChjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KS50b0JlQ2FsbGVkV2l0aChibG9jay5rZXksIGV4cGVjdC5hbnl0aGluZygpKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkubW9jay5jYWxsc1swXVsxXS5kYXRhLnRvSlMoKSkudG9NYXRjaE9iamVjdCh7XG4gICAgICAgIHNyYzogJ3NyYycsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgcGVyY2VudDogMTAwLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjYW5jZWwnLCAoKSA9PiB7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSksIGtleTogYmxvY2sua2V5IH0pO1xuICAgICAgaGFuZGxlci5jYW5jZWwoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdjYWxscyByZW1vdmVOb2RlQnlLZXknLCAoKSA9PiB7XG4gICAgICBleHBlY3QoY2hhbmdlLnJlbW92ZU5vZGVCeUtleSkudG9CZUNhbGxlZFdpdGgoYmxvY2sua2V5KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MockDocument = MockDocument;
|
|
7
|
+
exports["default"] = MockChange;
|
|
8
|
+
|
|
9
|
+
var _slate = require("slate");
|
|
10
|
+
|
|
11
|
+
function MockChange() {
|
|
12
|
+
this.setNodeByKey = jest.fn().mockReturnValue(this);
|
|
13
|
+
this.removeNodeByKey = jest.fn().mockReturnValue(this);
|
|
14
|
+
this.insertInline = jest.fn().mockReturnValue(this);
|
|
15
|
+
this.moveFocusTo = jest.fn().mockReturnValue(this);
|
|
16
|
+
this.moveAnchorTo = jest.fn().mockReturnValue(this);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function MockDocument() {
|
|
20
|
+
this.getChild = jest.fn().mockReturnValue({
|
|
21
|
+
data: _slate.Data.create({})
|
|
22
|
+
});
|
|
23
|
+
this.getDescendant = jest.fn();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9tb2NrLWNoYW5nZS5qcyJdLCJuYW1lcyI6WyJNb2NrQ2hhbmdlIiwic2V0Tm9kZUJ5S2V5IiwiamVzdCIsImZuIiwibW9ja1JldHVyblZhbHVlIiwicmVtb3ZlTm9kZUJ5S2V5IiwiaW5zZXJ0SW5saW5lIiwibW92ZUZvY3VzVG8iLCJtb3ZlQW5jaG9yVG8iLCJNb2NrRG9jdW1lbnQiLCJnZXRDaGlsZCIsImRhdGEiLCJEYXRhIiwiY3JlYXRlIiwiZ2V0RGVzY2VuZGFudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFFZSxTQUFTQSxVQUFULEdBQXNCO0FBQ25DLE9BQUtDLFlBQUwsR0FBb0JDLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQXBCO0FBQ0EsT0FBS0MsZUFBTCxHQUF1QkgsSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBdkI7QUFDQSxPQUFLRSxZQUFMLEdBQW9CSixJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQixJQUExQixDQUFwQjtBQUNBLE9BQUtHLFdBQUwsR0FBbUJMLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCLElBQTFCLENBQW5CO0FBQ0EsT0FBS0ksWUFBTCxHQUFvQk4sSUFBSSxDQUFDQyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsSUFBMUIsQ0FBcEI7QUFDRDs7QUFFTSxTQUFTSyxZQUFULEdBQXdCO0FBQzdCLE9BQUtDLFFBQUwsR0FBZ0JSLElBQUksQ0FBQ0MsRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQUVPLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZLEVBQVo7QUFBUixHQUExQixDQUFoQjtBQUVBLE9BQUtDLGFBQUwsR0FBcUJaLElBQUksQ0FBQ0MsRUFBTCxFQUFyQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YSB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW9ja0NoYW5nZSgpIHtcbiAgdGhpcy5zZXROb2RlQnlLZXkgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHRoaXMpO1xuICB0aGlzLnJlbW92ZU5vZGVCeUtleSA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMuaW5zZXJ0SW5saW5lID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbiAgdGhpcy5tb3ZlRm9jdXNUbyA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodGhpcyk7XG4gIHRoaXMubW92ZUFuY2hvclRvID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh0aGlzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vY2tEb2N1bWVudCgpIHtcbiAgdGhpcy5nZXRDaGlsZCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBkYXRhOiBEYXRhLmNyZWF0ZSh7fSkgfSk7XG5cbiAgdGhpcy5nZXREZXNjZW5kYW50ID0gamVzdC5mbigpO1xufVxuIl19
|