about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-06-16 14:33:00 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-06-16 14:33:00 -0700
commit37e87ffa9e9a750fec53d8865e243bc3a94cf698 (patch)
tree6d4a765e05ee0613214eab032e78e42172da70e3
parentcee0e7d5d34212831ac78b5dbe8f7fcc19ea05a1 (diff)
downloadmu-37e87ffa9e9a750fec53d8865e243bc3a94cf698.tar.gz
1570
-rw-r--r--edit.mu32
1 files changed, 31 insertions, 1 deletions
diff --git a/edit.mu b/edit.mu
index 62055ac9..1f1527ca 100644
--- a/edit.mu
+++ b/edit.mu
@@ -5,7 +5,7 @@ scenario edit-prints-string-to-screen [
   assume-keyboard []
   run [
     s:address:array:character <- new [abc]
-    s2:address:array:character, screen:address, keyboard:address <- edit s:address:array:character, screen:address, 0:literal/top, 0:literal/right, 10:literal/bottom, 5:literal/right, keyboard:address
+    s2:address:array:character, screen:address, keyboard:address <- edit s:address:array:character, screen:address, 0:literal/top, 0:literal/left, 10:literal/bottom, 5:literal/right, keyboard:address
   ]
   screen-should-contain [
     .abc       .
@@ -22,5 +22,35 @@ recipe edit [
   bottom:number <- next-ingredient
   right:number <- next-ingredient
   keyboard:address <- next-ingredient
+  move-cursor screen:address, top:number, left:number
   print-string screen:address, s:address:array:character
 ]
+
+scenario edit-prints-multiple-lines [
+  assume-screen 5:literal/width, 3:literal/height
+  assume-keyboard []
+  run [
+    s:address:array:character <- new [abc
+def]
+    s2:address:array:character, screen:address, keyboard:address <- edit s:address:array:character, screen:address, 0:literal/top, 0:literal/left, 10:literal/bottom, 5:literal/right, keyboard:address
+  ]
+  screen-should-contain [
+    .abc  .
+    .def  .
+    .     .
+  ]
+]
+
+scenario edit-handles-offsets [
+  assume-screen 5:literal/width, 3:literal/height
+  assume-keyboard []
+  run [
+    s:address:array:character <- new [abc]
+    s2:address:array:character, screen:address, keyboard:address <- edit s:address:array:character, screen:address, 0:literal/top, 1:literal/left, 10:literal/bottom, 5:literal/right, keyboard:address
+  ]
+  screen-should-contain [
+    . abc .
+    .     .
+    .     .
+  ]
+]