diff --git a/test/rendering/fixtures/custom-inline-void/index.js b/test/rendering/fixtures/custom-inline-void/index.js
new file mode 100644
index 000000000..5e197db44
--- /dev/null
+++ b/test/rendering/fixtures/custom-inline-void/index.js
@@ -0,0 +1,12 @@
+
+import React from 'react'
+
+function Image(props) {
+ return
![]()
+}
+
+export const schema = {
+ nodes: {
+ image: Image
+ }
+}
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/output.yaml b/test/rendering/fixtures/custom-inline-void/input.yaml
similarity index 62%
rename from test/transforms/fixtures/at-current-range/insert-inline/with-inline/output.yaml
rename to test/rendering/fixtures/custom-inline-void/input.yaml
index 3e75f2f14..0b778ab1e 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/output.yaml
+++ b/test/rendering/fixtures/custom-inline-void/input.yaml
@@ -1,10 +1,8 @@
nodes:
- kind: block
- type: paragraph
+ type: default
nodes:
- kind: inline
type: image
isVoid: true
- - kind: text
- text: word
diff --git a/test/rendering/fixtures/custom-inline-void/output.html b/test/rendering/fixtures/custom-inline-void/output.html
new file mode 100644
index 000000000..029f98e66
--- /dev/null
+++ b/test/rendering/fixtures/custom-inline-void/output.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/schema/fixtures/default-void-text-around/index.js b/test/schema/fixtures/default-void-text-around/index.js
new file mode 100644
index 000000000..9a676e861
--- /dev/null
+++ b/test/schema/fixtures/default-void-text-around/index.js
@@ -0,0 +1,2 @@
+
+export default {}
diff --git a/test/schema/fixtures/default-void-text-around/input.yaml b/test/schema/fixtures/default-void-text-around/input.yaml
new file mode 100644
index 000000000..5e6317f2e
--- /dev/null
+++ b/test/schema/fixtures/default-void-text-around/input.yaml
@@ -0,0 +1,8 @@
+
+nodes:
+ - kind: block
+ type: default
+ nodes:
+ - kind: inline
+ isVoid: true
+ type: image
diff --git a/test/schema/fixtures/default-void-text-around/output.yaml b/test/schema/fixtures/default-void-text-around/output.yaml
new file mode 100644
index 000000000..32ed911ff
--- /dev/null
+++ b/test/schema/fixtures/default-void-text-around/output.yaml
@@ -0,0 +1,13 @@
+
+
+nodes:
+ - kind: block
+ type: default
+ nodes:
+ - kind: text
+ text: ""
+ - kind: inline
+ isVoid: true
+ type: image
+ - kind: text
+ text: ""
diff --git a/test/serializers/fixtures/html/deserialize/inline-with-is-void/output.yaml b/test/serializers/fixtures/html/deserialize/inline-with-is-void/output.yaml
index 96e7ad63d..491ca8845 100644
--- a/test/serializers/fixtures/html/deserialize/inline-with-is-void/output.yaml
+++ b/test/serializers/fixtures/html/deserialize/inline-with-is-void/output.yaml
@@ -4,6 +4,7 @@ nodes:
isVoid: false
data: {}
nodes:
+ - characters: []
- type: link
isVoid: true
data: {}
@@ -11,3 +12,4 @@ nodes:
- characters:
- text: " "
marks: []
+ - characters: []
diff --git a/test/serializers/fixtures/raw/deserialize-terse/inline-with-is-void/output.yaml b/test/serializers/fixtures/raw/deserialize-terse/inline-with-is-void/output.yaml
index b06ff377b..5889839ee 100644
--- a/test/serializers/fixtures/raw/deserialize-terse/inline-with-is-void/output.yaml
+++ b/test/serializers/fixtures/raw/deserialize-terse/inline-with-is-void/output.yaml
@@ -4,10 +4,12 @@ nodes:
isVoid: false
data: {}
nodes:
- - type: link
- isVoid: true
- data: {}
- nodes:
- - characters:
- - text: " "
- marks: []
+ - characters: []
+ - type: link
+ isVoid: true
+ data: {}
+ nodes:
+ - characters:
+ - text: " "
+ marks: []
+ - characters: []
diff --git a/test/serializers/fixtures/raw/deserialize/inline-with-is-void/output.yaml b/test/serializers/fixtures/raw/deserialize/inline-with-is-void/output.yaml
index 96e7ad63d..491ca8845 100644
--- a/test/serializers/fixtures/raw/deserialize/inline-with-is-void/output.yaml
+++ b/test/serializers/fixtures/raw/deserialize/inline-with-is-void/output.yaml
@@ -4,6 +4,7 @@ nodes:
isVoid: false
data: {}
nodes:
+ - characters: []
- type: link
isVoid: true
data: {}
@@ -11,3 +12,4 @@ nodes:
- characters:
- text: " "
marks: []
+ - characters: []
diff --git a/test/serializers/fixtures/raw/serialize-terse/inline-with-is-void/output.yaml b/test/serializers/fixtures/raw/serialize-terse/inline-with-is-void/output.yaml
index 7a85c63e4..cc9ac8b38 100644
--- a/test/serializers/fixtures/raw/serialize-terse/inline-with-is-void/output.yaml
+++ b/test/serializers/fixtures/raw/serialize-terse/inline-with-is-void/output.yaml
@@ -3,6 +3,10 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: link
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/serializers/fixtures/raw/serialize/inline-with-is-void/output.yaml b/test/serializers/fixtures/raw/serialize/inline-with-is-void/output.yaml
index d1dd09f0f..332307a7b 100644
--- a/test/serializers/fixtures/raw/serialize/inline-with-is-void/output.yaml
+++ b/test/serializers/fixtures/raw/serialize/inline-with-is-void/output.yaml
@@ -8,6 +8,11 @@ document:
data: {}
isVoid: false
nodes:
+ - kind: text
+ ranges:
+ - kind: range
+ text: ""
+ marks: []
- kind: inline
type: link
isVoid: true
@@ -18,3 +23,8 @@ document:
- kind: range
text: " "
marks: []
+ - kind: text
+ ranges:
+ - kind: range
+ text: ""
+ marks: []
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/block-end/index.js b/test/transforms/fixtures/at-current-range/insert-inline/block-end/index.js
index 6b17f8dda..d8fea23d9 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/block-end/index.js
+++ b/test/transforms/fixtures/at-current-range/insert-inline/block-end/index.js
@@ -21,7 +21,7 @@ export default function (state) {
})
.apply()
- const updated = next.document.getTexts().last()
+ const updated = next.document.getTexts().get(1)
assert.deepEqual(
next.selection.toJS(),
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/block-end/output.yaml b/test/transforms/fixtures/at-current-range/insert-inline/block-end/output.yaml
index f333e4656..a4b0d95d5 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/block-end/output.yaml
+++ b/test/transforms/fixtures/at-current-range/insert-inline/block-end/output.yaml
@@ -8,3 +8,5 @@ nodes:
- kind: inline
type: hashtag
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/block-start/index.js b/test/transforms/fixtures/at-current-range/insert-inline/block-start/index.js
index 092bcf45b..6cdbdda92 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/block-start/index.js
+++ b/test/transforms/fixtures/at-current-range/insert-inline/block-start/index.js
@@ -21,7 +21,7 @@ export default function (state) {
})
.apply()
- const updated = next.document.getTexts().first()
+ const updated = next.document.getTexts().get(1)
assert.deepEqual(
next.selection.toJS(),
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/block-start/output.yaml b/test/transforms/fixtures/at-current-range/insert-inline/block-start/output.yaml
index b1b784956..3f4c36b87 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/block-start/output.yaml
+++ b/test/transforms/fixtures/at-current-range/insert-inline/block-start/output.yaml
@@ -3,6 +3,8 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: hashtag
isVoid: true
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/inside-inline/index.js b/test/transforms/fixtures/at-current-range/insert-inline/inline-middle/index.js
similarity index 100%
rename from test/transforms/fixtures/at-current-range/insert-inline/inside-inline/index.js
rename to test/transforms/fixtures/at-current-range/insert-inline/inline-middle/index.js
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/inside-inline/input.yaml b/test/transforms/fixtures/at-current-range/insert-inline/inline-middle/input.yaml
similarity index 100%
rename from test/transforms/fixtures/at-current-range/insert-inline/inside-inline/input.yaml
rename to test/transforms/fixtures/at-current-range/insert-inline/inline-middle/input.yaml
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/inside-inline/output.yaml b/test/transforms/fixtures/at-current-range/insert-inline/inline-middle/output.yaml
similarity index 100%
rename from test/transforms/fixtures/at-current-range/insert-inline/inside-inline/output.yaml
rename to test/transforms/fixtures/at-current-range/insert-inline/inline-middle/output.yaml
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/is-empty/index.js b/test/transforms/fixtures/at-current-range/insert-inline/is-empty/index.js
index 048799136..6cdbdda92 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/is-empty/index.js
+++ b/test/transforms/fixtures/at-current-range/insert-inline/is-empty/index.js
@@ -21,7 +21,7 @@ export default function (state) {
})
.apply()
- const updated = next.document.getTexts().last()
+ const updated = next.document.getTexts().get(1)
assert.deepEqual(
next.selection.toJS(),
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/is-empty/output.yaml b/test/transforms/fixtures/at-current-range/insert-inline/is-empty/output.yaml
index 936e672db..c06607fe2 100644
--- a/test/transforms/fixtures/at-current-range/insert-inline/is-empty/output.yaml
+++ b/test/transforms/fixtures/at-current-range/insert-inline/is-empty/output.yaml
@@ -3,6 +3,10 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: hashtag
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/index.js b/test/transforms/fixtures/at-current-range/insert-inline/with-inline/index.js
deleted file mode 100644
index afe5bd6e8..000000000
--- a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/index.js
+++ /dev/null
@@ -1,33 +0,0 @@
-
-import { Inline } from '../../../../../..'
-import assert from 'assert'
-
-export default function (state) {
- const { document, selection } = state
- const texts = document.getTexts()
- const first = texts.first()
- const range = selection.merge({
- anchorKey: first.key,
- anchorOffset: 0,
- focusKey: first.key,
- focusOffset: 0
- })
-
- const next = state
- .transform()
- .moveTo(range)
- .insertInline(Inline.create({
- type: 'image',
- isVoid: true
- }))
- .apply()
-
- const updated = next.document.getTexts().first()
-
- assert.deepEqual(
- next.selection.toJS(),
- range.collapseToEndOf(updated).toJS()
- )
-
- return next
-}
diff --git a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/input.yaml b/test/transforms/fixtures/at-current-range/insert-inline/with-inline/input.yaml
deleted file mode 100644
index 27f668fe2..000000000
--- a/test/transforms/fixtures/at-current-range/insert-inline/with-inline/input.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-nodes:
- - kind: block
- type: paragraph
- nodes:
- - kind: text
- text: word
diff --git a/test/transforms/fixtures/at-current-range/set-inline/with-is-void/output.yaml b/test/transforms/fixtures/at-current-range/set-inline/with-is-void/output.yaml
index 07e15441b..057979d81 100644
--- a/test/transforms/fixtures/at-current-range/set-inline/with-is-void/output.yaml
+++ b/test/transforms/fixtures/at-current-range/set-inline/with-is-void/output.yaml
@@ -3,6 +3,10 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: emoji
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/transforms/fixtures/at-range/insert-inline-at-range/block-end/output.yaml b/test/transforms/fixtures/at-range/insert-inline-at-range/block-end/output.yaml
index f333e4656..a4b0d95d5 100644
--- a/test/transforms/fixtures/at-range/insert-inline-at-range/block-end/output.yaml
+++ b/test/transforms/fixtures/at-range/insert-inline-at-range/block-end/output.yaml
@@ -8,3 +8,5 @@ nodes:
- kind: inline
type: hashtag
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/transforms/fixtures/at-range/insert-inline-at-range/block-start/output.yaml b/test/transforms/fixtures/at-range/insert-inline-at-range/block-start/output.yaml
index b1b784956..3f4c36b87 100644
--- a/test/transforms/fixtures/at-range/insert-inline-at-range/block-start/output.yaml
+++ b/test/transforms/fixtures/at-range/insert-inline-at-range/block-start/output.yaml
@@ -3,6 +3,8 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: hashtag
isVoid: true
diff --git a/test/transforms/fixtures/at-range/insert-inline-at-range/is-empty/output.yaml b/test/transforms/fixtures/at-range/insert-inline-at-range/is-empty/output.yaml
index 936e672db..c06607fe2 100644
--- a/test/transforms/fixtures/at-range/insert-inline-at-range/is-empty/output.yaml
+++ b/test/transforms/fixtures/at-range/insert-inline-at-range/is-empty/output.yaml
@@ -3,6 +3,10 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: hashtag
isVoid: true
+ - kind: text
+ text: ""
diff --git a/test/transforms/fixtures/at-range/insert-inline-at-range/with-inline/output.yaml b/test/transforms/fixtures/at-range/insert-inline-at-range/with-inline/output.yaml
index 3e75f2f14..fbfc98018 100644
--- a/test/transforms/fixtures/at-range/insert-inline-at-range/with-inline/output.yaml
+++ b/test/transforms/fixtures/at-range/insert-inline-at-range/with-inline/output.yaml
@@ -3,6 +3,8 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: image
isVoid: true
diff --git a/test/transforms/fixtures/at-range/set-inline-at-range/with-is-void/output.yaml b/test/transforms/fixtures/at-range/set-inline-at-range/with-is-void/output.yaml
index 07e15441b..057979d81 100644
--- a/test/transforms/fixtures/at-range/set-inline-at-range/with-is-void/output.yaml
+++ b/test/transforms/fixtures/at-range/set-inline-at-range/with-is-void/output.yaml
@@ -3,6 +3,10 @@ nodes:
- kind: block
type: paragraph
nodes:
+ - kind: text
+ text: ""
- kind: inline
type: emoji
isVoid: true
+ - kind: text
+ text: ""