aboutsummaryrefslogtreecommitdiffstats
path: root/tests/data/fixtures/wrap
diff options
context:
space:
mode:
Diffstat (limited to 'tests/data/fixtures/wrap')
-rw-r--r--tests/data/fixtures/wrap/1.json309
-rw-r--r--tests/data/fixtures/wrap/1.typescript1
-rw-r--r--tests/data/fixtures/wrap/10.json243
-rw-r--r--tests/data/fixtures/wrap/10.typescript1
-rw-r--r--tests/data/fixtures/wrap/11.json251
-rw-r--r--tests/data/fixtures/wrap/11.typescript1
-rw-r--r--tests/data/fixtures/wrap/12.json254
-rw-r--r--tests/data/fixtures/wrap/12.typescript1
-rw-r--r--tests/data/fixtures/wrap/13.json8
-rw-r--r--tests/data/fixtures/wrap/13.typescript1
-rw-r--r--tests/data/fixtures/wrap/14.json246
-rw-r--r--tests/data/fixtures/wrap/14.typescript1
-rw-r--r--tests/data/fixtures/wrap/15.json254
-rw-r--r--tests/data/fixtures/wrap/15.typescript1
-rw-r--r--tests/data/fixtures/wrap/16.json257
-rw-r--r--tests/data/fixtures/wrap/16.typescript1
-rw-r--r--tests/data/fixtures/wrap/17.json8
-rw-r--r--tests/data/fixtures/wrap/17.typescript1
-rw-r--r--tests/data/fixtures/wrap/18.json249
-rw-r--r--tests/data/fixtures/wrap/18.typescript1
-rw-r--r--tests/data/fixtures/wrap/19.json249
-rw-r--r--tests/data/fixtures/wrap/19.typescript1
-rw-r--r--tests/data/fixtures/wrap/2.json549
-rw-r--r--tests/data/fixtures/wrap/2.typescript1
-rw-r--r--tests/data/fixtures/wrap/20.json249
-rw-r--r--tests/data/fixtures/wrap/20.typescript1
-rw-r--r--tests/data/fixtures/wrap/21.json252
-rw-r--r--tests/data/fixtures/wrap/21.typescript1
-rw-r--r--tests/data/fixtures/wrap/22.json8
-rw-r--r--tests/data/fixtures/wrap/22.typescript1
-rw-r--r--tests/data/fixtures/wrap/23.json21
-rw-r--r--tests/data/fixtures/wrap/23.typescript1
-rw-r--r--tests/data/fixtures/wrap/3.json789
-rw-r--r--tests/data/fixtures/wrap/3.typescript1
-rw-r--r--tests/data/fixtures/wrap/4.json8
-rw-r--r--tests/data/fixtures/wrap/4.typescript1
-rw-r--r--tests/data/fixtures/wrap/5.json246
-rw-r--r--tests/data/fixtures/wrap/5.typescript1
-rw-r--r--tests/data/fixtures/wrap/6.json249
-rw-r--r--tests/data/fixtures/wrap/6.typescript1
-rw-r--r--tests/data/fixtures/wrap/7.json252
-rw-r--r--tests/data/fixtures/wrap/7.typescript1
-rw-r--r--tests/data/fixtures/wrap/8.json255
-rw-r--r--tests/data/fixtures/wrap/8.typescript1
-rw-r--r--tests/data/fixtures/wrap/9.json8
-rw-r--r--tests/data/fixtures/wrap/9.typescript1
46 files changed, 5237 insertions, 0 deletions
diff --git a/tests/data/fixtures/wrap/1.json b/tests/data/fixtures/wrap/1.json
new file mode 100644
index 0000000..194977a
--- /dev/null
+++ b/tests/data/fixtures/wrap/1.json
@@ -0,0 +1,309 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "0"
+ },
+ "1,1": {
+ "contents": "1"
+ },
+ "1,10": {
+ "contents": "0"
+ },
+ "1,11": {
+ "contents": "1"
+ },
+ "1,12": {
+ "contents": "2"
+ },
+ "1,13": {
+ "contents": "3"
+ },
+ "1,14": {
+ "contents": "4"
+ },
+ "1,15": {
+ "contents": "5"
+ },
+ "1,16": {
+ "contents": "6"
+ },
+ "1,17": {
+ "contents": "7"
+ },
+ "1,18": {
+ "contents": "8"
+ },
+ "1,19": {
+ "contents": "9"
+ },
+ "1,2": {
+ "contents": "2"
+ },
+ "1,3": {
+ "contents": "3"
+ },
+ "1,4": {
+ "contents": "4"
+ },
+ "1,5": {
+ "contents": "5"
+ },
+ "1,6": {
+ "contents": "6"
+ },
+ "1,7": {
+ "contents": "7"
+ },
+ "1,8": {
+ "contents": "8"
+ },
+ "1,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 20
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/1.typescript b/tests/data/fixtures/wrap/1.typescript
new file mode 100644
index 0000000..edd4e96
--- /dev/null
+++ b/tests/data/fixtures/wrap/1.typescript
@@ -0,0 +1 @@
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/10.json b/tests/data/fixtures/wrap/10.json
new file mode 100644
index 0000000..7031c27
--- /dev/null
+++ b/tests/data/fixtures/wrap/10.json
@@ -0,0 +1,243 @@
+{
+ "contents": "012345678901234567890123456789012345678901234567890123456789012345678901234567",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 0,
+ 78
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/10.typescript b/tests/data/fixtures/wrap/10.typescript
new file mode 100644
index 0000000..a0cf685
--- /dev/null
+++ b/tests/data/fixtures/wrap/10.typescript
@@ -0,0 +1 @@
+012345678901234567890123456789012345678901234567890123456789012345678901234567 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/11.json b/tests/data/fixtures/wrap/11.json
new file mode 100644
index 0000000..681f634
--- /dev/null
+++ b/tests/data/fixtures/wrap/11.json
@@ -0,0 +1,251 @@
+{
+ "contents": "012345678901234567890123456789012345678901234567890123456789012345678901234567ネ",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "ネ",
+ "is_wide": true
+ },
+ "0,79": {
+ "contents": "",
+ "is_wide_continuation": true
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 0,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/11.typescript b/tests/data/fixtures/wrap/11.typescript
new file mode 100644
index 0000000..14dfb50
--- /dev/null
+++ b/tests/data/fixtures/wrap/11.typescript
@@ -0,0 +1 @@
+ネ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/12.json b/tests/data/fixtures/wrap/12.json
new file mode 100644
index 0000000..1742de9
--- /dev/null
+++ b/tests/data/fixtures/wrap/12.json
@@ -0,0 +1,254 @@
+{
+ "contents": "012345678901234567890123456789012345678901234567890123456789012345678901234567ネa",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "ネ",
+ "is_wide": true
+ },
+ "0,79": {
+ "contents": "",
+ "is_wide_continuation": true
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "a"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 1
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/12.typescript b/tests/data/fixtures/wrap/12.typescript
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/tests/data/fixtures/wrap/12.typescript
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/13.json b/tests/data/fixtures/wrap/13.json
new file mode 100644
index 0000000..bb83ae4
--- /dev/null
+++ b/tests/data/fixtures/wrap/13.json
@@ -0,0 +1,8 @@
+{
+ "contents": "",
+ "cells": {},
+ "cursor_position": [
+ 0,
+ 0
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/13.typescript b/tests/data/fixtures/wrap/13.typescript
new file mode 100644
index 0000000..795264a
--- /dev/null
+++ b/tests/data/fixtures/wrap/13.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/14.json b/tests/data/fixtures/wrap/14.json
new file mode 100644
index 0000000..09fb67b
--- /dev/null
+++ b/tests/data/fixtures/wrap/14.json
@@ -0,0 +1,246 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 0,
+ 79
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/14.typescript b/tests/data/fixtures/wrap/14.typescript
new file mode 100644
index 0000000..1f18cd9
--- /dev/null
+++ b/tests/data/fixtures/wrap/14.typescript
@@ -0,0 +1 @@
+0123456789012345678901234567890123456789012345678901234567890123456789012345678 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/15.json b/tests/data/fixtures/wrap/15.json
new file mode 100644
index 0000000..79ea22f
--- /dev/null
+++ b/tests/data/fixtures/wrap/15.json
@@ -0,0 +1,254 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678\nネ",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "ネ",
+ "is_wide": true
+ },
+ "1,1": {
+ "contents": "",
+ "is_wide_continuation": true
+ }
+ },
+ "cursor_position": [
+ 1,
+ 2
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/15.typescript b/tests/data/fixtures/wrap/15.typescript
new file mode 100644
index 0000000..14dfb50
--- /dev/null
+++ b/tests/data/fixtures/wrap/15.typescript
@@ -0,0 +1 @@
+ネ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/16.json b/tests/data/fixtures/wrap/16.json
new file mode 100644
index 0000000..ce5dd87
--- /dev/null
+++ b/tests/data/fixtures/wrap/16.json
@@ -0,0 +1,257 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678\nネa",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "ネ",
+ "is_wide": true
+ },
+ "1,1": {
+ "contents": "",
+ "is_wide_continuation": true
+ },
+ "1,2": {
+ "contents": "a"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 3
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/16.typescript b/tests/data/fixtures/wrap/16.typescript
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/tests/data/fixtures/wrap/16.typescript
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/17.json b/tests/data/fixtures/wrap/17.json
new file mode 100644
index 0000000..bb83ae4
--- /dev/null
+++ b/tests/data/fixtures/wrap/17.json
@@ -0,0 +1,8 @@
+{
+ "contents": "",
+ "cells": {},
+ "cursor_position": [
+ 0,
+ 0
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/17.typescript b/tests/data/fixtures/wrap/17.typescript
new file mode 100644
index 0000000..795264a
--- /dev/null
+++ b/tests/data/fixtures/wrap/17.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/18.json b/tests/data/fixtures/wrap/18.json
new file mode 100644
index 0000000..6fd56e8
--- /dev/null
+++ b/tests/data/fixtures/wrap/18.json
@@ -0,0 +1,249 @@
+{
+ "contents": " ",
+ "cells": {
+ "0,0": {
+ "contents": " "
+ },
+ "0,1": {
+ "contents": " "
+ },
+ "0,10": {
+ "contents": " "
+ },
+ "0,11": {
+ "contents": " "
+ },
+ "0,12": {
+ "contents": " "
+ },
+ "0,13": {
+ "contents": " "
+ },
+ "0,14": {
+ "contents": " "
+ },
+ "0,15": {
+ "contents": " "
+ },
+ "0,16": {
+ "contents": " "
+ },
+ "0,17": {
+ "contents": " "
+ },
+ "0,18": {
+ "contents": " "
+ },
+ "0,19": {
+ "contents": " "
+ },
+ "0,2": {
+ "contents": " "
+ },
+ "0,20": {
+ "contents": " "
+ },
+ "0,21": {
+ "contents": " "
+ },
+ "0,22": {
+ "contents": " "
+ },
+ "0,23": {
+ "contents": " "
+ },
+ "0,24": {
+ "contents": " "
+ },
+ "0,25": {
+ "contents": " "
+ },
+ "0,26": {
+ "contents": " "
+ },
+ "0,27": {
+ "contents": " "
+ },
+ "0,28": {
+ "contents": " "
+ },
+ "0,29": {
+ "contents": " "
+ },
+ "0,3": {
+ "contents": " "
+ },
+ "0,30": {
+ "contents": " "
+ },
+ "0,31": {
+ "contents": " "
+ },
+ "0,32": {
+ "contents": " "
+ },
+ "0,33": {
+ "contents": " "
+ },
+ "0,34": {
+ "contents": " "
+ },
+ "0,35": {
+ "contents": " "
+ },
+ "0,36": {
+ "contents": " "
+ },
+ "0,37": {
+ "contents": " "
+ },
+ "0,38": {
+ "contents": " "
+ },
+ "0,39": {
+ "contents": " "
+ },
+ "0,4": {
+ "contents": " "
+ },
+ "0,40": {
+ "contents": " "
+ },
+ "0,41": {
+ "contents": " "
+ },
+ "0,42": {
+ "contents": " "
+ },
+ "0,43": {
+ "contents": " "
+ },
+ "0,44": {
+ "contents": " "
+ },
+ "0,45": {
+ "contents": " "
+ },
+ "0,46": {
+ "contents": " "
+ },
+ "0,47": {
+ "contents": " "
+ },
+ "0,48": {
+ "contents": " "
+ },
+ "0,49": {
+ "contents": " "
+ },
+ "0,5": {
+ "contents": " "
+ },
+ "0,50": {
+ "contents": " "
+ },
+ "0,51": {
+ "contents": " "
+ },
+ "0,52": {
+ "contents": " "
+ },
+ "0,53": {
+ "contents": " "
+ },
+ "0,54": {
+ "contents": " "
+ },
+ "0,55": {
+ "contents": " "
+ },
+ "0,56": {
+ "contents": " "
+ },
+ "0,57": {
+ "contents": " "
+ },
+ "0,58": {
+ "contents": " "
+ },
+ "0,59": {
+ "contents": " "
+ },
+ "0,6": {
+ "contents": " "
+ },
+ "0,60": {
+ "contents": " "
+ },
+ "0,61": {
+ "contents": " "
+ },
+ "0,62": {
+ "contents": " "
+ },
+ "0,63": {
+ "contents": " "
+ },
+ "0,64": {
+ "contents": " "
+ },
+ "0,65": {
+ "contents": " "
+ },
+ "0,66": {
+ "contents": " "
+ },
+ "0,67": {
+ "contents": " "
+ },
+ "0,68": {
+ "contents": " "
+ },
+ "0,69": {
+ "contents": " "
+ },
+ "0,7": {
+ "contents": " "
+ },
+ "0,70": {
+ "contents": " "
+ },
+ "0,71": {
+ "contents": " "
+ },
+ "0,72": {
+ "contents": " "
+ },
+ "0,73": {
+ "contents": " "
+ },
+ "0,74": {
+ "contents": " "
+ },
+ "0,75": {
+ "contents": " "
+ },
+ "0,76": {
+ "contents": " "
+ },
+ "0,77": {
+ "contents": " "
+ },
+ "0,78": {
+ "contents": " "
+ },
+ "0,79": {
+ "contents": " "
+ },
+ "0,8": {
+ "contents": " "
+ },
+ "0,9": {
+ "contents": " "
+ }
+ },
+ "cursor_position": [
+ 0,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/18.typescript b/tests/data/fixtures/wrap/18.typescript
new file mode 100644
index 0000000..45e9d8d
--- /dev/null
+++ b/tests/data/fixtures/wrap/18.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/19.json b/tests/data/fixtures/wrap/19.json
new file mode 100644
index 0000000..40459e7
--- /dev/null
+++ b/tests/data/fixtures/wrap/19.json
@@ -0,0 +1,249 @@
+{
+ "contents": " ",
+ "cells": {
+ "0,0": {
+ "contents": " "
+ },
+ "0,1": {
+ "contents": " "
+ },
+ "0,10": {
+ "contents": " "
+ },
+ "0,11": {
+ "contents": " "
+ },
+ "0,12": {
+ "contents": " "
+ },
+ "0,13": {
+ "contents": " "
+ },
+ "0,14": {
+ "contents": " "
+ },
+ "0,15": {
+ "contents": " "
+ },
+ "0,16": {
+ "contents": " "
+ },
+ "0,17": {
+ "contents": " "
+ },
+ "0,18": {
+ "contents": " "
+ },
+ "0,19": {
+ "contents": " "
+ },
+ "0,2": {
+ "contents": " "
+ },
+ "0,20": {
+ "contents": " "
+ },
+ "0,21": {
+ "contents": " "
+ },
+ "0,22": {
+ "contents": " "
+ },
+ "0,23": {
+ "contents": " "
+ },
+ "0,24": {
+ "contents": " "
+ },
+ "0,25": {
+ "contents": " "
+ },
+ "0,26": {
+ "contents": " "
+ },
+ "0,27": {
+ "contents": " "
+ },
+ "0,28": {
+ "contents": " "
+ },
+ "0,29": {
+ "contents": " "
+ },
+ "0,3": {
+ "contents": " "
+ },
+ "0,30": {
+ "contents": " "
+ },
+ "0,31": {
+ "contents": " "
+ },
+ "0,32": {
+ "contents": " "
+ },
+ "0,33": {
+ "contents": " "
+ },
+ "0,34": {
+ "contents": " "
+ },
+ "0,35": {
+ "contents": " "
+ },
+ "0,36": {
+ "contents": " "
+ },
+ "0,37": {
+ "contents": " "
+ },
+ "0,38": {
+ "contents": " "
+ },
+ "0,39": {
+ "contents": " "
+ },
+ "0,4": {
+ "contents": " "
+ },
+ "0,40": {
+ "contents": " "
+ },
+ "0,41": {
+ "contents": " "
+ },
+ "0,42": {
+ "contents": " "
+ },
+ "0,43": {
+ "contents": " "
+ },
+ "0,44": {
+ "contents": " "
+ },
+ "0,45": {
+ "contents": " "
+ },
+ "0,46": {
+ "contents": " "
+ },
+ "0,47": {
+ "contents": " "
+ },
+ "0,48": {
+ "contents": " "
+ },
+ "0,49": {
+ "contents": " "
+ },
+ "0,5": {
+ "contents": " "
+ },
+ "0,50": {
+ "contents": " "
+ },
+ "0,51": {
+ "contents": " "
+ },
+ "0,52": {
+ "contents": " "
+ },
+ "0,53": {
+ "contents": " "
+ },
+ "0,54": {
+ "contents": " "
+ },
+ "0,55": {
+ "contents": " "
+ },
+ "0,56": {
+ "contents": " "
+ },
+ "0,57": {
+ "contents": " "
+ },
+ "0,58": {
+ "contents": " "
+ },
+ "0,59": {
+ "contents": " "
+ },
+ "0,6": {
+ "contents": " "
+ },
+ "0,60": {
+ "contents": " "
+ },
+ "0,61": {
+ "contents": " "
+ },
+ "0,62": {
+ "contents": " "
+ },
+ "0,63": {
+ "contents": " "
+ },
+ "0,64": {
+ "contents": " "
+ },
+ "0,65": {
+ "contents": " "
+ },
+ "0,66": {
+ "contents": " "
+ },
+ "0,67": {
+ "contents": " "
+ },
+ "0,68": {
+ "contents": " "
+ },
+ "0,69": {
+ "contents": " "
+ },
+ "0,7": {
+ "contents": " "
+ },
+ "0,70": {
+ "contents": " "
+ },
+ "0,71": {
+ "contents": " "
+ },
+ "0,72": {
+ "contents": " "
+ },
+ "0,73": {
+ "contents": " "
+ },
+ "0,74": {
+ "contents": " "
+ },
+ "0,75": {
+ "contents": " "
+ },
+ "0,76": {
+ "contents": " "
+ },
+ "0,77": {
+ "contents": " "
+ },
+ "0,78": {
+ "contents": " "
+ },
+ "0,79": {
+ "contents": " "
+ },
+ "0,8": {
+ "contents": " "
+ },
+ "0,9": {
+ "contents": " "
+ }
+ },
+ "cursor_position": [
+ 1,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/19.typescript b/tests/data/fixtures/wrap/19.typescript
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/tests/data/fixtures/wrap/19.typescript
@@ -0,0 +1 @@
+
diff --git a/tests/data/fixtures/wrap/2.json b/tests/data/fixtures/wrap/2.json
new file mode 100644
index 0000000..2ec6ed7
--- /dev/null
+++ b/tests/data/fixtures/wrap/2.json
@@ -0,0 +1,549 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\n\n01234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "0"
+ },
+ "1,1": {
+ "contents": "1"
+ },
+ "1,10": {
+ "contents": "0"
+ },
+ "1,11": {
+ "contents": "1"
+ },
+ "1,12": {
+ "contents": "2"
+ },
+ "1,13": {
+ "contents": "3"
+ },
+ "1,14": {
+ "contents": "4"
+ },
+ "1,15": {
+ "contents": "5"
+ },
+ "1,16": {
+ "contents": "6"
+ },
+ "1,17": {
+ "contents": "7"
+ },
+ "1,18": {
+ "contents": "8"
+ },
+ "1,19": {
+ "contents": "9"
+ },
+ "1,2": {
+ "contents": "2"
+ },
+ "1,3": {
+ "contents": "3"
+ },
+ "1,4": {
+ "contents": "4"
+ },
+ "1,5": {
+ "contents": "5"
+ },
+ "1,6": {
+ "contents": "6"
+ },
+ "1,7": {
+ "contents": "7"
+ },
+ "1,8": {
+ "contents": "8"
+ },
+ "1,9": {
+ "contents": "9"
+ },
+ "4,0": {
+ "contents": "0"
+ },
+ "4,1": {
+ "contents": "1"
+ },
+ "4,10": {
+ "contents": "0"
+ },
+ "4,11": {
+ "contents": "1"
+ },
+ "4,12": {
+ "contents": "2"
+ },
+ "4,13": {
+ "contents": "3"
+ },
+ "4,14": {
+ "contents": "4"
+ },
+ "4,15": {
+ "contents": "5"
+ },
+ "4,16": {
+ "contents": "6"
+ },
+ "4,17": {
+ "contents": "7"
+ },
+ "4,18": {
+ "contents": "8"
+ },
+ "4,19": {
+ "contents": "9"
+ },
+ "4,2": {
+ "contents": "2"
+ },
+ "4,20": {
+ "contents": "0"
+ },
+ "4,21": {
+ "contents": "1"
+ },
+ "4,22": {
+ "contents": "2"
+ },
+ "4,23": {
+ "contents": "3"
+ },
+ "4,24": {
+ "contents": "4"
+ },
+ "4,25": {
+ "contents": "5"
+ },
+ "4,26": {
+ "contents": "6"
+ },
+ "4,27": {
+ "contents": "7"
+ },
+ "4,28": {
+ "contents": "8"
+ },
+ "4,29": {
+ "contents": "9"
+ },
+ "4,3": {
+ "contents": "3"
+ },
+ "4,30": {
+ "contents": "0"
+ },
+ "4,31": {
+ "contents": "1"
+ },
+ "4,32": {
+ "contents": "2"
+ },
+ "4,33": {
+ "contents": "3"
+ },
+ "4,34": {
+ "contents": "4"
+ },
+ "4,35": {
+ "contents": "5"
+ },
+ "4,36": {
+ "contents": "6"
+ },
+ "4,37": {
+ "contents": "7"
+ },
+ "4,38": {
+ "contents": "8"
+ },
+ "4,39": {
+ "contents": "9"
+ },
+ "4,4": {
+ "contents": "4"
+ },
+ "4,40": {
+ "contents": "0"
+ },
+ "4,41": {
+ "contents": "1"
+ },
+ "4,42": {
+ "contents": "2"
+ },
+ "4,43": {
+ "contents": "3"
+ },
+ "4,44": {
+ "contents": "4"
+ },
+ "4,45": {
+ "contents": "5"
+ },
+ "4,46": {
+ "contents": "6"
+ },
+ "4,47": {
+ "contents": "7"
+ },
+ "4,48": {
+ "contents": "8"
+ },
+ "4,49": {
+ "contents": "9"
+ },
+ "4,5": {
+ "contents": "5"
+ },
+ "4,50": {
+ "contents": "0"
+ },
+ "4,51": {
+ "contents": "1"
+ },
+ "4,52": {
+ "contents": "2"
+ },
+ "4,53": {
+ "contents": "3"
+ },
+ "4,54": {
+ "contents": "4"
+ },
+ "4,55": {
+ "contents": "5"
+ },
+ "4,56": {
+ "contents": "6"
+ },
+ "4,57": {
+ "contents": "7"
+ },
+ "4,58": {
+ "contents": "8"
+ },
+ "4,59": {
+ "contents": "9"
+ },
+ "4,6": {
+ "contents": "6"
+ },
+ "4,60": {
+ "contents": "0"
+ },
+ "4,61": {
+ "contents": "1"
+ },
+ "4,62": {
+ "contents": "2"
+ },
+ "4,63": {
+ "contents": "3"
+ },
+ "4,64": {
+ "contents": "4"
+ },
+ "4,65": {
+ "contents": "5"
+ },
+ "4,66": {
+ "contents": "6"
+ },
+ "4,67": {
+ "contents": "7"
+ },
+ "4,68": {
+ "contents": "8"
+ },
+ "4,69": {
+ "contents": "9"
+ },
+ "4,7": {
+ "contents": "7"
+ },
+ "4,70": {
+ "contents": "0"
+ },
+ "4,71": {
+ "contents": "1"
+ },
+ "4,72": {
+ "contents": "2"
+ },
+ "4,73": {
+ "contents": "3"
+ },
+ "4,74": {
+ "contents": "4"
+ },
+ "4,75": {
+ "contents": "5"
+ },
+ "4,76": {
+ "contents": "6"
+ },
+ "4,77": {
+ "contents": "7"
+ },
+ "4,78": {
+ "contents": "8"
+ },
+ "4,79": {
+ "contents": "9"
+ },
+ "4,8": {
+ "contents": "8"
+ },
+ "4,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 4,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/2.typescript b/tests/data/fixtures/wrap/2.typescript
new file mode 100644
index 0000000..8498265
--- /dev/null
+++ b/tests/data/fixtures/wrap/2.typescript
@@ -0,0 +1 @@
+01234567890123456789012345678901234567890123456789012345678901234567890123456789 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/20.json b/tests/data/fixtures/wrap/20.json
new file mode 100644
index 0000000..7f0cf4c
--- /dev/null
+++ b/tests/data/fixtures/wrap/20.json
@@ -0,0 +1,249 @@
+{
+ "contents": " ",
+ "cells": {
+ "0,0": {
+ "contents": " "
+ },
+ "0,1": {
+ "contents": " "
+ },
+ "0,10": {
+ "contents": " "
+ },
+ "0,11": {
+ "contents": " "
+ },
+ "0,12": {
+ "contents": " "
+ },
+ "0,13": {
+ "contents": " "
+ },
+ "0,14": {
+ "contents": " "
+ },
+ "0,15": {
+ "contents": " "
+ },
+ "0,16": {
+ "contents": " "
+ },
+ "0,17": {
+ "contents": " "
+ },
+ "0,18": {
+ "contents": " "
+ },
+ "0,19": {
+ "contents": " "
+ },
+ "0,2": {
+ "contents": " "
+ },
+ "0,20": {
+ "contents": " "
+ },
+ "0,21": {
+ "contents": " "
+ },
+ "0,22": {
+ "contents": " "
+ },
+ "0,23": {
+ "contents": " "
+ },
+ "0,24": {
+ "contents": " "
+ },
+ "0,25": {
+ "contents": " "
+ },
+ "0,26": {
+ "contents": " "
+ },
+ "0,27": {
+ "contents": " "
+ },
+ "0,28": {
+ "contents": " "
+ },
+ "0,29": {
+ "contents": " "
+ },
+ "0,3": {
+ "contents": " "
+ },
+ "0,30": {
+ "contents": " "
+ },
+ "0,31": {
+ "contents": " "
+ },
+ "0,32": {
+ "contents": " "
+ },
+ "0,33": {
+ "contents": " "
+ },
+ "0,34": {
+ "contents": " "
+ },
+ "0,35": {
+ "contents": " "
+ },
+ "0,36": {
+ "contents": " "
+ },
+ "0,37": {
+ "contents": " "
+ },
+ "0,38": {
+ "contents": " "
+ },
+ "0,39": {
+ "contents": " "
+ },
+ "0,4": {
+ "contents": " "
+ },
+ "0,40": {
+ "contents": " "
+ },
+ "0,41": {
+ "contents": " "
+ },
+ "0,42": {
+ "contents": " "
+ },
+ "0,43": {
+ "contents": " "
+ },
+ "0,44": {
+ "contents": " "
+ },
+ "0,45": {
+ "contents": " "
+ },
+ "0,46": {
+ "contents": " "
+ },
+ "0,47": {
+ "contents": " "
+ },
+ "0,48": {
+ "contents": " "
+ },
+ "0,49": {
+ "contents": " "
+ },
+ "0,5": {
+ "contents": " "
+ },
+ "0,50": {
+ "contents": " "
+ },
+ "0,51": {
+ "contents": " "
+ },
+ "0,52": {
+ "contents": " "
+ },
+ "0,53": {
+ "contents": " "
+ },
+ "0,54": {
+ "contents": " "
+ },
+ "0,55": {
+ "contents": " "
+ },
+ "0,56": {
+ "contents": " "
+ },
+ "0,57": {
+ "contents": " "
+ },
+ "0,58": {
+ "contents": " "
+ },
+ "0,59": {
+ "contents": " "
+ },
+ "0,6": {
+ "contents": " "
+ },
+ "0,60": {
+ "contents": " "
+ },
+ "0,61": {
+ "contents": " "
+ },
+ "0,62": {
+ "contents": " "
+ },
+ "0,63": {
+ "contents": " "
+ },
+ "0,64": {
+ "contents": " "
+ },
+ "0,65": {
+ "contents": " "
+ },
+ "0,66": {
+ "contents": " "
+ },
+ "0,67": {
+ "contents": " "
+ },
+ "0,68": {
+ "contents": " "
+ },
+ "0,69": {
+ "contents": " "
+ },
+ "0,7": {
+ "contents": " "
+ },
+ "0,70": {
+ "contents": " "
+ },
+ "0,71": {
+ "contents": " "
+ },
+ "0,72": {
+ "contents": " "
+ },
+ "0,73": {
+ "contents": " "
+ },
+ "0,74": {
+ "contents": " "
+ },
+ "0,75": {
+ "contents": " "
+ },
+ "0,76": {
+ "contents": " "
+ },
+ "0,77": {
+ "contents": " "
+ },
+ "0,78": {
+ "contents": " "
+ },
+ "0,79": {
+ "contents": " "
+ },
+ "0,8": {
+ "contents": " "
+ },
+ "0,9": {
+ "contents": " "
+ }
+ },
+ "cursor_position": [
+ 2,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/20.typescript b/tests/data/fixtures/wrap/20.typescript
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/tests/data/fixtures/wrap/20.typescript
@@ -0,0 +1 @@
+
diff --git a/tests/data/fixtures/wrap/21.json b/tests/data/fixtures/wrap/21.json
new file mode 100644
index 0000000..e7201c1
--- /dev/null
+++ b/tests/data/fixtures/wrap/21.json
@@ -0,0 +1,252 @@
+{
+ "contents": " \n\n\n ",
+ "cells": {
+ "0,0": {
+ "contents": " "
+ },
+ "0,1": {
+ "contents": " "
+ },
+ "0,10": {
+ "contents": " "
+ },
+ "0,11": {
+ "contents": " "
+ },
+ "0,12": {
+ "contents": " "
+ },
+ "0,13": {
+ "contents": " "
+ },
+ "0,14": {
+ "contents": " "
+ },
+ "0,15": {
+ "contents": " "
+ },
+ "0,16": {
+ "contents": " "
+ },
+ "0,17": {
+ "contents": " "
+ },
+ "0,18": {
+ "contents": " "
+ },
+ "0,19": {
+ "contents": " "
+ },
+ "0,2": {
+ "contents": " "
+ },
+ "0,20": {
+ "contents": " "
+ },
+ "0,21": {
+ "contents": " "
+ },
+ "0,22": {
+ "contents": " "
+ },
+ "0,23": {
+ "contents": " "
+ },
+ "0,24": {
+ "contents": " "
+ },
+ "0,25": {
+ "contents": " "
+ },
+ "0,26": {
+ "contents": " "
+ },
+ "0,27": {
+ "contents": " "
+ },
+ "0,28": {
+ "contents": " "
+ },
+ "0,29": {
+ "contents": " "
+ },
+ "0,3": {
+ "contents": " "
+ },
+ "0,30": {
+ "contents": " "
+ },
+ "0,31": {
+ "contents": " "
+ },
+ "0,32": {
+ "contents": " "
+ },
+ "0,33": {
+ "contents": " "
+ },
+ "0,34": {
+ "contents": " "
+ },
+ "0,35": {
+ "contents": " "
+ },
+ "0,36": {
+ "contents": " "
+ },
+ "0,37": {
+ "contents": " "
+ },
+ "0,38": {
+ "contents": " "
+ },
+ "0,39": {
+ "contents": " "
+ },
+ "0,4": {
+ "contents": " "
+ },
+ "0,40": {
+ "contents": " "
+ },
+ "0,41": {
+ "contents": " "
+ },
+ "0,42": {
+ "contents": " "
+ },
+ "0,43": {
+ "contents": " "
+ },
+ "0,44": {
+ "contents": " "
+ },
+ "0,45": {
+ "contents": " "
+ },
+ "0,46": {
+ "contents": " "
+ },
+ "0,47": {
+ "contents": " "
+ },
+ "0,48": {
+ "contents": " "
+ },
+ "0,49": {
+ "contents": " "
+ },
+ "0,5": {
+ "contents": " "
+ },
+ "0,50": {
+ "contents": " "
+ },
+ "0,51": {
+ "contents": " "
+ },
+ "0,52": {
+ "contents": " "
+ },
+ "0,53": {
+ "contents": " "
+ },
+ "0,54": {
+ "contents": " "
+ },
+ "0,55": {
+ "contents": " "
+ },
+ "0,56": {
+ "contents": " "
+ },
+ "0,57": {
+ "contents": " "
+ },
+ "0,58": {
+ "contents": " "
+ },
+ "0,59": {
+ "contents": " "
+ },
+ "0,6": {
+ "contents": " "
+ },
+ "0,60": {
+ "contents": " "
+ },
+ "0,61": {
+ "contents": " "
+ },
+ "0,62": {
+ "contents": " "
+ },
+ "0,63": {
+ "contents": " "
+ },
+ "0,64": {
+ "contents": " "
+ },
+ "0,65": {
+ "contents": " "
+ },
+ "0,66": {
+ "contents": " "
+ },
+ "0,67": {
+ "contents": " "
+ },
+ "0,68": {
+ "contents": " "
+ },
+ "0,69": {
+ "contents": " "
+ },
+ "0,7": {
+ "contents": " "
+ },
+ "0,70": {
+ "contents": " "
+ },
+ "0,71": {
+ "contents": " "
+ },
+ "0,72": {
+ "contents": " "
+ },
+ "0,73": {
+ "contents": " "
+ },
+ "0,74": {
+ "contents": " "
+ },
+ "0,75": {
+ "contents": " "
+ },
+ "0,76": {
+ "contents": " "
+ },
+ "0,77": {
+ "contents": " "
+ },
+ "0,78": {
+ "contents": " "
+ },
+ "0,79": {
+ "contents": " "
+ },
+ "0,8": {
+ "contents": " "
+ },
+ "0,9": {
+ "contents": " "
+ },
+ "3,0": {
+ "contents": " "
+ }
+ },
+ "cursor_position": [
+ 3,
+ 1
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/21.typescript b/tests/data/fixtures/wrap/21.typescript
new file mode 100644
index 0000000..0519ecb
--- /dev/null
+++ b/tests/data/fixtures/wrap/21.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/22.json b/tests/data/fixtures/wrap/22.json
new file mode 100644
index 0000000..bb83ae4
--- /dev/null
+++ b/tests/data/fixtures/wrap/22.json
@@ -0,0 +1,8 @@
+{
+ "contents": "",
+ "cells": {},
+ "cursor_position": [
+ 0,
+ 0
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/22.typescript b/tests/data/fixtures/wrap/22.typescript
new file mode 100644
index 0000000..795264a
--- /dev/null
+++ b/tests/data/fixtures/wrap/22.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/23.json b/tests/data/fixtures/wrap/23.json
new file mode 100644
index 0000000..681554c
--- /dev/null
+++ b/tests/data/fixtures/wrap/23.json
@@ -0,0 +1,21 @@
+{
+ "contents": " bcd a",
+ "cells": {
+ "0,78": {
+ "contents": "b"
+ },
+ "0,79": {
+ "contents": "c"
+ },
+ "1,0": {
+ "contents": "d"
+ },
+ "1,2": {
+ "contents": "a"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 1
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/23.typescript b/tests/data/fixtures/wrap/23.typescript
new file mode 100644
index 0000000..d162fb8
--- /dev/null
+++ b/tests/data/fixtures/wrap/23.typescript
@@ -0,0 +1 @@
+ネabcd \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/3.json b/tests/data/fixtures/wrap/3.json
new file mode 100644
index 0000000..afa40a6
--- /dev/null
+++ b/tests/data/fixtures/wrap/3.json
@@ -0,0 +1,789 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\n\n01234567890123456789012345678901234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "0"
+ },
+ "1,1": {
+ "contents": "1"
+ },
+ "1,10": {
+ "contents": "0"
+ },
+ "1,11": {
+ "contents": "1"
+ },
+ "1,12": {
+ "contents": "2"
+ },
+ "1,13": {
+ "contents": "3"
+ },
+ "1,14": {
+ "contents": "4"
+ },
+ "1,15": {
+ "contents": "5"
+ },
+ "1,16": {
+ "contents": "6"
+ },
+ "1,17": {
+ "contents": "7"
+ },
+ "1,18": {
+ "contents": "8"
+ },
+ "1,19": {
+ "contents": "9"
+ },
+ "1,2": {
+ "contents": "2"
+ },
+ "1,3": {
+ "contents": "3"
+ },
+ "1,4": {
+ "contents": "4"
+ },
+ "1,5": {
+ "contents": "5"
+ },
+ "1,6": {
+ "contents": "6"
+ },
+ "1,7": {
+ "contents": "7"
+ },
+ "1,8": {
+ "contents": "8"
+ },
+ "1,9": {
+ "contents": "9"
+ },
+ "4,0": {
+ "contents": "0"
+ },
+ "4,1": {
+ "contents": "1"
+ },
+ "4,10": {
+ "contents": "0"
+ },
+ "4,11": {
+ "contents": "1"
+ },
+ "4,12": {
+ "contents": "2"
+ },
+ "4,13": {
+ "contents": "3"
+ },
+ "4,14": {
+ "contents": "4"
+ },
+ "4,15": {
+ "contents": "5"
+ },
+ "4,16": {
+ "contents": "6"
+ },
+ "4,17": {
+ "contents": "7"
+ },
+ "4,18": {
+ "contents": "8"
+ },
+ "4,19": {
+ "contents": "9"
+ },
+ "4,2": {
+ "contents": "2"
+ },
+ "4,20": {
+ "contents": "0"
+ },
+ "4,21": {
+ "contents": "1"
+ },
+ "4,22": {
+ "contents": "2"
+ },
+ "4,23": {
+ "contents": "3"
+ },
+ "4,24": {
+ "contents": "4"
+ },
+ "4,25": {
+ "contents": "5"
+ },
+ "4,26": {
+ "contents": "6"
+ },
+ "4,27": {
+ "contents": "7"
+ },
+ "4,28": {
+ "contents": "8"
+ },
+ "4,29": {
+ "contents": "9"
+ },
+ "4,3": {
+ "contents": "3"
+ },
+ "4,30": {
+ "contents": "0"
+ },
+ "4,31": {
+ "contents": "1"
+ },
+ "4,32": {
+ "contents": "2"
+ },
+ "4,33": {
+ "contents": "3"
+ },
+ "4,34": {
+ "contents": "4"
+ },
+ "4,35": {
+ "contents": "5"
+ },
+ "4,36": {
+ "contents": "6"
+ },
+ "4,37": {
+ "contents": "7"
+ },
+ "4,38": {
+ "contents": "8"
+ },
+ "4,39": {
+ "contents": "9"
+ },
+ "4,4": {
+ "contents": "4"
+ },
+ "4,40": {
+ "contents": "0"
+ },
+ "4,41": {
+ "contents": "1"
+ },
+ "4,42": {
+ "contents": "2"
+ },
+ "4,43": {
+ "contents": "3"
+ },
+ "4,44": {
+ "contents": "4"
+ },
+ "4,45": {
+ "contents": "5"
+ },
+ "4,46": {
+ "contents": "6"
+ },
+ "4,47": {
+ "contents": "7"
+ },
+ "4,48": {
+ "contents": "8"
+ },
+ "4,49": {
+ "contents": "9"
+ },
+ "4,5": {
+ "contents": "5"
+ },
+ "4,50": {
+ "contents": "0"
+ },
+ "4,51": {
+ "contents": "1"
+ },
+ "4,52": {
+ "contents": "2"
+ },
+ "4,53": {
+ "contents": "3"
+ },
+ "4,54": {
+ "contents": "4"
+ },
+ "4,55": {
+ "contents": "5"
+ },
+ "4,56": {
+ "contents": "6"
+ },
+ "4,57": {
+ "contents": "7"
+ },
+ "4,58": {
+ "contents": "8"
+ },
+ "4,59": {
+ "contents": "9"
+ },
+ "4,6": {
+ "contents": "6"
+ },
+ "4,60": {
+ "contents": "0"
+ },
+ "4,61": {
+ "contents": "1"
+ },
+ "4,62": {
+ "contents": "2"
+ },
+ "4,63": {
+ "contents": "3"
+ },
+ "4,64": {
+ "contents": "4"
+ },
+ "4,65": {
+ "contents": "5"
+ },
+ "4,66": {
+ "contents": "6"
+ },
+ "4,67": {
+ "contents": "7"
+ },
+ "4,68": {
+ "contents": "8"
+ },
+ "4,69": {
+ "contents": "9"
+ },
+ "4,7": {
+ "contents": "7"
+ },
+ "4,70": {
+ "contents": "0"
+ },
+ "4,71": {
+ "contents": "1"
+ },
+ "4,72": {
+ "contents": "2"
+ },
+ "4,73": {
+ "contents": "3"
+ },
+ "4,74": {
+ "contents": "4"
+ },
+ "4,75": {
+ "contents": "5"
+ },
+ "4,76": {
+ "contents": "6"
+ },
+ "4,77": {
+ "contents": "7"
+ },
+ "4,78": {
+ "contents": "8"
+ },
+ "4,79": {
+ "contents": "9"
+ },
+ "4,8": {
+ "contents": "8"
+ },
+ "4,9": {
+ "contents": "9"
+ },
+ "5,0": {
+ "contents": "0"
+ },
+ "5,1": {
+ "contents": "1"
+ },
+ "5,10": {
+ "contents": "0"
+ },
+ "5,11": {
+ "contents": "1"
+ },
+ "5,12": {
+ "contents": "2"
+ },
+ "5,13": {
+ "contents": "3"
+ },
+ "5,14": {
+ "contents": "4"
+ },
+ "5,15": {
+ "contents": "5"
+ },
+ "5,16": {
+ "contents": "6"
+ },
+ "5,17": {
+ "contents": "7"
+ },
+ "5,18": {
+ "contents": "8"
+ },
+ "5,19": {
+ "contents": "9"
+ },
+ "5,2": {
+ "contents": "2"
+ },
+ "5,20": {
+ "contents": "0"
+ },
+ "5,21": {
+ "contents": "1"
+ },
+ "5,22": {
+ "contents": "2"
+ },
+ "5,23": {
+ "contents": "3"
+ },
+ "5,24": {
+ "contents": "4"
+ },
+ "5,25": {
+ "contents": "5"
+ },
+ "5,26": {
+ "contents": "6"
+ },
+ "5,27": {
+ "contents": "7"
+ },
+ "5,28": {
+ "contents": "8"
+ },
+ "5,29": {
+ "contents": "9"
+ },
+ "5,3": {
+ "contents": "3"
+ },
+ "5,30": {
+ "contents": "0"
+ },
+ "5,31": {
+ "contents": "1"
+ },
+ "5,32": {
+ "contents": "2"
+ },
+ "5,33": {
+ "contents": "3"
+ },
+ "5,34": {
+ "contents": "4"
+ },
+ "5,35": {
+ "contents": "5"
+ },
+ "5,36": {
+ "contents": "6"
+ },
+ "5,37": {
+ "contents": "7"
+ },
+ "5,38": {
+ "contents": "8"
+ },
+ "5,39": {
+ "contents": "9"
+ },
+ "5,4": {
+ "contents": "4"
+ },
+ "5,40": {
+ "contents": "0"
+ },
+ "5,41": {
+ "contents": "1"
+ },
+ "5,42": {
+ "contents": "2"
+ },
+ "5,43": {
+ "contents": "3"
+ },
+ "5,44": {
+ "contents": "4"
+ },
+ "5,45": {
+ "contents": "5"
+ },
+ "5,46": {
+ "contents": "6"
+ },
+ "5,47": {
+ "contents": "7"
+ },
+ "5,48": {
+ "contents": "8"
+ },
+ "5,49": {
+ "contents": "9"
+ },
+ "5,5": {
+ "contents": "5"
+ },
+ "5,50": {
+ "contents": "0"
+ },
+ "5,51": {
+ "contents": "1"
+ },
+ "5,52": {
+ "contents": "2"
+ },
+ "5,53": {
+ "contents": "3"
+ },
+ "5,54": {
+ "contents": "4"
+ },
+ "5,55": {
+ "contents": "5"
+ },
+ "5,56": {
+ "contents": "6"
+ },
+ "5,57": {
+ "contents": "7"
+ },
+ "5,58": {
+ "contents": "8"
+ },
+ "5,59": {
+ "contents": "9"
+ },
+ "5,6": {
+ "contents": "6"
+ },
+ "5,60": {
+ "contents": "0"
+ },
+ "5,61": {
+ "contents": "1"
+ },
+ "5,62": {
+ "contents": "2"
+ },
+ "5,63": {
+ "contents": "3"
+ },
+ "5,64": {
+ "contents": "4"
+ },
+ "5,65": {
+ "contents": "5"
+ },
+ "5,66": {
+ "contents": "6"
+ },
+ "5,67": {
+ "contents": "7"
+ },
+ "5,68": {
+ "contents": "8"
+ },
+ "5,69": {
+ "contents": "9"
+ },
+ "5,7": {
+ "contents": "7"
+ },
+ "5,70": {
+ "contents": "0"
+ },
+ "5,71": {
+ "contents": "1"
+ },
+ "5,72": {
+ "contents": "2"
+ },
+ "5,73": {
+ "contents": "3"
+ },
+ "5,74": {
+ "contents": "4"
+ },
+ "5,75": {
+ "contents": "5"
+ },
+ "5,76": {
+ "contents": "6"
+ },
+ "5,77": {
+ "contents": "7"
+ },
+ "5,78": {
+ "contents": "8"
+ },
+ "5,79": {
+ "contents": "9"
+ },
+ "5,8": {
+ "contents": "8"
+ },
+ "5,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 5,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/3.typescript b/tests/data/fixtures/wrap/3.typescript
new file mode 100644
index 0000000..faf807a
--- /dev/null
+++ b/tests/data/fixtures/wrap/3.typescript
@@ -0,0 +1 @@
+01234567890123456789012345678901234567890123456789012345678901234567890123456789 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/4.json b/tests/data/fixtures/wrap/4.json
new file mode 100644
index 0000000..bb83ae4
--- /dev/null
+++ b/tests/data/fixtures/wrap/4.json
@@ -0,0 +1,8 @@
+{
+ "contents": "",
+ "cells": {},
+ "cursor_position": [
+ 0,
+ 0
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/4.typescript b/tests/data/fixtures/wrap/4.typescript
new file mode 100644
index 0000000..795264a
--- /dev/null
+++ b/tests/data/fixtures/wrap/4.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/5.json b/tests/data/fixtures/wrap/5.json
new file mode 100644
index 0000000..09fb67b
--- /dev/null
+++ b/tests/data/fixtures/wrap/5.json
@@ -0,0 +1,246 @@
+{
+ "contents": "0123456789012345678901234567890123456789012345678901234567890123456789012345678",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 0,
+ 79
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/5.typescript b/tests/data/fixtures/wrap/5.typescript
new file mode 100644
index 0000000..1f18cd9
--- /dev/null
+++ b/tests/data/fixtures/wrap/5.typescript
@@ -0,0 +1 @@
+0123456789012345678901234567890123456789012345678901234567890123456789012345678 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/6.json b/tests/data/fixtures/wrap/6.json
new file mode 100644
index 0000000..af45c83
--- /dev/null
+++ b/tests/data/fixtures/wrap/6.json
@@ -0,0 +1,249 @@
+{
+ "contents": "01234567890123456789012345678901234567890123456789012345678901234567890123456789",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ }
+ },
+ "cursor_position": [
+ 0,
+ 80
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/6.typescript b/tests/data/fixtures/wrap/6.typescript
new file mode 100644
index 0000000..f11c82a
--- /dev/null
+++ b/tests/data/fixtures/wrap/6.typescript
@@ -0,0 +1 @@
+9 \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/7.json b/tests/data/fixtures/wrap/7.json
new file mode 100644
index 0000000..9d7ae8a
--- /dev/null
+++ b/tests/data/fixtures/wrap/7.json
@@ -0,0 +1,252 @@
+{
+ "contents": "01234567890123456789012345678901234567890123456789012345678901234567890123456789a",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "a"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 1
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/7.typescript b/tests/data/fixtures/wrap/7.typescript
new file mode 100644
index 0000000..2e65efe
--- /dev/null
+++ b/tests/data/fixtures/wrap/7.typescript
@@ -0,0 +1 @@
+a \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/8.json b/tests/data/fixtures/wrap/8.json
new file mode 100644
index 0000000..0d96d63
--- /dev/null
+++ b/tests/data/fixtures/wrap/8.json
@@ -0,0 +1,255 @@
+{
+ "contents": "01234567890123456789012345678901234567890123456789012345678901234567890123456789ab",
+ "cells": {
+ "0,0": {
+ "contents": "0"
+ },
+ "0,1": {
+ "contents": "1"
+ },
+ "0,10": {
+ "contents": "0"
+ },
+ "0,11": {
+ "contents": "1"
+ },
+ "0,12": {
+ "contents": "2"
+ },
+ "0,13": {
+ "contents": "3"
+ },
+ "0,14": {
+ "contents": "4"
+ },
+ "0,15": {
+ "contents": "5"
+ },
+ "0,16": {
+ "contents": "6"
+ },
+ "0,17": {
+ "contents": "7"
+ },
+ "0,18": {
+ "contents": "8"
+ },
+ "0,19": {
+ "contents": "9"
+ },
+ "0,2": {
+ "contents": "2"
+ },
+ "0,20": {
+ "contents": "0"
+ },
+ "0,21": {
+ "contents": "1"
+ },
+ "0,22": {
+ "contents": "2"
+ },
+ "0,23": {
+ "contents": "3"
+ },
+ "0,24": {
+ "contents": "4"
+ },
+ "0,25": {
+ "contents": "5"
+ },
+ "0,26": {
+ "contents": "6"
+ },
+ "0,27": {
+ "contents": "7"
+ },
+ "0,28": {
+ "contents": "8"
+ },
+ "0,29": {
+ "contents": "9"
+ },
+ "0,3": {
+ "contents": "3"
+ },
+ "0,30": {
+ "contents": "0"
+ },
+ "0,31": {
+ "contents": "1"
+ },
+ "0,32": {
+ "contents": "2"
+ },
+ "0,33": {
+ "contents": "3"
+ },
+ "0,34": {
+ "contents": "4"
+ },
+ "0,35": {
+ "contents": "5"
+ },
+ "0,36": {
+ "contents": "6"
+ },
+ "0,37": {
+ "contents": "7"
+ },
+ "0,38": {
+ "contents": "8"
+ },
+ "0,39": {
+ "contents": "9"
+ },
+ "0,4": {
+ "contents": "4"
+ },
+ "0,40": {
+ "contents": "0"
+ },
+ "0,41": {
+ "contents": "1"
+ },
+ "0,42": {
+ "contents": "2"
+ },
+ "0,43": {
+ "contents": "3"
+ },
+ "0,44": {
+ "contents": "4"
+ },
+ "0,45": {
+ "contents": "5"
+ },
+ "0,46": {
+ "contents": "6"
+ },
+ "0,47": {
+ "contents": "7"
+ },
+ "0,48": {
+ "contents": "8"
+ },
+ "0,49": {
+ "contents": "9"
+ },
+ "0,5": {
+ "contents": "5"
+ },
+ "0,50": {
+ "contents": "0"
+ },
+ "0,51": {
+ "contents": "1"
+ },
+ "0,52": {
+ "contents": "2"
+ },
+ "0,53": {
+ "contents": "3"
+ },
+ "0,54": {
+ "contents": "4"
+ },
+ "0,55": {
+ "contents": "5"
+ },
+ "0,56": {
+ "contents": "6"
+ },
+ "0,57": {
+ "contents": "7"
+ },
+ "0,58": {
+ "contents": "8"
+ },
+ "0,59": {
+ "contents": "9"
+ },
+ "0,6": {
+ "contents": "6"
+ },
+ "0,60": {
+ "contents": "0"
+ },
+ "0,61": {
+ "contents": "1"
+ },
+ "0,62": {
+ "contents": "2"
+ },
+ "0,63": {
+ "contents": "3"
+ },
+ "0,64": {
+ "contents": "4"
+ },
+ "0,65": {
+ "contents": "5"
+ },
+ "0,66": {
+ "contents": "6"
+ },
+ "0,67": {
+ "contents": "7"
+ },
+ "0,68": {
+ "contents": "8"
+ },
+ "0,69": {
+ "contents": "9"
+ },
+ "0,7": {
+ "contents": "7"
+ },
+ "0,70": {
+ "contents": "0"
+ },
+ "0,71": {
+ "contents": "1"
+ },
+ "0,72": {
+ "contents": "2"
+ },
+ "0,73": {
+ "contents": "3"
+ },
+ "0,74": {
+ "contents": "4"
+ },
+ "0,75": {
+ "contents": "5"
+ },
+ "0,76": {
+ "contents": "6"
+ },
+ "0,77": {
+ "contents": "7"
+ },
+ "0,78": {
+ "contents": "8"
+ },
+ "0,79": {
+ "contents": "9"
+ },
+ "0,8": {
+ "contents": "8"
+ },
+ "0,9": {
+ "contents": "9"
+ },
+ "1,0": {
+ "contents": "a"
+ },
+ "1,1": {
+ "contents": "b"
+ }
+ },
+ "cursor_position": [
+ 1,
+ 2
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/8.typescript b/tests/data/fixtures/wrap/8.typescript
new file mode 100644
index 0000000..63d8dbd
--- /dev/null
+++ b/tests/data/fixtures/wrap/8.typescript
@@ -0,0 +1 @@
+b \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/9.json b/tests/data/fixtures/wrap/9.json
new file mode 100644
index 0000000..bb83ae4
--- /dev/null
+++ b/tests/data/fixtures/wrap/9.json
@@ -0,0 +1,8 @@
+{
+ "contents": "",
+ "cells": {},
+ "cursor_position": [
+ 0,
+ 0
+ ]
+} \ No newline at end of file
diff --git a/tests/data/fixtures/wrap/9.typescript b/tests/data/fixtures/wrap/9.typescript
new file mode 100644
index 0000000..795264a
--- /dev/null
+++ b/tests/data/fixtures/wrap/9.typescript
@@ -0,0 +1 @@
+ \ No newline at end of file