diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-09-11 00:29:20 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-09-11 00:29:20 -0700 |
commit | 9818804c1f635ccad8b13025038212b22bb08f6a (patch) | |
tree | 22fc1083652ab7220913d94d66186f7427640002 /apps/browse/main.mu | |
parent | a03daa83f59fa22a0d5a7857767ba03e3d2909a5 (diff) | |
download | mu-9818804c1f635ccad8b13025038212b22bb08f6a.tar.gz |
6771 - first passing test for the browser itself
In the process I had to go back and redo the `done-drawing?` logic everywhere.
Diffstat (limited to 'apps/browse/main.mu')
-rw-r--r-- | apps/browse/main.mu | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/browse/main.mu b/apps/browse/main.mu index 90143953..ad66d7d0 100644 --- a/apps/browse/main.mu +++ b/apps/browse/main.mu @@ -59,6 +59,25 @@ fn render screen: (addr paginated-screen), fs: (addr buffered-file) { render-normal screen, fs } +fn test-render-normal-text { + # input text + var input-storage: (handle buffered-file) + var input-ah/eax: (addr handle buffered-file) <- address input-storage + populate-buffered-file-containing "abcdefgh", input-ah + var in/eax: (addr buffered-file) <- lookup input-storage + # output screen + var pg: paginated-screen + var pg-addr/ecx: (addr paginated-screen) <- address pg + initialize-fake-paginated-screen pg-addr, 3, 6, 2, 1, 1 # 3 rows, 6 columns, 2 pages * 2 columns each + # + render pg-addr, in + var screen-ah/eax: (addr handle screen) <- get pg, screen + var screen/eax: (addr screen) <- lookup *screen-ah + check-screen-row screen, 1, " ", "F - test-render-normal-text/row1" + check-screen-row screen, 2, " ab ef", "F - test-render-normal-text/row2" + check-screen-row screen, 3, " cd gh", "F - test-render-normal-text/row3" +} + fn render-normal screen: (addr paginated-screen), fs: (addr buffered-file) { var newline-seen?/esi: boolean <- copy 0 # false var start-of-paragraph?/edi: boolean <- copy 1 # true |