diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-block/end.js b/packages/slate/test/changes/on-selection/move-to-end-of-block/end.js
new file mode 100644
index 000000000..0e01b3ff4
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-block/end.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfBlock()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-block/middle.js b/packages/slate/test/changes/on-selection/move-to-end-of-block/middle.js
new file mode 100644
index 000000000..4e11d78cf
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-block/middle.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfBlock()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-block/start.js b/packages/slate/test/changes/on-selection/move-to-end-of-block/start.js
new file mode 100644
index 000000000..5cdf44f3f
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-block/start.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfBlock()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-document/block-end.js b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-end.js
new file mode 100644
index 000000000..8378e1dc5
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-end.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-document/block-middle.js b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-middle.js
new file mode 100644
index 000000000..ed2fcdfbb
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-middle.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-document/block-start.js b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-start.js
new file mode 100644
index 000000000..5154aa2c3
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-document/block-start.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-document/document-end.js b/packages/slate/test/changes/on-selection/move-to-end-of-document/document-end.js
new file mode 100644
index 000000000..eca2d354d
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-document/document-end.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfDocument()
+}
+
+export const input = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
+
+export const output = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-end-of-document/document-start.js b/packages/slate/test/changes/on-selection/move-to-end-of-document/document-start.js
new file mode 100644
index 000000000..1ba8de8c1
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-end-of-document/document-start.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToEndOfDocument()
+}
+
+export const input = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
+
+export const output = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-start-of-document/block-end.js b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-end.js
new file mode 100644
index 000000000..e595595b5
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-end.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToStartOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-start-of-document/block-middle.js b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-middle.js
new file mode 100644
index 000000000..47c8eab22
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-middle.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToStartOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-start-of-document/block-start.js b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-start.js
new file mode 100644
index 000000000..6601d04bb
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-start-of-document/block-start.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToStartOfDocument()
+}
+
+export const input = (
+
+
+ one
+
+ two
+
+ three
+
+
+)
+
+export const output = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-start-of-document/document-end.js b/packages/slate/test/changes/on-selection/move-to-start-of-document/document-end.js
new file mode 100644
index 000000000..d30990744
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-start-of-document/document-end.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToStartOfDocument()
+}
+
+export const input = (
+
+
+ one
+ two
+
+ three
+
+
+
+)
+
+export const output = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
diff --git a/packages/slate/test/changes/on-selection/move-to-start-of-document/document-start.js b/packages/slate/test/changes/on-selection/move-to-start-of-document/document-start.js
new file mode 100644
index 000000000..db47c449d
--- /dev/null
+++ b/packages/slate/test/changes/on-selection/move-to-start-of-document/document-start.js
@@ -0,0 +1,31 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.moveToStartOfDocument()
+}
+
+export const input = (
+
+
+
+ one
+
+ two
+ three
+
+
+)
+
+export const output = (
+
+
+
+ one
+
+ two
+ three
+
+
+)