diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-06-16 14:33:00 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-06-16 14:33:00 -0700 |
commit | 37e87ffa9e9a750fec53d8865e243bc3a94cf698 (patch) | |
tree | 6d4a765e05ee0613214eab032e78e42172da70e3 | |
parent | cee0e7d5d34212831ac78b5dbe8f7fcc19ea05a1 (diff) | |
download | mu-37e87ffa9e9a750fec53d8865e243bc3a94cf698.tar.gz |
1570
-rw-r--r-- | edit.mu | 32 |
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 . + . . + . . + ] +] |