UNPKG

@accordproject/markdown-editor

Version:

A rich text editor that can read and write markdown text. Based on Slate.js.

52 lines (38 loc) 2 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _react = _interopRequireDefault(require("react")); var _enzyme = _interopRequireWildcard(require("enzyme")); var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16")); var _markdownSlate = require("@accordproject/markdown-slate"); var _index = _interopRequireDefault(require("./index")); var _list = _interopRequireDefault(require("../plugins/list")); const plugins = [(0, _list.default)()]; _enzyme.default.configure({ adapter: new _enzymeAdapterReact.default() }); // Default markdown value const defaultValue = "My Heading\n\nThis is text. This is *italic* text. This is **bold** text. This is a [link](https://clause.io). This is `inline code`.\n\nThis is ***bold and italic*** text\n\n> This is a quote.\n\nHeading Two\n\nThis is more text.\n\nOrdered lists:\n\n1. one\n2. two\n3. three\n\nOr:\n\n- apples\n- pears\n- peaches\n\n### Sub heading\n\nThis is more text.\n\nFin."; const slateTransformer = new _markdownSlate.SlateTransformer(); const propsObj = { width: '600px' }; const onSlateValueChange = () => {// A dummy onChange props }; describe('SlateAsInputEditor component', () => { test('component mount', () => { const slateValue = slateTransformer.fromMarkdown(defaultValue); const wrapper = (0, _enzyme.shallow)(_react.default.createElement(_index.default, { readOnly: false, lockText: true, plugins: plugins, value: slateValue, onChange: onSlateValueChange, editorProps: propsObj })); expect(wrapper.find('.doc-inner').length).toBe(1); }); // test('successful roundtrip', () => { // const slateValue = slateTransformer.fromMarkdown(defaultValue); // const markdown = slateTransformer.toMarkdown(slateValue); // expect(markdown).toEqual(defaultValue); // }); });