diff --git a/.changeset/friendly-kings-tickle.md b/.changeset/friendly-kings-tickle.md new file mode 100644 index 0000000000..b03ed3c3ca --- /dev/null +++ b/.changeset/friendly-kings-tickle.md @@ -0,0 +1,5 @@ +--- +'slate': patch +--- + +Changed type signature of `Editor#setSelection` to allow non-Range properties of Selections (functionality unchanged) diff --git a/config/typescript/tsconfig.json b/config/typescript/tsconfig.json index 5384a10d2d..ab49bcb227 100644 --- a/config/typescript/tsconfig.json +++ b/config/typescript/tsconfig.json @@ -11,6 +11,7 @@ "resolveJsonModule": true, "sourceMap": true, "strict": true, - "target": "esnext" + "target": "esnext", + "skipLibCheck": true } } diff --git a/config/typescript/tsconfig.test.json b/config/typescript/tsconfig.test.json new file mode 100644 index 0000000000..74743de423 --- /dev/null +++ b/config/typescript/tsconfig.test.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitAny": false, + "rootDir": "../..", + "jsxFactory": "jsx", + "noEmit": true + } +} diff --git a/packages/slate-history/package.json b/packages/slate-history/package.json index ebf5459ca2..a573b7a5ae 100644 --- a/packages/slate-history/package.json +++ b/packages/slate-history/package.json @@ -15,6 +15,8 @@ ], "devDependencies": { "@babel/runtime": "^7.23.2", + "@types/mocha": "^10.0.10", + "@types/node": "^25.0.9", "lodash": "^4.17.21", "slate": "^0.123.0", "slate-hyperscript": "^0.115.0", diff --git a/packages/slate-history/test/index.js b/packages/slate-history/test/index.ts similarity index 53% rename from packages/slate-history/test/index.js rename to packages/slate-history/test/index.ts index b70d34504e..c9ccf5f24b 100644 --- a/packages/slate-history/test/index.js +++ b/packages/slate-history/test/index.ts @@ -1,52 +1,71 @@ import assert from 'assert' import { fixtures } from '../../../support/fixtures' -import { createHyperscript } from 'slate-hyperscript' -import { History, withHistory } from '..' +import { + createHyperscript, + createEditor as createEditorCreator, +} from 'slate-hyperscript' +import { History, HistoryEditor, withHistory } from '..' +import { BaseEditor, Editor, createEditor as createBaseEditor } from 'slate' -describe('slate-history', () => { - fixtures(__dirname, 'undo', ({ module }) => { - const { input, run, output } = module - const editor = withTest(withHistory(input)) - run(editor) - editor.undo() - assert.deepEqual(editor.children, output.children) - assert.deepEqual(editor.selection, output.selection) - }) - - fixtures(__dirname, 'isHistory', ({ module }) => { - const { input, run, output } = module - const editor = withTest(withHistory(input)) - run(editor) - const result = History.isHistory(editor.history) - assert.strictEqual(result, output) - }) -}) - -export const jsx = createHyperscript({ - elements: { - block: {}, - inline: { inline: true }, - }, -}) +declare module 'slate' { + interface CustomTypes { + // Editor is already defined in /support/types, but it will include this type + PackageSpecificEditorForTests: HistoryEditor + } +} -const withTest = editor => { +const withTest = (editor: Editor) => { const { isInline, isVoid, isElementReadOnly, isSelectable } = editor - editor.isInline = element => { return element.inline === true ? true : isInline(element) } - editor.isVoid = element => { return element.void === true ? true : isVoid(element) } - editor.isElementReadOnly = element => { return element.readOnly === true ? true : isElementReadOnly(element) } - editor.isSelectable = element => { return element.nonSelectable === true ? false : isSelectable(element) } - return editor } + +export const jsx = createHyperscript({ + elements: { + block: {}, + inline: { inline: true }, + }, + creators: { + editor: createEditorCreator(() => + withTest(withHistory(createBaseEditor())) + ), + }, +}) + +describe('slate-history', () => { + fixtures<{ + input: BaseEditor + run: (input: Editor) => void + output: Pick + }>(__dirname, 'undo', ({ module }) => { + const { input, run, output } = module + const editor = input as Editor + run(editor) + editor.undo() + assert.deepEqual(editor.children, output.children) + assert.deepEqual(editor.selection, output.selection) + }) + + fixtures<{ + input: BaseEditor + run: (input: Editor) => void + output: boolean + }>(__dirname, 'isHistory', ({ module }) => { + const { input, run, output } = module + const editor = input as Editor + run(editor) + const result = History.isHistory(editor.history) + assert.strictEqual(result, output) + }) +}) diff --git a/packages/slate-history/test/jsx.d.ts b/packages/slate-history/test/jsx.d.ts deleted file mode 100644 index de69552d4c..0000000000 --- a/packages/slate-history/test/jsx.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This allows tests to include Slate Nodes written in JSX without TypeScript complaining. -declare namespace jsx.JSX { - interface IntrinsicElements { - [elemName: string]: any // eslint-disable-line - } -} diff --git a/packages/slate-history/test/tsconfig.json b/packages/slate-history/test/tsconfig.json new file mode 100644 index 0000000000..612fcc3a17 --- /dev/null +++ b/packages/slate-history/test/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../../config/typescript/tsconfig.test.json", + "include": ["./**/*", "../../../support/*"], + "references": [{ "path": "../" }] +} diff --git a/packages/slate-hyperscript/package.json b/packages/slate-hyperscript/package.json index 6c40fb837d..3438d0be79 100644 --- a/packages/slate-hyperscript/package.json +++ b/packages/slate-hyperscript/package.json @@ -15,6 +15,8 @@ ], "devDependencies": { "@babel/runtime": "^7.23.2", + "@types/mocha": "^10.0.10", + "@types/node": "^25.0.9", "slate": "^0.123.0", "source-map-loader": "^4.0.1" }, diff --git a/packages/slate-hyperscript/test/fixtures/element-custom.tsx b/packages/slate-hyperscript/test/fixtures/element-custom.tsx index d10f32e871..49314055e4 100644 --- a/packages/slate-hyperscript/test/fixtures/element-custom.tsx +++ b/packages/slate-hyperscript/test/fixtures/element-custom.tsx @@ -1,6 +1,12 @@ /** @jsx jsx */ import { createHyperscript } from 'slate-hyperscript' +declare namespace jsx.JSX { + interface IntrinsicElements { + paragraph: {} + } +} + const jsx = createHyperscript({ elements: { paragraph: { type: 'paragraph' }, diff --git a/packages/slate-hyperscript/test/index.js b/packages/slate-hyperscript/test/index.ts similarity index 52% rename from packages/slate-hyperscript/test/index.js rename to packages/slate-hyperscript/test/index.ts index a526af5d48..dc79db4df2 100644 --- a/packages/slate-hyperscript/test/index.js +++ b/packages/slate-hyperscript/test/index.ts @@ -3,11 +3,20 @@ import { resolve } from 'path' import { fixtures } from '../../../support/fixtures' describe('slate-hyperscript', () => { - fixtures(resolve(__dirname, 'fixtures'), ({ module }) => { + fixtures< + | { + input: unknown[] + output: unknown[] + } + | { + input: Record + output: Record + } + >(resolve(__dirname, 'fixtures'), ({ module }) => { const { input, output } = module - let actual = {} + let actual: unknown[] | Record = {} - if (Array.isArray(output)) { + if (Array.isArray(input)) { actual = input } else { for (const key in output) { diff --git a/packages/slate-hyperscript/test/jsx.d.ts b/packages/slate-hyperscript/test/jsx.d.ts deleted file mode 100644 index de69552d4c..0000000000 --- a/packages/slate-hyperscript/test/jsx.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This allows tests to include Slate Nodes written in JSX without TypeScript complaining. -declare namespace jsx.JSX { - interface IntrinsicElements { - [elemName: string]: any // eslint-disable-line - } -} diff --git a/packages/slate-hyperscript/test/tsconfig.json b/packages/slate-hyperscript/test/tsconfig.json new file mode 100644 index 0000000000..612fcc3a17 --- /dev/null +++ b/packages/slate-hyperscript/test/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../../config/typescript/tsconfig.test.json", + "include": ["./**/*", "../../../support/*"], + "references": [{ "path": "../" }] +} diff --git a/packages/slate-hyperscript/tsconfig.json b/packages/slate-hyperscript/tsconfig.json index e7e11b0403..986a3270ed 100644 --- a/packages/slate-hyperscript/tsconfig.json +++ b/packages/slate-hyperscript/tsconfig.json @@ -6,5 +6,5 @@ "outDir": "./lib", "composite": true }, - "references": [] + "references": [{ "path": "../slate" }] } diff --git a/packages/slate-react/test/tsconfig.json b/packages/slate-react/test/tsconfig.json index a9b230f886..762eaf3a02 100644 --- a/packages/slate-react/test/tsconfig.json +++ b/packages/slate-react/test/tsconfig.json @@ -1,7 +1,8 @@ { - "extends": "../../../config/typescript/tsconfig.json", + "extends": "../../../config/typescript/tsconfig.test.json", "compilerOptions": { - "types": ["@testing-library/jest-dom"] + "jsxFactory": "React.createElement", + "jsxFragmentFactory": "React.Fragment" }, "references": [{ "path": "../" }] } diff --git a/packages/slate/package.json b/packages/slate/package.json index 450cde6665..f6e21866a1 100644 --- a/packages/slate/package.json +++ b/packages/slate/package.json @@ -15,6 +15,9 @@ ], "devDependencies": { "@babel/runtime": "^7.23.2", + "@types/lodash": "^4.17.23", + "@types/mocha": "^10.0.10", + "@types/node": "^25.0.9", "lodash": "^4.17.21", "slate-hyperscript": "^0.115.0", "source-map-loader": "^4.0.1" diff --git a/packages/slate/src/interfaces/transforms/selection.ts b/packages/slate/src/interfaces/transforms/selection.ts index 07fb29d850..2e80be8fdc 100644 --- a/packages/slate/src/interfaces/transforms/selection.ts +++ b/packages/slate/src/interfaces/transforms/selection.ts @@ -1,4 +1,4 @@ -import { Editor, Location, Point, Range } from '../../index' +import { Editor, Location, Point, Selection } from '../../index' import { MoveUnit, SelectionEdge } from '../../types/types' export interface SelectionCollapseOptions { @@ -49,7 +49,7 @@ export interface SelectionTransforms { /** * Set new properties on the selection. */ - setSelection: (editor: Editor, props: Partial) => void + setSelection: (editor: Editor, props: Partial) => void } // eslint-disable-next-line no-redeclare diff --git a/packages/slate/src/transforms-selection/set-selection.ts b/packages/slate/src/transforms-selection/set-selection.ts index 11b73a6295..07c0631a3f 100644 --- a/packages/slate/src/transforms-selection/set-selection.ts +++ b/packages/slate/src/transforms-selection/set-selection.ts @@ -1,14 +1,14 @@ import { SelectionTransforms } from '../interfaces/transforms/selection' -import { Range } from '../interfaces/range' import { Point } from '../interfaces/point' +import { Selection } from '../interfaces' export const setSelection: SelectionTransforms['setSelection'] = ( editor, props ) => { const { selection } = editor - const oldProps: Partial | null = {} - const newProps: Partial = {} + const oldProps: Partial = {} + const newProps: Partial = {} if (!selection) { return @@ -24,10 +24,10 @@ export const setSelection: SelectionTransforms['setSelection'] = ( !Point.equals(props.focus, selection.focus)) || (k !== 'anchor' && k !== 'focus' && - props[k] !== selection[k]) + props[k as keyof Selection] !== selection[k as keyof Selection]) ) { - oldProps[k] = selection[k] - newProps[k] = props[k] + oldProps[k as keyof Selection] = selection[k as keyof Selection] + newProps[k as keyof Selection] = props[k as keyof Selection] } } diff --git a/packages/slate/test/index.js b/packages/slate/test/index.js deleted file mode 100644 index 0d610728b3..0000000000 --- a/packages/slate/test/index.js +++ /dev/null @@ -1,110 +0,0 @@ -import assert from 'assert' -import { cloneDeep } from 'lodash' -import { fixtures } from '../../../support/fixtures' -import { Editor, createEditor } from 'slate' -import { createHyperscript } from 'slate-hyperscript' - -describe('slate', () => { - fixtures(__dirname, 'interfaces', ({ module }) => { - let { input, test, output } = module - if (Editor.isEditor(input)) { - input = withTest(input) - } - const result = test(input) - assert.deepEqual(result, output) - }) - fixtures(__dirname, 'operations', ({ module }) => { - const { input, operations, output } = module - const editor = withTest(input) - Editor.withoutNormalizing(editor, () => { - for (const op of operations) { - editor.apply(op) - } - }) - assert.deepEqual(editor.children, output.children) - assert.deepEqual(editor.selection, output.selection) - }) - fixtures(__dirname, 'normalization', ({ module }) => { - const { input, output, withFallbackElement } = module - const editor = withTest(input) - if (withFallbackElement) { - const { normalizeNode } = editor - editor.normalizeNode = (entry, options) => { - normalizeNode(entry, { ...options, fallbackElement: () => ({}) }) - } - } - Editor.normalize(editor, { force: true }) - assert.deepEqual(editor.children, output.children) - assert.deepEqual(editor.selection, output.selection) - }) - fixtures(__dirname, 'transforms', ({ module }) => { - const { input, run, output } = module - const editor = withTest(input) - run(editor) - assert.deepEqual(editor.children, output.children) - assert.deepEqual(editor.selection, output.selection) - }) - fixtures(__dirname, 'utils/deep-equal', ({ module }) => { - let { input, test, output } = module - if (Editor.isEditor(input)) { - input = withTest(input) - } - const result = test(input) - assert.deepEqual(result, output) - }) - // make sure with or without batchDirty, the normalize result is the same - const testBatchDirty = ({ module }) => { - const { input, run } = module - - const input2 = createEditor() - input2.children = cloneDeep(input.children) - input2.selection = cloneDeep(input.selection) - - const dirties1 = [] - const dirties2 = [] - - const editor1 = withBatchTest(withTest(input), dirties1) - const editor2 = withBatchTest(withTest(input2), dirties2) - - run(editor1, { batchDirty: true }) - run(editor2, { batchDirty: false }) - - assert.equal(dirties1.join(' '), dirties2.join(' ')) - } - fixtures(__dirname, 'transforms/insertNodes', ({ module }) => { - testBatchDirty({ module }) - }) - fixtures(__dirname, 'transforms/insertFragment', ({ module }) => { - testBatchDirty({ module }) - }) -}) -const withTest = editor => { - const { isInline, isVoid, isElementReadOnly, isSelectable } = editor - editor.isInline = element => { - return element.inline === true ? true : isInline(element) - } - editor.isVoid = element => { - return element.void === true ? true : isVoid(element) - } - editor.isElementReadOnly = element => { - return element.readOnly === true ? true : isElementReadOnly(element) - } - editor.isSelectable = element => { - return element.nonSelectable === true ? false : isSelectable(element) - } - return editor -} -const withBatchTest = (editor, dirties) => { - const { normalizeNode } = editor - editor.normalizeNode = ([node, path]) => { - dirties.push(JSON.stringify(path)) - normalizeNode([node, path]) - } - return editor -} -export const jsx = createHyperscript({ - elements: { - block: {}, - inline: { inline: true }, - }, -}) diff --git a/packages/slate/test/index.ts b/packages/slate/test/index.ts new file mode 100644 index 0000000000..07b989a0c7 --- /dev/null +++ b/packages/slate/test/index.ts @@ -0,0 +1,152 @@ +import assert from 'assert' +import { cloneDeep } from 'lodash' +import { fixtures } from '../../../support/fixtures' +import { + Editor, + Element, + Operation, + createEditor as createBaseEditor, +} from 'slate' +import { + createHyperscript, + createEditor as createEditorCreator, +} from 'slate-hyperscript' + +const withTest = (editor: Editor) => { + const { isInline, isVoid, isElementReadOnly, isSelectable } = editor + editor.isInline = element => { + return element.inline === true ? true : isInline(element) + } + editor.isVoid = element => { + return element.void === true ? true : isVoid(element) + } + editor.isElementReadOnly = element => { + return element.readOnly === true ? true : isElementReadOnly(element) + } + editor.isSelectable = element => { + return element.nonSelectable === true ? false : isSelectable(element) + } + return editor +} + +export const jsx = createHyperscript({ + elements: { + block: {}, + inline: { inline: true }, + }, + creators: { + editor: createEditorCreator(() => withTest(createBaseEditor())), + }, +}) + +describe('slate', () => { + fixtures<{ + input: unknown + test: (input: unknown) => unknown + output: unknown + }>(__dirname, 'interfaces', ({ module }) => { + const { input, test, output } = module + const result = test(input) + assert.deepEqual(result, output) + }) + fixtures<{ input: Editor; operations: Operation[]; output: Editor }>( + __dirname, + 'operations', + ({ module }) => { + const { input, operations, output } = module + Editor.withoutNormalizing(input, () => { + for (const op of operations) { + input.apply(op) + } + }) + assert.deepEqual(input.children, output.children) + assert.deepEqual(input.selection, output.selection) + } + ) + fixtures<{ input: Editor; withFallbackElement?: boolean; output: Editor }>( + __dirname, + 'normalization', + ({ module }) => { + const { input, output, withFallbackElement } = module + if (withFallbackElement) { + const { normalizeNode } = input + input.normalizeNode = (entry, options) => { + normalizeNode(entry, { + ...options, + fallbackElement: () => ({}) as Element, + }) + } + } + Editor.normalize(input, { force: true }) + assert.deepEqual(input.children, output.children) + assert.deepEqual(input.selection, output.selection) + } + ) + fixtures<{ input: Editor; run: (input: Editor) => void; output: Editor }>( + __dirname, + 'transforms', + ({ module }) => { + const { input, run, output } = module + const editor = input + run(editor) + assert.deepEqual(editor.children, output.children) + assert.deepEqual(editor.selection, output.selection) + } + ) + fixtures<{ input: Editor; test: (input: Editor) => void; output: Editor }>( + __dirname, + 'utils/deep-equal', + ({ module }) => { + const { input, test, output } = module + const result = test(input) + assert.deepEqual(result, output) + } + ) + // make sure with or without batchDirty, the normalize result is the same + + type batchDirtyTestModule = { + input: Editor + run: (input: Editor, options: { batchDirty: boolean }) => void + } + const testBatchDirty = ({ module }: { module: batchDirtyTestModule }) => { + const { input, run } = module + + const input2 = withTest(createBaseEditor()) + input2.children = cloneDeep(input.children) + input2.selection = cloneDeep(input.selection) + + const dirties1: string[] = [] + const dirties2: string[] = [] + + const editor1 = withBatchTest(input, dirties1) + const editor2 = withBatchTest(input2, dirties2) + + run(editor1, { batchDirty: true }) + run(editor2, { batchDirty: false }) + + assert.equal(dirties1.join(' '), dirties2.join(' ')) + } + fixtures( + __dirname, + 'transforms/insertNodes', + ({ module }) => { + testBatchDirty({ module }) + } + ) + fixtures( + __dirname, + 'transforms/insertFragment', + ({ module }) => { + testBatchDirty({ module }) + } + ) +}) + +const withBatchTest = (editor: Editor, dirties: string[]) => { + const { normalizeNode } = editor + editor.normalizeNode = ([node, path]) => { + dirties.push(JSON.stringify(path)) + normalizeNode([node, path]) + } + return editor +} diff --git a/packages/slate/test/interfaces/CustomTypes/custom-types.ts b/packages/slate/test/interfaces/CustomTypes/custom-types.ts index 6cc9369399..aac88ea848 100644 --- a/packages/slate/test/interfaces/CustomTypes/custom-types.ts +++ b/packages/slate/test/interfaces/CustomTypes/custom-types.ts @@ -4,7 +4,7 @@ import { BasePoint, BaseRange, Descendant, - Operation, + BaseOperation, } from 'slate' export type HeadingElement = { @@ -31,7 +31,7 @@ export type CustomOperation = { value: string } -export type ExtendedOperation = Operation | CustomOperation +export type ExtendedOperation = BaseOperation | CustomOperation export type CustomElement = HeadingElement | ListItemElement diff --git a/packages/slate/test/interfaces/CustomTypes/type-guards.ts b/packages/slate/test/interfaces/CustomTypes/type-guards.ts index 1382cf5324..71f6c7d011 100644 --- a/packages/slate/test/interfaces/CustomTypes/type-guards.ts +++ b/packages/slate/test/interfaces/CustomTypes/type-guards.ts @@ -7,9 +7,8 @@ export const isBoldText = (text: Text): text is CustomText => export const isCustomText = (text: Text): text is CustomText => !!(text as CustomText).placeholder -export const isCustomOperation = ( - op: Operation -): Operation is CustomOperation => (op as CustomOperation).type === 'custom_op' +export const isCustomOperation = (op: Operation): op is CustomOperation => + (op as CustomOperation).type === 'custom_op' export const isHeadingElement = (element: Element): element is HeadingElement => element.type === 'heading' diff --git a/packages/slate/test/interfaces/Editor/levels/match.tsx b/packages/slate/test/interfaces/Editor/levels/match.tsx index 26dbb5135e..330ff2f603 100644 --- a/packages/slate/test/interfaces/Editor/levels/match.tsx +++ b/packages/slate/test/interfaces/Editor/levels/match.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Editor } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( @@ -13,7 +13,7 @@ export const test = editor => { return Array.from( Editor.levels(editor, { at: [0, 0], - match: n => n.a, + match: n => n.a === true, }) ) } diff --git a/packages/slate/test/interfaces/Editor/levels/reverse.tsx b/packages/slate/test/interfaces/Editor/levels/reverse.tsx index 4cc3d4837b..d8b7894fb9 100644 --- a/packages/slate/test/interfaces/Editor/levels/reverse.tsx +++ b/packages/slate/test/interfaces/Editor/levels/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Editor } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Editor/levels/success.tsx b/packages/slate/test/interfaces/Editor/levels/success.tsx index b2b9660b49..2d934d0e3f 100644 --- a/packages/slate/test/interfaces/Editor/levels/success.tsx +++ b/packages/slate/test/interfaces/Editor/levels/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Editor } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Editor/levels/voids-false.tsx b/packages/slate/test/interfaces/Editor/levels/voids-false.tsx index 5392f20e0b..dde8a2d9c0 100644 --- a/packages/slate/test/interfaces/Editor/levels/voids-false.tsx +++ b/packages/slate/test/interfaces/Editor/levels/voids-false.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Editor } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Editor/levels/voids-true.tsx b/packages/slate/test/interfaces/Editor/levels/voids-true.tsx index b4892e4f90..bfdcd9865d 100644 --- a/packages/slate/test/interfaces/Editor/levels/voids-true.tsx +++ b/packages/slate/test/interfaces/Editor/levels/voids-true.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Editor } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Editor/nodes/mode-all/block.tsx b/packages/slate/test/interfaces/Editor/nodes/mode-all/block.tsx index 0b1f1d5cc9..a6f990543d 100644 --- a/packages/slate/test/interfaces/Editor/nodes/mode-all/block.tsx +++ b/packages/slate/test/interfaces/Editor/nodes/mode-all/block.tsx @@ -14,7 +14,7 @@ export const input = ( ) export const test = editor => { return Array.from( - Editor.nodes(editor, { at: [], match: n => n.a, mode: 'all' }) + Editor.nodes(editor, { at: [], match: n => n.a === true, mode: 'all' }) ) } export const output = [ diff --git a/packages/slate/test/interfaces/Editor/nodes/mode-highest/block.tsx b/packages/slate/test/interfaces/Editor/nodes/mode-highest/block.tsx index 1918a196c4..89194c3032 100644 --- a/packages/slate/test/interfaces/Editor/nodes/mode-highest/block.tsx +++ b/packages/slate/test/interfaces/Editor/nodes/mode-highest/block.tsx @@ -14,7 +14,7 @@ export const input = ( ) export const test = editor => { return Array.from( - Editor.nodes(editor, { at: [], match: n => n.a, mode: 'highest' }) + Editor.nodes(editor, { at: [], match: n => n.a === true, mode: 'highest' }) ) } export const output = [ diff --git a/packages/slate/test/interfaces/Editor/nodes/mode-lowest/block.tsx b/packages/slate/test/interfaces/Editor/nodes/mode-lowest/block.tsx index 7dddcfb102..16779cbce1 100644 --- a/packages/slate/test/interfaces/Editor/nodes/mode-lowest/block.tsx +++ b/packages/slate/test/interfaces/Editor/nodes/mode-lowest/block.tsx @@ -14,7 +14,7 @@ export const input = ( ) export const test = editor => { return Array.from( - Editor.nodes(editor, { at: [], match: n => n.a, mode: 'lowest' }) + Editor.nodes(editor, { at: [], match: n => n.a === true, mode: 'lowest' }) ) } export const output = [ diff --git a/packages/slate/test/interfaces/Editor/nodes/mode-universal/some-nested.tsx b/packages/slate/test/interfaces/Editor/nodes/mode-universal/some-nested.tsx index 2a3fe7fbb9..e7a9e1189e 100644 --- a/packages/slate/test/interfaces/Editor/nodes/mode-universal/some-nested.tsx +++ b/packages/slate/test/interfaces/Editor/nodes/mode-universal/some-nested.tsx @@ -16,7 +16,7 @@ export const test = editor => { return Array.from( Editor.nodes(editor, { at: [], - match: n => n.a, + match: n => n.a === true, mode: 'lowest', universal: true, }) diff --git a/packages/slate/test/interfaces/Editor/nodes/mode-universal/some.tsx b/packages/slate/test/interfaces/Editor/nodes/mode-universal/some.tsx index 1f3f7336be..8c9f6bd156 100644 --- a/packages/slate/test/interfaces/Editor/nodes/mode-universal/some.tsx +++ b/packages/slate/test/interfaces/Editor/nodes/mode-universal/some.tsx @@ -12,7 +12,7 @@ export const test = editor => { return Array.from( Editor.nodes(editor, { at: [], - match: n => n.a, + match: n => n.a === true, mode: 'lowest', universal: true, }) diff --git a/packages/slate/test/interfaces/Node/ancestor/success.tsx b/packages/slate/test/interfaces/Node/ancestor/success.tsx index b7b16831f3..bf1299cae5 100644 --- a/packages/slate/test/interfaces/Node/ancestor/success.tsx +++ b/packages/slate/test/interfaces/Node/ancestor/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' import { cloneDeep } from 'lodash' export const input = ( diff --git a/packages/slate/test/interfaces/Node/ancestors/reverse.tsx b/packages/slate/test/interfaces/Node/ancestors/reverse.tsx index cb047be0aa..fe383878fc 100644 --- a/packages/slate/test/interfaces/Node/ancestors/reverse.tsx +++ b/packages/slate/test/interfaces/Node/ancestors/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/ancestors/success.tsx b/packages/slate/test/interfaces/Node/ancestors/success.tsx index cca39b3fc0..97f701abe6 100644 --- a/packages/slate/test/interfaces/Node/ancestors/success.tsx +++ b/packages/slate/test/interfaces/Node/ancestors/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/child/success.tsx b/packages/slate/test/interfaces/Node/child/success.tsx index c490a651fa..f06ca1fedc 100644 --- a/packages/slate/test/interfaces/Node/child/success.tsx +++ b/packages/slate/test/interfaces/Node/child/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' import { cloneDeep } from 'lodash' export const input = ( diff --git a/packages/slate/test/interfaces/Node/children/all.tsx b/packages/slate/test/interfaces/Node/children/all.tsx index 30d273ed88..5b8e4e7185 100644 --- a/packages/slate/test/interfaces/Node/children/all.tsx +++ b/packages/slate/test/interfaces/Node/children/all.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/children/reverse.tsx b/packages/slate/test/interfaces/Node/children/reverse.tsx index b32766cf6a..e4041fe3a8 100644 --- a/packages/slate/test/interfaces/Node/children/reverse.tsx +++ b/packages/slate/test/interfaces/Node/children/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/descendant/success.tsx b/packages/slate/test/interfaces/Node/descendant/success.tsx index 869c551344..90c141e3ad 100644 --- a/packages/slate/test/interfaces/Node/descendant/success.tsx +++ b/packages/slate/test/interfaces/Node/descendant/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' import { cloneDeep } from 'lodash' export const input = ( diff --git a/packages/slate/test/interfaces/Node/descendants/all.tsx b/packages/slate/test/interfaces/Node/descendants/all.tsx index bd28c59771..85c280da28 100644 --- a/packages/slate/test/interfaces/Node/descendants/all.tsx +++ b/packages/slate/test/interfaces/Node/descendants/all.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/descendants/from.tsx b/packages/slate/test/interfaces/Node/descendants/from.tsx index 0e6fcb8add..ec0590b2ed 100644 --- a/packages/slate/test/interfaces/Node/descendants/from.tsx +++ b/packages/slate/test/interfaces/Node/descendants/from.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/descendants/reverse.tsx b/packages/slate/test/interfaces/Node/descendants/reverse.tsx index e7226a04e3..2ad4324b45 100644 --- a/packages/slate/test/interfaces/Node/descendants/reverse.tsx +++ b/packages/slate/test/interfaces/Node/descendants/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/descendants/to.tsx b/packages/slate/test/interfaces/Node/descendants/to.tsx index 1560b82bee..902b15ffde 100644 --- a/packages/slate/test/interfaces/Node/descendants/to.tsx +++ b/packages/slate/test/interfaces/Node/descendants/to.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/elements/all.tsx b/packages/slate/test/interfaces/Node/elements/all.tsx index 3a600a0562..ac143b6400 100644 --- a/packages/slate/test/interfaces/Node/elements/all.tsx +++ b/packages/slate/test/interfaces/Node/elements/all.tsx @@ -1,12 +1,22 @@ /** @jsx jsx */ -import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { Editor, Node } from 'slate' +import { jsx } from '../../..' export const input = ( - + + + + + + + + + + + ) @@ -14,11 +24,9 @@ export const test = value => { return Array.from(Node.elements(value)) } export const output = [ - [ - - - - , - [0], - ], + Editor.node(input, [0]), + Editor.node(input, [1]), + Editor.node(input, [1, 0]), + Editor.node(input, [1, 1]), + Editor.node(input, [2]), ] diff --git a/packages/slate/test/interfaces/Node/elements/from.tsx b/packages/slate/test/interfaces/Node/elements/from.tsx new file mode 100644 index 0000000000..ff4481cdfd --- /dev/null +++ b/packages/slate/test/interfaces/Node/elements/from.tsx @@ -0,0 +1,30 @@ +/** @jsx jsx */ +import { Editor, Node } from 'slate' +import { jsx } from 'slate-hyperscript' + +export const input = ( + + + + + + + + + + + + + + + + +) +export const test = value => { + return Array.from(Node.elements(value, { from: [1, 1] })) +} +export const output = [ + Editor.node(input, [1]), + Editor.node(input, [1, 1]), + Editor.node(input, [2]), +] diff --git a/packages/slate/test/interfaces/Node/elements/path.tsx b/packages/slate/test/interfaces/Node/elements/path.tsx deleted file mode 100644 index 213ee9f9d1..0000000000 --- a/packages/slate/test/interfaces/Node/elements/path.tsx +++ /dev/null @@ -1,24 +0,0 @@ -/** @jsx jsx */ -import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' - -export const input = ( - - - - - - -) -export const test = value => { - return Array.from(Node.elements(value, { path: [0, 1] })) -} -export const output = [ - [ - - - - , - [0], - ], -] diff --git a/packages/slate/test/interfaces/Node/elements/range.tsx b/packages/slate/test/interfaces/Node/elements/range.tsx deleted file mode 100644 index ca2173f50c..0000000000 --- a/packages/slate/test/interfaces/Node/elements/range.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/** @jsx jsx */ -import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' - -export const input = ( - - - - - - - - -) -export const test = value => { - return Array.from( - Node.elements(value, { - range: { - anchor: { - path: [0, 1], - offset: 0, - }, - focus: { - path: [0, 2], - offset: 0, - }, - }, - }) - ) -} -export const output = [ - [ - - - - - - , - [0], - ], -] diff --git a/packages/slate/test/interfaces/Node/elements/reverse.tsx b/packages/slate/test/interfaces/Node/elements/reverse.tsx index b0b66ac37e..984f608a74 100644 --- a/packages/slate/test/interfaces/Node/elements/reverse.tsx +++ b/packages/slate/test/interfaces/Node/elements/reverse.tsx @@ -1,12 +1,22 @@ /** @jsx jsx */ -import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { Editor, Node } from 'slate' +import { jsx } from '../../..' export const input = ( - + + + + + + + + + + + ) @@ -14,11 +24,9 @@ export const test = value => { return Array.from(Node.elements(value, { reverse: true })) } export const output = [ - [ - - - - , - [0], - ], + Editor.node(input, [2]), + Editor.node(input, [1]), + Editor.node(input, [1, 1]), + Editor.node(input, [1, 0]), + Editor.node(input, [0]), ] diff --git a/packages/slate/test/interfaces/Node/elements/to.tsx b/packages/slate/test/interfaces/Node/elements/to.tsx new file mode 100644 index 0000000000..888b806ae8 --- /dev/null +++ b/packages/slate/test/interfaces/Node/elements/to.tsx @@ -0,0 +1,30 @@ +/** @jsx jsx */ +import { Editor, Node } from 'slate' +import { jsx } from 'slate-hyperscript' + +export const input = ( + + + + + + + + + + + + + + + + +) +export const test = value => { + return Array.from(Node.elements(value, { to: [1, 0] })) +} +export const output = [ + Editor.node(input, [0]), + Editor.node(input, [1]), + Editor.node(input, [1, 0]), +] diff --git a/packages/slate/test/interfaces/Node/first/success.tsx b/packages/slate/test/interfaces/Node/first/success.tsx index 118bce1be6..f53117f4d9 100644 --- a/packages/slate/test/interfaces/Node/first/success.tsx +++ b/packages/slate/test/interfaces/Node/first/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/get/root.tsx b/packages/slate/test/interfaces/Node/get/root.tsx index 1842376d85..e66411379c 100644 --- a/packages/slate/test/interfaces/Node/get/root.tsx +++ b/packages/slate/test/interfaces/Node/get/root.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' import { cloneDeep } from 'lodash' export const input = ( diff --git a/packages/slate/test/interfaces/Node/get/success.tsx b/packages/slate/test/interfaces/Node/get/success.tsx index 35d44255d3..c3637570e5 100644 --- a/packages/slate/test/interfaces/Node/get/success.tsx +++ b/packages/slate/test/interfaces/Node/get/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/getIf/root.tsx b/packages/slate/test/interfaces/Node/getIf/root.tsx index e42fe02fc2..e312cb1515 100644 --- a/packages/slate/test/interfaces/Node/getIf/root.tsx +++ b/packages/slate/test/interfaces/Node/getIf/root.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' import { cloneDeep } from 'lodash' export const input = ( diff --git a/packages/slate/test/interfaces/Node/getIf/success.tsx b/packages/slate/test/interfaces/Node/getIf/success.tsx index 49879127a3..9a77068e5d 100644 --- a/packages/slate/test/interfaces/Node/getIf/success.tsx +++ b/packages/slate/test/interfaces/Node/getIf/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/getIf/undefined.tsx b/packages/slate/test/interfaces/Node/getIf/undefined.tsx index c4c41331f9..52924e19c4 100644 --- a/packages/slate/test/interfaces/Node/getIf/undefined.tsx +++ b/packages/slate/test/interfaces/Node/getIf/undefined.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/leaf/success.tsx b/packages/slate/test/interfaces/Node/leaf/success.tsx index 60bfbd05a3..fcda387d85 100644 --- a/packages/slate/test/interfaces/Node/leaf/success.tsx +++ b/packages/slate/test/interfaces/Node/leaf/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/levels/reverse.tsx b/packages/slate/test/interfaces/Node/levels/reverse.tsx index 1048f47c14..3aca8540bd 100644 --- a/packages/slate/test/interfaces/Node/levels/reverse.tsx +++ b/packages/slate/test/interfaces/Node/levels/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/levels/success.tsx b/packages/slate/test/interfaces/Node/levels/success.tsx index 9218a500a9..450b4c7118 100644 --- a/packages/slate/test/interfaces/Node/levels/success.tsx +++ b/packages/slate/test/interfaces/Node/levels/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/nodes/all.tsx b/packages/slate/test/interfaces/Node/nodes/all.tsx index 0a5fa7d115..cf0e6a2ee4 100644 --- a/packages/slate/test/interfaces/Node/nodes/all.tsx +++ b/packages/slate/test/interfaces/Node/nodes/all.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/nodes/multiple-elements.tsx b/packages/slate/test/interfaces/Node/nodes/multiple-elements.tsx index 6473be1e94..6eae786796 100644 --- a/packages/slate/test/interfaces/Node/nodes/multiple-elements.tsx +++ b/packages/slate/test/interfaces/Node/nodes/multiple-elements.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/nodes/nested-elements.tsx b/packages/slate/test/interfaces/Node/nodes/nested-elements.tsx index fb9a271f1f..e62306701c 100644 --- a/packages/slate/test/interfaces/Node/nodes/nested-elements.tsx +++ b/packages/slate/test/interfaces/Node/nodes/nested-elements.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/nodes/pass.tsx b/packages/slate/test/interfaces/Node/nodes/pass.tsx index 71f420c3e8..3679cce5bb 100644 --- a/packages/slate/test/interfaces/Node/nodes/pass.tsx +++ b/packages/slate/test/interfaces/Node/nodes/pass.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/nodes/to.tsx b/packages/slate/test/interfaces/Node/nodes/to.tsx index 5120bdcfdc..991af20994 100644 --- a/packages/slate/test/interfaces/Node/nodes/to.tsx +++ b/packages/slate/test/interfaces/Node/nodes/to.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/parent/success.tsx b/packages/slate/test/interfaces/Node/parent/success.tsx index f4f744b94a..0a52c63881 100644 --- a/packages/slate/test/interfaces/Node/parent/success.tsx +++ b/packages/slate/test/interfaces/Node/parent/success.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/string/across-elements.tsx b/packages/slate/test/interfaces/Node/string/across-elements.tsx index 1975291539..344d25dd16 100644 --- a/packages/slate/test/interfaces/Node/string/across-elements.tsx +++ b/packages/slate/test/interfaces/Node/string/across-elements.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/string/element.tsx b/packages/slate/test/interfaces/Node/string/element.tsx index 382726096a..b0f6727781 100644 --- a/packages/slate/test/interfaces/Node/string/element.tsx +++ b/packages/slate/test/interfaces/Node/string/element.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( @@ -9,6 +9,6 @@ export const input = ( ) export const test = value => { - return Node.string(value, [1]) + return Node.string(value) } export const output = `onetwo` diff --git a/packages/slate/test/interfaces/Node/string/text.tsx b/packages/slate/test/interfaces/Node/string/text.tsx index 0c8d0af51d..6de80c3be5 100644 --- a/packages/slate/test/interfaces/Node/string/text.tsx +++ b/packages/slate/test/interfaces/Node/string/text.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = one export const test = value => { diff --git a/packages/slate/test/interfaces/Node/texts/all.tsx b/packages/slate/test/interfaces/Node/texts/all.tsx index 5195d0817d..422e9373ff 100644 --- a/packages/slate/test/interfaces/Node/texts/all.tsx +++ b/packages/slate/test/interfaces/Node/texts/all.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/texts/from.tsx b/packages/slate/test/interfaces/Node/texts/from.tsx index 14337d70be..698a702e07 100644 --- a/packages/slate/test/interfaces/Node/texts/from.tsx +++ b/packages/slate/test/interfaces/Node/texts/from.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/texts/multiple-elements.tsx b/packages/slate/test/interfaces/Node/texts/multiple-elements.tsx index c77068df62..708a746546 100644 --- a/packages/slate/test/interfaces/Node/texts/multiple-elements.tsx +++ b/packages/slate/test/interfaces/Node/texts/multiple-elements.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/texts/reverse.tsx b/packages/slate/test/interfaces/Node/texts/reverse.tsx index 927f80539c..d62754bf62 100644 --- a/packages/slate/test/interfaces/Node/texts/reverse.tsx +++ b/packages/slate/test/interfaces/Node/texts/reverse.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Node/texts/to.tsx b/packages/slate/test/interfaces/Node/texts/to.tsx index 85d76c036d..747f0fd3b2 100644 --- a/packages/slate/test/interfaces/Node/texts/to.tsx +++ b/packages/slate/test/interfaces/Node/texts/to.tsx @@ -1,6 +1,6 @@ /** @jsx jsx */ import { Node } from 'slate' -import { jsx } from 'slate-hyperscript' +import { jsx } from '../../..' export const input = ( diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ancestor.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ancestor.tsx index 82cf48483c..c423298d29 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ancestor.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ancestor.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [4], newPath: [3], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ends-after.tsx index 23f069580b..a396a78e47 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-after-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [4], newPath: [2], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ancestor.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ancestor.tsx index fdbfc5ba23..8ab264ee22 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ancestor.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ancestor.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [2], newPath: [3], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ends-after.tsx index 854f30e4ba..7f94b5c3bf 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-sibling-ends-before-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [2], newPath: [4], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-after.tsx index 8c89def264..7c59bd1548 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3], newPath: [5, 1], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-before.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-before.tsx index 5efbfd8963..9bc5e145cf 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-before.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ancestor-to-ends-before.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3], newPath: [2, 5], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ends-after-to-no-relation.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ends-after-to-no-relation.tsx index 7f2040f01c..4354cc6c85 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ends-after-to-no-relation.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ends-after-to-no-relation.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 4], newPath: [3, 0, 0], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/ends-before-to-no-relation.tsx b/packages/slate/test/interfaces/Path/transform/move_node/ends-before-to-no-relation.tsx index 3b8fff6b79..0aba079306 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/ends-before-to-no-relation.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/ends-before-to-no-relation.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 2], newPath: [3, 0, 0], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-after.tsx index d56069e25b..6074b76b19 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 3], newPath: [3, 5, 0], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-before.tsx b/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-before.tsx index 09c8de367f..f151bfe261 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-before.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/equal-to-ends-before.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 3], newPath: [3, 1, 0], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-after.tsx index 703bd697cb..7151e47300 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 0, 0], newPath: [3, 4], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-before.tsx b/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-before.tsx index 97625ebd5e..b833c21feb 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-before.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/no-relation-to-ends-before.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 0, 0], newPath: [3, 2], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-after.tsx index 60b633f304..4d80d327b0 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 3], newPath: [5, 1], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-before.tsx b/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-before.tsx index 2f700ea81d..1ce0c5a8fe 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-before.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/parent-to-ends-before.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [3, 3, 3] const op = { - type: 'move_node', + type: 'move_node' as const, path: [3, 3], newPath: [2, 1], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-ends-equal.tsx b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-ends-equal.tsx index bb164160cb..c46c37fe8b 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-ends-equal.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-ends-equal.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [0, 1] const op = { - type: 'move_node', + type: 'move_node' as const, path: [0, 3], newPath: [0, 1], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-sibling-ends-before.tsx b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-sibling-ends-before.tsx index 8904cb7866..01a7ee305f 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-sibling-ends-before.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-after-to-sibling-ends-before.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [0, 1] const op = { - type: 'move_node', + type: 'move_node' as const, path: [0, 3], newPath: [0, 0], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-ends-equal.tsx b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-ends-equal.tsx index 5bf3c7b29a..dbdc423b41 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-ends-equal.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-ends-equal.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [0, 1] const op = { - type: 'move_node', + type: 'move_node' as const, path: [0, 0], newPath: [0, 1], } diff --git a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-sibling-ends-after.tsx b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-sibling-ends-after.tsx index 4c85959583..986e17d26b 100644 --- a/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-sibling-ends-after.tsx +++ b/packages/slate/test/interfaces/Path/transform/move_node/sibling-ends-before-to-sibling-ends-after.tsx @@ -2,7 +2,7 @@ import { Path } from 'slate' const path = [0, 1] const op = { - type: 'move_node', + type: 'move_node' as const, path: [0, 0], newPath: [0, 3], } diff --git a/packages/slate/test/interfaces/Point/transform/backward-insert-text-after-point.tsx b/packages/slate/test/interfaces/Point/transform/backward-insert-text-after-point.tsx index 586d6f92e1..e9c6162e43 100644 --- a/packages/slate/test/interfaces/Point/transform/backward-insert-text-after-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/backward-insert-text-after-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 1, - properties: {}, }, { affinity: 'backward' } ) diff --git a/packages/slate/test/interfaces/Point/transform/backward-insert-text-at-point.tsx b/packages/slate/test/interfaces/Point/transform/backward-insert-text-at-point.tsx index 24049b6882..365933abe5 100644 --- a/packages/slate/test/interfaces/Point/transform/backward-insert-text-at-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/backward-insert-text-at-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 1, - properties: {}, }, { affinity: 'backward' } ) diff --git a/packages/slate/test/interfaces/Point/transform/backward-insert-text-before-point.tsx b/packages/slate/test/interfaces/Point/transform/backward-insert-text-before-point.tsx index 7f4f579464..c3e9740a9d 100644 --- a/packages/slate/test/interfaces/Point/transform/backward-insert-text-before-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/backward-insert-text-before-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 0, - properties: {}, }, { affinity: 'backward' } ) diff --git a/packages/slate/test/interfaces/Point/transform/forward-insert-text-after-point.tsx b/packages/slate/test/interfaces/Point/transform/forward-insert-text-after-point.tsx index 4544cd64a2..37e92f5797 100644 --- a/packages/slate/test/interfaces/Point/transform/forward-insert-text-after-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/forward-insert-text-after-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 1, - properties: {}, }, { affinity: 'forward' } ) diff --git a/packages/slate/test/interfaces/Point/transform/forward-insert-text-at-point.tsx b/packages/slate/test/interfaces/Point/transform/forward-insert-text-at-point.tsx index f3ef4e02b4..7b8ae3b49b 100644 --- a/packages/slate/test/interfaces/Point/transform/forward-insert-text-at-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/forward-insert-text-at-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 1, - properties: {}, }, { affinity: 'forward' } ) diff --git a/packages/slate/test/interfaces/Point/transform/forward-insert-text-before-point.tsx b/packages/slate/test/interfaces/Point/transform/forward-insert-text-before-point.tsx index d28e9a3334..b74717ef3e 100644 --- a/packages/slate/test/interfaces/Point/transform/forward-insert-text-before-point.tsx +++ b/packages/slate/test/interfaces/Point/transform/forward-insert-text-before-point.tsx @@ -13,7 +13,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 0, - properties: {}, }, { affinity: 'forward' } ) diff --git a/packages/slate/test/interfaces/Range/transform/outward-collapsed.tsx b/packages/slate/test/interfaces/Range/transform/outward-collapsed.tsx index 71b346cbc0..9f1ccf0e52 100644 --- a/packages/slate/test/interfaces/Range/transform/outward-collapsed.tsx +++ b/packages/slate/test/interfaces/Range/transform/outward-collapsed.tsx @@ -22,7 +22,6 @@ export const test = value => { path: [0, 0], text: 'a', offset: 1, - properties: {}, }, { affinity: 'outward' } ) diff --git a/packages/slate/test/jsx.d.ts b/packages/slate/test/jsx.d.ts deleted file mode 100644 index de69552d4c..0000000000 --- a/packages/slate/test/jsx.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This allows tests to include Slate Nodes written in JSX without TypeScript complaining. -declare namespace jsx.JSX { - interface IntrinsicElements { - [elemName: string]: any // eslint-disable-line - } -} diff --git a/packages/slate/test/operations/move_node/path-equals-new-path.tsx b/packages/slate/test/operations/move_node/path-equals-new-path.tsx index 6c85a2be92..bbad5bee79 100644 --- a/packages/slate/test/operations/move_node/path-equals-new-path.tsx +++ b/packages/slate/test/operations/move_node/path-equals-new-path.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/move_node/path-not-equals-new-path.tsx b/packages/slate/test/operations/move_node/path-not-equals-new-path.tsx index 00fbc6569c..9755ec59e8 100755 --- a/packages/slate/test/operations/move_node/path-not-equals-new-path.tsx +++ b/packages/slate/test/operations/move_node/path-not-equals-new-path.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_node/cursor-nested.tsx b/packages/slate/test/operations/remove_node/cursor-nested.tsx index 123e804ca3..6f9bed5778 100644 --- a/packages/slate/test/operations/remove_node/cursor-nested.tsx +++ b/packages/slate/test/operations/remove_node/cursor-nested.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_node/cursor-sibling-text-after.tsx b/packages/slate/test/operations/remove_node/cursor-sibling-text-after.tsx index 87456b1f90..24905926d0 100644 --- a/packages/slate/test/operations/remove_node/cursor-sibling-text-after.tsx +++ b/packages/slate/test/operations/remove_node/cursor-sibling-text-after.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_node/cursor-sibling-text-before.tsx b/packages/slate/test/operations/remove_node/cursor-sibling-text-before.tsx index 69e5111a61..1ff3130ca0 100644 --- a/packages/slate/test/operations/remove_node/cursor-sibling-text-before.tsx +++ b/packages/slate/test/operations/remove_node/cursor-sibling-text-before.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_node/cursor-sibling-text-both-sides.tsx b/packages/slate/test/operations/remove_node/cursor-sibling-text-both-sides.tsx index 930e3ce890..8bebae649f 100644 --- a/packages/slate/test/operations/remove_node/cursor-sibling-text-both-sides.tsx +++ b/packages/slate/test/operations/remove_node/cursor-sibling-text-both-sides.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_node/cursor.tsx b/packages/slate/test/operations/remove_node/cursor.tsx index f97aa7e14d..95ca53971e 100644 --- a/packages/slate/test/operations/remove_node/cursor.tsx +++ b/packages/slate/test/operations/remove_node/cursor.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/anchor-after.tsx b/packages/slate/test/operations/remove_text/anchor-after.tsx index 8ec8468c8a..f40eacc340 100644 --- a/packages/slate/test/operations/remove_text/anchor-after.tsx +++ b/packages/slate/test/operations/remove_text/anchor-after.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/anchor-before.tsx b/packages/slate/test/operations/remove_text/anchor-before.tsx index 3e90a26946..de54517177 100644 --- a/packages/slate/test/operations/remove_text/anchor-before.tsx +++ b/packages/slate/test/operations/remove_text/anchor-before.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/anchor-middle.tsx b/packages/slate/test/operations/remove_text/anchor-middle.tsx index 2f6df6b6cb..3f02da9388 100644 --- a/packages/slate/test/operations/remove_text/anchor-middle.tsx +++ b/packages/slate/test/operations/remove_text/anchor-middle.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/cursor-after.tsx b/packages/slate/test/operations/remove_text/cursor-after.tsx index d58555c2f0..8ca6dfc993 100644 --- a/packages/slate/test/operations/remove_text/cursor-after.tsx +++ b/packages/slate/test/operations/remove_text/cursor-after.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/cursor-before.tsx b/packages/slate/test/operations/remove_text/cursor-before.tsx index a11c462c50..b62f814f51 100644 --- a/packages/slate/test/operations/remove_text/cursor-before.tsx +++ b/packages/slate/test/operations/remove_text/cursor-before.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/cursor-middle.tsx b/packages/slate/test/operations/remove_text/cursor-middle.tsx index 2d38f6d8e4..8c5bdf967b 100644 --- a/packages/slate/test/operations/remove_text/cursor-middle.tsx +++ b/packages/slate/test/operations/remove_text/cursor-middle.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/focus-after.tsx b/packages/slate/test/operations/remove_text/focus-after.tsx index 1dde4b25ab..62234f1a4c 100644 --- a/packages/slate/test/operations/remove_text/focus-after.tsx +++ b/packages/slate/test/operations/remove_text/focus-after.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/focus-before.tsx b/packages/slate/test/operations/remove_text/focus-before.tsx index a5d18a1a8a..e7eb36b293 100644 --- a/packages/slate/test/operations/remove_text/focus-before.tsx +++ b/packages/slate/test/operations/remove_text/focus-before.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/remove_text/focus-middle.tsx b/packages/slate/test/operations/remove_text/focus-middle.tsx index 067cfd1581..8fc332736e 100644 --- a/packages/slate/test/operations/remove_text/focus-middle.tsx +++ b/packages/slate/test/operations/remove_text/focus-middle.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' export const input = ( diff --git a/packages/slate/test/operations/set_node/remove-null.tsx b/packages/slate/test/operations/set_node/remove-null.tsx index 794e03bae6..1b31baba6e 100644 --- a/packages/slate/test/operations/set_node/remove-null.tsx +++ b/packages/slate/test/operations/set_node/remove-null.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' import { Transforms, Editor } from 'slate' export const input = ( diff --git a/packages/slate/test/operations/set_node/remove-omit.tsx b/packages/slate/test/operations/set_node/remove-omit.tsx index 58f3e35741..e4417df9c2 100644 --- a/packages/slate/test/operations/set_node/remove-omit.tsx +++ b/packages/slate/test/operations/set_node/remove-omit.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' import { Transforms, Editor } from 'slate' export const input = ( diff --git a/packages/slate/test/operations/set_node/remove-undefined.tsx b/packages/slate/test/operations/set_node/remove-undefined.tsx index 3be79aa09e..49a9c6ddda 100644 --- a/packages/slate/test/operations/set_node/remove-undefined.tsx +++ b/packages/slate/test/operations/set_node/remove-undefined.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' import { Transforms, Editor } from 'slate' export const input = ( diff --git a/packages/slate/test/operations/set_selection/custom-props.tsx b/packages/slate/test/operations/set_selection/custom-props.tsx index eba804c359..d708c604d2 100644 --- a/packages/slate/test/operations/set_selection/custom-props.tsx +++ b/packages/slate/test/operations/set_selection/custom-props.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' import { Transforms, Editor } from 'slate' export const input = ( diff --git a/packages/slate/test/operations/set_selection/remove.tsx b/packages/slate/test/operations/set_selection/remove.tsx index f0b65d06c1..764b5fef34 100644 --- a/packages/slate/test/operations/set_selection/remove.tsx +++ b/packages/slate/test/operations/set_selection/remove.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { jsx } from 'slate-hyperscript' +import { jsx } from '../..' import { Transforms, Editor } from 'slate' export const input = ( diff --git a/packages/slate/test/transforms/insertNodes/voids-true/block.tsx b/packages/slate/test/transforms/insertNodes/voids-true/block.tsx index 2e41be4ec9..3867df0059 100644 --- a/packages/slate/test/transforms/insertNodes/voids-true/block.tsx +++ b/packages/slate/test/transforms/insertNodes/voids-true/block.tsx @@ -14,7 +14,7 @@ export const run = (editor, options = {}) => { Transforms.insertNodes(editor, two, { at: [0, 1], voids: true, - options, + ...options, }) } export const output = ( diff --git a/packages/slate/test/transforms/insertNodes/voids-true/inline.tsx b/packages/slate/test/transforms/insertNodes/voids-true/inline.tsx index 7792d52a1b..6462f992a7 100644 --- a/packages/slate/test/transforms/insertNodes/voids-true/inline.tsx +++ b/packages/slate/test/transforms/insertNodes/voids-true/inline.tsx @@ -18,7 +18,7 @@ export const run = (editor, options = {}) => { Transforms.insertNodes(editor, four, { at: [0, 1, 1], voids: true, - options, + ...options, }) } export const output = ( diff --git a/packages/slate/test/transforms/liftNodes/selection/block-nested.tsx b/packages/slate/test/transforms/liftNodes/selection/block-nested.tsx index 7c15b96606..9044a013b7 100644 --- a/packages/slate/test/transforms/liftNodes/selection/block-nested.tsx +++ b/packages/slate/test/transforms/liftNodes/selection/block-nested.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.liftNodes(editor, { match: n => n.c }) + Transforms.liftNodes(editor, { match: n => n.c === true }) } export const input = ( diff --git a/packages/slate/test/transforms/mergeNodes/path/block-nested.tsx b/packages/slate/test/transforms/mergeNodes/path/block-nested.tsx index c15afeae41..304eb4c4b8 100644 --- a/packages/slate/test/transforms/mergeNodes/path/block-nested.tsx +++ b/packages/slate/test/transforms/mergeNodes/path/block-nested.tsx @@ -15,7 +15,6 @@ export const input = ( export const run = editor => { Transforms.mergeNodes(editor, { at: [1], - withMatch: ([, p]) => p.length === 1, }) } export const output = ( diff --git a/packages/slate/test/transforms/mergeNodes/path/text-hanging-nested.tsx b/packages/slate/test/transforms/mergeNodes/path/text-hanging-nested.tsx index c9a2885906..abef02baa4 100644 --- a/packages/slate/test/transforms/mergeNodes/path/text-hanging-nested.tsx +++ b/packages/slate/test/transforms/mergeNodes/path/text-hanging-nested.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { Transforms, Text } from 'slate' +import { Transforms } from 'slate' import { jsx } from '../../..' export const input = ( @@ -8,20 +8,25 @@ export const input = ( - + two ) export const run = editor => { - Transforms.mergeNodes(editor, { at: [1, 0, 1], match: Text.isText }) + // Disable normalizing, since otherwise this test passes due to it + editor.normalizeNode = () => {} + Transforms.mergeNodes(editor, { at: [1, 0, 1] }) } export const output = ( one - + + + two + diff --git a/packages/slate/test/transforms/mergeNodes/path/text-hanging.tsx b/packages/slate/test/transforms/mergeNodes/path/text-hanging.tsx index 0ffd85d243..96fbb3b1be 100644 --- a/packages/slate/test/transforms/mergeNodes/path/text-hanging.tsx +++ b/packages/slate/test/transforms/mergeNodes/path/text-hanging.tsx @@ -1,5 +1,5 @@ /** @jsx jsx */ -import { Transforms, Text } from 'slate' +import { Transforms } from 'slate' import { jsx } from '../../..' export const input = ( @@ -12,7 +12,9 @@ export const input = ( ) export const run = editor => { - Transforms.mergeNodes(editor, { at: [1, 1], match: Text.isText }) + // Disable normalizing, since otherwise this test passes due to it + editor.normalizeNode = () => {} + Transforms.mergeNodes(editor, { at: [1, 1] }) } export const output = ( diff --git a/packages/slate/test/transforms/setNodes/merge/text.tsx b/packages/slate/test/transforms/setNodes/merge/text.tsx index 6fc5c1937a..5116f52be1 100644 --- a/packages/slate/test/transforms/setNodes/merge/text.tsx +++ b/packages/slate/test/transforms/setNodes/merge/text.tsx @@ -6,21 +6,21 @@ import _ from 'lodash' export const run = editor => { Transforms.setNodes( editor, - { a: { b: 2, c: 3 } }, + { data: { b: 2, c: 3 } }, { at: [0, 0], match: Text.isText, merge: (n, p) => _.defaultsDeep(p, n) } ) } export const input = ( - word + word ) export const output = ( - word + word ) diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-across.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-across.tsx index befa51da8d..06e6282b10 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-across.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-across.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-end.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-end.tsx index 3498d45bdb..0c076ba4aa 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-end.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-end.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-inline.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-inline.tsx index 06ad7cd1af..8cce66f3b1 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-inline.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-inline.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-middle.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-middle.tsx index 8574ce3565..109c54e9eb 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-middle.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-middle.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-nested.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-nested.tsx index a6d3a2c8e6..e4dd062a64 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-nested.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-nested.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block-start.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block-start.tsx index 2cab82a055..09aa2d7328 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block-start.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block-start.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-block/block.tsx b/packages/slate/test/transforms/unwrapNodes/match-block/block.tsx index 8d2730ac26..5e85372847 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-block/block.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-block/block.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-inline/block-nested.tsx b/packages/slate/test/transforms/unwrapNodes/match-inline/block-nested.tsx index 49880a4729..0af61887fc 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-inline/block-nested.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-inline/block-nested.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-inline/inline-across.tsx b/packages/slate/test/transforms/unwrapNodes/match-inline/inline-across.tsx index b29f0ea390..7560d4070b 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-inline/inline-across.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-inline/inline-across.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-inline/inline-over.tsx b/packages/slate/test/transforms/unwrapNodes/match-inline/inline-over.tsx index 08144a2373..e3f0665367 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-inline/inline-over.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-inline/inline-over.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/match-inline/inline.tsx b/packages/slate/test/transforms/unwrapNodes/match-inline/inline.tsx index 2abad107dc..45296da25b 100644 --- a/packages/slate/test/transforms/unwrapNodes/match-inline/inline.tsx +++ b/packages/slate/test/transforms/unwrapNodes/match-inline/inline.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a }) + Transforms.unwrapNodes(editor, { match: n => n.a === true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-ancestors.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-ancestors.tsx index b2d3f41a65..f16b39c871 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-ancestors.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-ancestors.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all' }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, mode: 'all' }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings-and-parent.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings-and-parent.tsx index cc92859cfa..0ccec65a66 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings-and-parent.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings-and-parent.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all' }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, mode: 'all' }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings.tsx index f7c182a14e..72d13e2090 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-siblings.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all' }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, mode: 'all' }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent-split.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent-split.tsx index f4502a097d..acf2324a1b 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent-split.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent-split.tsx @@ -3,7 +3,11 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all', split: true }) + Transforms.unwrapNodes(editor, { + match: n => n.a === true, + mode: 'all', + split: true, + }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent.tsx index 8500e69fd3..7b2012807f 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings-and-parent.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all' }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, mode: 'all' }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings.tsx b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings.tsx index ec28d9ea53..9f2bcb5ea0 100644 --- a/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings.tsx +++ b/packages/slate/test/transforms/unwrapNodes/mode-all/match-some-siblings.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, mode: 'all' }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, mode: 'all' }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block-all.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block-all.tsx index a32dd202cb..cf22096364 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block-all.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block-all.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block-end.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block-end.tsx index e1e81b39e5..6de20efc16 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block-end.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block-end.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block-middle.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block-middle.tsx index 028d68112f..0039c30ceb 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block-middle.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block-middle.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block-nested.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block-nested.tsx index 4f97de30fc..5950c157ea 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block-nested.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block-nested.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block-start.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block-start.tsx index ab9147f915..90a7347b80 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block-start.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block-start.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/unwrapNodes/split-block/block.tsx b/packages/slate/test/transforms/unwrapNodes/split-block/block.tsx index 7ca38f5b77..b4effda33e 100644 --- a/packages/slate/test/transforms/unwrapNodes/split-block/block.tsx +++ b/packages/slate/test/transforms/unwrapNodes/split-block/block.tsx @@ -3,7 +3,7 @@ import { Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { - Transforms.unwrapNodes(editor, { match: n => n.a, split: true }) + Transforms.unwrapNodes(editor, { match: n => n.a === true, split: true }) } export const input = ( diff --git a/packages/slate/test/transforms/wrapNodes/block/omit-all.tsx b/packages/slate/test/transforms/wrapNodes/block/omit-all.tsx index 1892251f6d..ba4516c193 100644 --- a/packages/slate/test/transforms/wrapNodes/block/omit-all.tsx +++ b/packages/slate/test/transforms/wrapNodes/block/omit-all.tsx @@ -1,14 +1,14 @@ /** @jsx jsx */ -import { Editor, Node, Text, Transforms } from 'slate' +import { Node, Transforms } from 'slate' import { jsx } from '../../..' export const run = editor => { Transforms.wrapNodes(editor, , { match: (node, currentPath) => { - // reject all nodes inside blocks tagged `noneditable`. Which is everything. - if (node.noneditable) return false + // reject all nodes inside blocks tagged `x`. Which is everything. + if (node.x) return false for (const [node, _] of Node.ancestors(editor, currentPath)) { - if (node.noneditable) return false + if (node.x) return false } return true }, @@ -16,7 +16,7 @@ export const run = editor => { } export const input = ( - + word @@ -24,7 +24,7 @@ export const input = ( ) export const output = ( - + word diff --git a/packages/slate/test/tsconfig.json b/packages/slate/test/tsconfig.json new file mode 100644 index 0000000000..3e5690b6bb --- /dev/null +++ b/packages/slate/test/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../../../config/typescript/tsconfig.test.json", + "include": ["./**/*", "../../../support/*"], + "exclude": ["./interfaces/CustomTypes/**/*"], + "references": [{ "path": "../" }] +} diff --git a/packages/slate/test/utils/deep-equal/deep-equals-with-array.js b/packages/slate/test/utils/deep-equal/deep-equals-with-array.ts similarity index 84% rename from packages/slate/test/utils/deep-equal/deep-equals-with-array.js rename to packages/slate/test/utils/deep-equal/deep-equals-with-array.ts index 346bd0d4c0..5e9a8707e7 100644 --- a/packages/slate/test/utils/deep-equal/deep-equals-with-array.js +++ b/packages/slate/test/utils/deep-equal/deep-equals-with-array.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/deep-equals.js b/packages/slate/test/utils/deep-equal/deep-equals.ts similarity index 85% rename from packages/slate/test/utils/deep-equal/deep-equals.js rename to packages/slate/test/utils/deep-equal/deep-equals.ts index 2caec02e7b..5e787ba4d9 100644 --- a/packages/slate/test/utils/deep-equal/deep-equals.js +++ b/packages/slate/test/utils/deep-equal/deep-equals.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.js b/packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.ts similarity index 88% rename from packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.js rename to packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.ts index ccc56a1096..4a8317309d 100644 --- a/packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.js +++ b/packages/slate/test/utils/deep-equal/deep-not-equal-multiple-objects.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.js b/packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.ts similarity index 87% rename from packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.js rename to packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.ts index b5a26d47d8..44ac473f77 100644 --- a/packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.js +++ b/packages/slate/test/utils/deep-equal/deep-not-equal-nested-undefined.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/deep-not-equal.js b/packages/slate/test/utils/deep-equal/deep-not-equal.ts similarity index 85% rename from packages/slate/test/utils/deep-equal/deep-not-equal.js rename to packages/slate/test/utils/deep-equal/deep-not-equal.ts index e4b8c65cb0..200ddc0981 100644 --- a/packages/slate/test/utils/deep-equal/deep-not-equal.js +++ b/packages/slate/test/utils/deep-equal/deep-not-equal.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/deep-not-equals-with-array.js b/packages/slate/test/utils/deep-equal/deep-not-equals-with-array.ts similarity index 84% rename from packages/slate/test/utils/deep-equal/deep-not-equals-with-array.js rename to packages/slate/test/utils/deep-equal/deep-not-equals-with-array.ts index 9015d0084e..8172d34d51 100644 --- a/packages/slate/test/utils/deep-equal/deep-not-equals-with-array.js +++ b/packages/slate/test/utils/deep-equal/deep-not-equals-with-array.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { diff --git a/packages/slate/test/utils/deep-equal/simple-equals.js b/packages/slate/test/utils/deep-equal/simple-equals.ts similarity index 79% rename from packages/slate/test/utils/deep-equal/simple-equals.js rename to packages/slate/test/utils/deep-equal/simple-equals.ts index 8b30b06398..f1530ade8e 100644 --- a/packages/slate/test/utils/deep-equal/simple-equals.js +++ b/packages/slate/test/utils/deep-equal/simple-equals.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { text: 'same text', bold: true }, diff --git a/packages/slate/test/utils/deep-equal/simple-not-equal.js b/packages/slate/test/utils/deep-equal/simple-not-equal.ts similarity index 80% rename from packages/slate/test/utils/deep-equal/simple-not-equal.js rename to packages/slate/test/utils/deep-equal/simple-not-equal.ts index 7f959dc922..72684e1278 100644 --- a/packages/slate/test/utils/deep-equal/simple-not-equal.js +++ b/packages/slate/test/utils/deep-equal/simple-not-equal.ts @@ -1,4 +1,4 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { text: 'same text', bold: true }, diff --git a/packages/slate/test/utils/deep-equal/undefined-key-equal-forward.js b/packages/slate/test/utils/deep-equal/undefined-key-equal-backward.ts similarity index 80% rename from packages/slate/test/utils/deep-equal/undefined-key-equal-forward.js rename to packages/slate/test/utils/deep-equal/undefined-key-equal-backward.ts index 86b8ba79fd..65ef4d0469 100644 --- a/packages/slate/test/utils/deep-equal/undefined-key-equal-forward.js +++ b/packages/slate/test/utils/deep-equal/undefined-key-equal-backward.ts @@ -1,12 +1,12 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { text: 'same text', - bold: undefined, }, objectB: { text: 'same text', + bold: undefined, }, } diff --git a/packages/slate/test/utils/deep-equal/undefined-key-equal-backward.js b/packages/slate/test/utils/deep-equal/undefined-key-equal-forward.ts similarity index 80% rename from packages/slate/test/utils/deep-equal/undefined-key-equal-backward.js rename to packages/slate/test/utils/deep-equal/undefined-key-equal-forward.ts index 43c0775fdc..2044639f14 100644 --- a/packages/slate/test/utils/deep-equal/undefined-key-equal-backward.js +++ b/packages/slate/test/utils/deep-equal/undefined-key-equal-forward.ts @@ -1,12 +1,12 @@ -import { isDeepEqual } from '../../../src/utils/deep-equal' +import { isDeepEqual } from 'slate/src/utils/deep-equal' export const input = { objectA: { text: 'same text', + bold: undefined, }, objectB: { text: 'same text', - bold: undefined, }, } diff --git a/packages/slate/test/utils/string.ts b/packages/slate/test/utils/string.ts index 8f712b1c48..ef8d73902e 100644 --- a/packages/slate/test/utils/string.ts +++ b/packages/slate/test/utils/string.ts @@ -3,7 +3,7 @@ import { codepointsIteratorRTL, getCharacterDistance, getWordDistance, -} from '../../src/utils/string' +} from 'slate/src/utils/string' const codepoints = [ ['a', 1], diff --git a/support/fixtures.js b/support/fixtures.js deleted file mode 100644 index 890e6fbcfa..0000000000 --- a/support/fixtures.js +++ /dev/null @@ -1,58 +0,0 @@ -import fs from 'fs' -import { basename, extname, resolve } from 'path' - -export const fixtures = (...args) => { - let fn = args.pop() - let options = { skip: false } - - if (typeof fn !== 'function') { - options = fn - fn = args.pop() - } - - const path = resolve(...args) - const files = fs.readdirSync(path) - const dir = basename(path) - const d = options.skip ? describe.skip : describe - - d(dir, () => { - for (const file of files) { - const p = resolve(path, file) - const stat = fs.statSync(p) - - if (stat.isDirectory()) { - fixtures(path, file, fn) - } - if ( - stat.isFile() && - (file.endsWith('.js') || - file.endsWith('.tsx') || - file.endsWith('.ts')) && - !file.endsWith('custom-types.ts') && - !file.endsWith('type-guards.ts') && - !file.startsWith('.') && - // Ignoring `index.js` files allows us to use the fixtures directly - // from the top-level directory itself, instead of only children. - file !== 'index.js' - ) { - const name = basename(file, extname(file)) - - // This needs to be a non-arrow function to use `this.skip()`. - it(`${name} `, function () { - const module = require(p) - - if (module.skip) { - this.skip() - return - } - - fn({ name, path, module }) - }) - } - } - }) -} - -fixtures.skip = (...args) => { - fixtures(...args, { skip: true }) -} diff --git a/support/fixtures.ts b/support/fixtures.ts new file mode 100644 index 0000000000..150dadefb7 --- /dev/null +++ b/support/fixtures.ts @@ -0,0 +1,75 @@ +import fs from 'fs' +import { basename, extname, resolve } from 'path' + +type fixtureFunction = (options: { + name: string + path: string + module: T +}) => void + +interface fixtureOptions { + skip?: boolean +} + +type fixtureArguments = + | [...paths: string[], fn: fixtureFunction] + | [...paths: string[], fn: fixtureFunction, options: fixtureOptions] + +export const fixtures = (...args: fixtureArguments) => { + let fn = args.pop() as fixtureFunction + let options: fixtureOptions = { skip: false } + + if (typeof fn !== 'function') { + options = fn as fixtureOptions + fn = args.pop() as fixtureFunction + } + + const path = resolve(...(args as string[])) + const files = fs.readdirSync(path) + const dir = basename(path) + const d = options.skip ? describe.skip : describe + + d(dir, () => { + for (const file of files) { + const p = resolve(path, file) + const stat = fs.statSync(p) + + if (stat.isDirectory()) { + fixtures(path, file, fn) + } + if ( + stat.isFile() && + (file.endsWith('.js') || + file.endsWith('.tsx') || + file.endsWith('.ts')) && + !file.endsWith('custom-types.ts') && + !file.endsWith('type-guards.ts') && + !file.startsWith('.') && + // Ignoring `index.js` files allows us to use the fixtures directly + // from the top-level directory itself, instead of only children. + file !== 'index.js' + ) { + const name = basename(file, extname(file)) + + if (name.endsWith('.spec')) { + require(p) + } else { + // This needs to be a non-arrow function to use `this.skip()`. + it(`${name}`, function () { + const module = require(p) + + if (module.skip) { + this.skip() + } + + fn({ name, path, module }) + }) + } + } + } + }) +} + +fixtures.skip = (...args: [...string[], fixtureFunction]) => { + fixtures(...args, { skip: true }) +} diff --git a/support/types.ts b/support/types.ts new file mode 100644 index 0000000000..fa1a7b5def --- /dev/null +++ b/support/types.ts @@ -0,0 +1,84 @@ +import { BaseEditor, BaseElement, BaseSelection, BaseText } from 'slate' + +// Allowed tags for jsx elements and allowed types for those tags +declare global { + namespace jsx.JSX { + interface IntrinsicElements { + editor: GenericAdditions + fragment: {} + + selection: {} + cursor: {} + anchor: {} | { path: number[]; offset: number } + focus: {} | { path: number[]; offset: number } + + element: ElementFlags & ElementAdditions + text: TextAdditions + + block: Omit & ElementAdditions + inline: Omit & ElementAdditions + } + } +} + +// elements with these attributes set return true for the relevant editor.isX methods +export interface ElementFlags { + void?: true + markable?: true + inline?: true + readOnly?: true + nonSelectable?: true +} + +// prettier-ignore +type SingleLetter = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' + +type SingleLetterFlags = { + [key in SingleLetter]?: true +} + +// arbitrary attributes used to differentiate nodes +export interface GenericAdditions extends SingleLetterFlags { + id?: string + + old?: true + new?: true + pass?: true + match?: true + + // arbitrary keys I found people using, mostly for setNodes testing + // TODO: consolidate and/or rename meaningfully + data?: unknown + key?: unknown + someKey?: unknown + alreadyHasAKey?: unknown + attr?: unknown + custom?: unknown +} + +// arbitrary attributes used to differentiate elements +export interface ElementAdditions extends GenericAdditions { + type?: string +} + +// arbitrary attributes used to differentiate text +export interface TextAdditions extends GenericAdditions { + bold?: true + italic?: true + underline?: true + + mark?: string + decoration?: number[] +} + +declare module 'slate' { + interface CustomTypes { + Editor: BaseEditor & + GenericAdditions & + CustomTypes['PackageSpecificEditorForTests'] + Element: BaseElement & ElementFlags & ElementAdditions + Text: BaseText & TextAdditions + + Selection: BaseSelection & GenericAdditions + } +} diff --git a/tsconfig.json b/tsconfig.json index eec48b8347..e1b3f5b5a1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,8 +2,14 @@ "files": [], "references": [ { "path": "./packages/slate" }, + { "path": "./packages/slate-dom" }, { "path": "./packages/slate-history" }, { "path": "./packages/slate-hyperscript" }, - { "path": "./packages/slate-react" } + { "path": "./packages/slate-react" }, + + { "path": "./packages/slate/test" }, + { "path": "./packages/slate-history/test" }, + { "path": "./packages/slate-hyperscript/test" }, + { "path": "./packages/slate-react/test" } ] } diff --git a/yarn.lock b/yarn.lock index d23c396174..7e8daf7834 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3486,6 +3486,13 @@ __metadata: languageName: node linkType: hard +"@types/lodash@npm:^4.17.23": + version: 4.17.23 + resolution: "@types/lodash@npm:4.17.23" + checksum: 05935534a44aadef67c2158b2fb4a042a226970088106a40ddc67e4f063783149fe5cf02279d7dd4a1e72c98d9189b9430face659645dbf77270f8c4c3e387f5 + languageName: node + linkType: hard + "@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" @@ -3500,6 +3507,13 @@ __metadata: languageName: node linkType: hard +"@types/mocha@npm:^10.0.10": + version: 10.0.10 + resolution: "@types/mocha@npm:10.0.10" + checksum: 4e3b61ed5112add86891a5dd3ebdd087714f5e1784a63d47a96424c0825058fd07074e85e43573462f751636c92808fc18a5f3862fe45e649ea98fdc5a3ee2ea + languageName: node + linkType: hard + "@types/mocha@npm:^10.0.3": version: 10.0.3 resolution: "@types/mocha@npm:10.0.3" @@ -3523,6 +3537,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^25.0.9": + version: 25.0.9 + resolution: "@types/node@npm:25.0.9" + dependencies: + undici-types: "npm:~7.16.0" + checksum: 2c16f137ed3a952903b7641df5ce16663ad00911dc6a9010156602251420da127bf7dbd32d22aac9eda0cc430381164d55a36240039b7d06ab693b9aad5c3f23 + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.1 resolution: "@types/normalize-package-data@npm:2.4.1" @@ -13599,6 +13622,8 @@ __metadata: resolution: "slate-history@workspace:packages/slate-history" dependencies: "@babel/runtime": "npm:^7.23.2" + "@types/mocha": "npm:^10.0.10" + "@types/node": "npm:^25.0.9" lodash: "npm:^4.17.21" slate: "npm:^0.123.0" slate-hyperscript: "npm:^0.115.0" @@ -13613,6 +13638,8 @@ __metadata: resolution: "slate-hyperscript@workspace:packages/slate-hyperscript" dependencies: "@babel/runtime": "npm:^7.23.2" + "@types/mocha": "npm:^10.0.10" + "@types/node": "npm:^25.0.9" slate: "npm:^0.123.0" source-map-loader: "npm:^4.0.1" peerDependencies: @@ -13745,6 +13772,9 @@ __metadata: resolution: "slate@workspace:packages/slate" dependencies: "@babel/runtime": "npm:^7.23.2" + "@types/lodash": "npm:^4.17.23" + "@types/mocha": "npm:^10.0.10" + "@types/node": "npm:^25.0.9" lodash: "npm:^4.17.21" slate-hyperscript: "npm:^0.115.0" source-map-loader: "npm:^4.0.1" @@ -14939,6 +14969,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: db43439f69c2d94cc29f75cbfe9de86df87061d6b0c577ebe9bb3255f49b22c50162a7d7eb413b0458b6510b8ca299ac7cff38c3a29fbd31af9f504bcf7fbc0d + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0"