aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-11-16 05:43:51 -0500
committerJesse Luehrs <doy@tozt.net>2021-11-16 05:43:51 -0500
commite12e67fae2b9702b8ec5b2f7c29542d26550ab24 (patch)
treef8682d2f6f6fd3c5d04c5cd4076f55e772eb9c3a /tests
parent90cbd4b873a2840385bcbc64e199604bcbaead4c (diff)
downloadvt100-rust-e12e67fae2b9702b8ec5b2f7c29542d26550ab24.tar.gz
vt100-rust-e12e67fae2b9702b8ec5b2f7c29542d26550ab24.zip
input validation for vpa
Diffstat (limited to 'tests')
-rw-r--r--tests/csi.rs10
-rw-r--r--tests/data/fixtures/absolute_movement.in1
-rw-r--r--tests/data/fixtures/absolute_movement/10.json4
-rw-r--r--tests/data/fixtures/absolute_movement/10.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/4.json4
-rw-r--r--tests/data/fixtures/absolute_movement/4.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/5.json2
-rw-r--r--tests/data/fixtures/absolute_movement/5.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/6.json2
-rw-r--r--tests/data/fixtures/absolute_movement/6.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/7.json2
-rw-r--r--tests/data/fixtures/absolute_movement/7.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/8.json2
-rw-r--r--tests/data/fixtures/absolute_movement/8.typescript2
-rw-r--r--tests/data/fixtures/absolute_movement/9.typescript2
15 files changed, 26 insertions, 15 deletions
diff --git a/tests/csi.rs b/tests/csi.rs
index bc33594..7a409b6 100644
--- a/tests/csi.rs
+++ b/tests/csi.rs
@@ -6,6 +6,16 @@ fn absolute_movement() {
}
#[test]
+fn row_clamp() {
+ let mut vt = vt100::Parser::default();
+ assert_eq!(vt.screen().cursor_position(), (0, 0));
+ vt.process(b"\x1b[15d");
+ assert_eq!(vt.screen().cursor_position(), (14, 0));
+ vt.process(b"\x1b[150d");
+ assert_eq!(vt.screen().cursor_position(), (23, 0));
+}
+
+#[test]
fn relative_movement() {
helpers::fixture("relative_movement");
}
diff --git a/tests/data/fixtures/absolute_movement.in b/tests/data/fixtures/absolute_movement.in
index b8221ab..ddfb4be 100644
--- a/tests/data/fixtures/absolute_movement.in
+++ b/tests/data/fixtures/absolute_movement.in
@@ -1,6 +1,7 @@
\x1b[10;10H
\x1b[d
\x1b[15d
+\x1b[150d
\x1b[H
\x1b[8H
\x1b[15G
diff --git a/tests/data/fixtures/absolute_movement/10.json b/tests/data/fixtures/absolute_movement/10.json
index d8db62c..bb83ae4 100644
--- a/tests/data/fixtures/absolute_movement/10.json
+++ b/tests/data/fixtures/absolute_movement/10.json
@@ -2,7 +2,7 @@
"contents": "",
"cells": {},
"cursor_position": [
- 23,
- 79
+ 0,
+ 0
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/10.typescript b/tests/data/fixtures/absolute_movement/10.typescript
index 0bb223c..155097b 100644
--- a/tests/data/fixtures/absolute_movement/10.typescript
+++ b/tests/data/fixtures/absolute_movement/10.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/4.json b/tests/data/fixtures/absolute_movement/4.json
index bb83ae4..41f8756 100644
--- a/tests/data/fixtures/absolute_movement/4.json
+++ b/tests/data/fixtures/absolute_movement/4.json
@@ -2,7 +2,7 @@
"contents": "",
"cells": {},
"cursor_position": [
- 0,
- 0
+ 23,
+ 9
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/4.typescript b/tests/data/fixtures/absolute_movement/4.typescript
index 79743fd..c534421 100644
--- a/tests/data/fixtures/absolute_movement/4.typescript
+++ b/tests/data/fixtures/absolute_movement/4.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/5.json b/tests/data/fixtures/absolute_movement/5.json
index 69777cc..bb83ae4 100644
--- a/tests/data/fixtures/absolute_movement/5.json
+++ b/tests/data/fixtures/absolute_movement/5.json
@@ -2,7 +2,7 @@
"contents": "",
"cells": {},
"cursor_position": [
- 7,
+ 0,
0
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/5.typescript b/tests/data/fixtures/absolute_movement/5.typescript
index 45f0cd0..79743fd 100644
--- a/tests/data/fixtures/absolute_movement/5.typescript
+++ b/tests/data/fixtures/absolute_movement/5.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/6.json b/tests/data/fixtures/absolute_movement/6.json
index cb39b6e..69777cc 100644
--- a/tests/data/fixtures/absolute_movement/6.json
+++ b/tests/data/fixtures/absolute_movement/6.json
@@ -3,6 +3,6 @@
"cells": {},
"cursor_position": [
7,
- 14
+ 0
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/6.typescript b/tests/data/fixtures/absolute_movement/6.typescript
index 03227f7..45f0cd0 100644
--- a/tests/data/fixtures/absolute_movement/6.typescript
+++ b/tests/data/fixtures/absolute_movement/6.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/7.json b/tests/data/fixtures/absolute_movement/7.json
index 69777cc..cb39b6e 100644
--- a/tests/data/fixtures/absolute_movement/7.json
+++ b/tests/data/fixtures/absolute_movement/7.json
@@ -3,6 +3,6 @@
"cells": {},
"cursor_position": [
7,
- 0
+ 14
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/7.typescript b/tests/data/fixtures/absolute_movement/7.typescript
index 257c040..03227f7 100644
--- a/tests/data/fixtures/absolute_movement/7.typescript
+++ b/tests/data/fixtures/absolute_movement/7.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/8.json b/tests/data/fixtures/absolute_movement/8.json
index bb83ae4..69777cc 100644
--- a/tests/data/fixtures/absolute_movement/8.json
+++ b/tests/data/fixtures/absolute_movement/8.json
@@ -2,7 +2,7 @@
"contents": "",
"cells": {},
"cursor_position": [
- 0,
+ 7,
0
]
} \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/8.typescript b/tests/data/fixtures/absolute_movement/8.typescript
index 314a127..257c040 100644
--- a/tests/data/fixtures/absolute_movement/8.typescript
+++ b/tests/data/fixtures/absolute_movement/8.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file
diff --git a/tests/data/fixtures/absolute_movement/9.typescript b/tests/data/fixtures/absolute_movement/9.typescript
index 155097b..314a127 100644
--- a/tests/data/fixtures/absolute_movement/9.typescript
+++ b/tests/data/fixtures/absolute_movement/9.typescript
@@ -1 +1 @@
- \ No newline at end of file
+ \ No newline at end of file