mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-02-01 13:18:29 +01:00
7a71de387c
* fold Stack into Editor * switch Change objects to be tied to editors, not values * introduce controller * add the "commands" concept * convert history into commands on `value.data` * add the ability to not normalize on editor creation/setting * convert schema to a mutable constructor * add editor.command method * convert plugin handlers to receive `next` * switch commands to use the onCommand middleware * add queries support, convert schema to queries * split out browser plugin * remove noop util * fixes * fixes * start fixing tests, refactor hyperscript to be more literal * fix slate-html-serializer tests * fix schema tests with hyperscript * fix text model tests with hyperscript * fix more tests * get all tests passing * fix lint * undo decorations example update * update examples * small changes to the api to make it nicer * update docs * update commands/queries plugin logic * change normalizeNode and validateNode to be middleware * fix decoration removal * rename commands tests * add useful errors to existing APIs * update changelogs * cleanup * fixes * update docs * add editor docs
28 lines
741 B
JavaScript
28 lines
741 B
JavaScript
import assert from 'assert'
|
|
import clean from './helpers/clean'
|
|
import React from 'react'
|
|
import ReactDOM from 'react-dom/server'
|
|
import { Editor } from 'slate-react'
|
|
import { fixtures } from 'slate-dev-test-utils'
|
|
import { JSDOM } from 'jsdom'
|
|
|
|
describe('slate-react', () => {
|
|
fixtures(__dirname, 'rendering/fixtures', ({ module }) => {
|
|
const { value, output, props } = module
|
|
const p = {
|
|
value,
|
|
onChange() {},
|
|
...(props || {}),
|
|
}
|
|
|
|
const string = ReactDOM.renderToStaticMarkup(<Editor {...p} />)
|
|
const dom = JSDOM.fragment(output)
|
|
const expected = dom.firstChild.outerHTML
|
|
.trim()
|
|
.replace(/\n/gm, '')
|
|
.replace(/>\s*</g, '><')
|
|
|
|
assert.equal(clean(string), expected)
|
|
})
|
|
})
|