about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-09-07 23:51:09 -0700
committerKartik Agaram <vc@akkartik.com>2020-09-07 23:51:09 -0700
commitd9a05dfbb7ac73b31b1f3c1fb36a5324243da8a2 (patch)
tree73595efc0bf0607c4b597c302b2c50eeb31259e6
parent8c9b8e8f77df88f1fb12339c5d548ae973f0fbde (diff)
downloadmu-d9a05dfbb7ac73b31b1f3c1fb36a5324243da8a2.tar.gz
6759 - first test for app/browse/
-rw-r--r--apps/browse/paginated-screen.mu27
1 files changed, 21 insertions, 6 deletions
diff --git a/apps/browse/paginated-screen.mu b/apps/browse/paginated-screen.mu
index 88a3d206..b0205a8d 100644
--- a/apps/browse/paginated-screen.mu
+++ b/apps/browse/paginated-screen.mu
@@ -77,9 +77,11 @@ fn start-drawing _self: (addr paginated-screen) {
   clear-paginated-screen self
   var tmp/eax: (addr int) <- copy 0
   var tmp2/ecx: int <- copy 0
-  # self->leftcol = page-margin
+  # self->leftcol = left-margin
+  tmp <- get self, left-margin
+  tmp2 <- copy *tmp
   tmp <- get self, leftcol
-  copy-to *tmp, 5  # left-margin
+  copy-to *tmp, tmp2
   # self->rightcol = self->leftcol + page-width
   tmp <- get self, page-width
   tmp2 <- copy *tmp
@@ -150,6 +152,18 @@ $add-grapheme:body: {
 
 ## tests
 
+fn test-print-grapheme-on-paginated-screen {
+  var pg-on-stack: paginated-screen
+  var pg/eax: (addr paginated-screen) <- address pg-on-stack
+  initialize-fake-paginated-screen pg, 3, 0xa, 0xa, 0, 0
+  start-drawing pg
+  var c/ecx: grapheme <- copy 0x61   # 'a'
+  add-grapheme pg, c
+  var screen-ah/eax: (addr handle screen) <- get pg, screen
+  var screen-addr/eax: (addr screen) <- lookup *screen-ah
+  check-screen-row screen-addr, 1, "a   ", "F - test-print-grapheme-on-paginated-screen"
+}
+
 fn initialize-fake-paginated-screen _self: (addr paginated-screen), nrows: int, ncols: int, page-width: int, top-margin: int, left-margin: int {
   var self/esi: (addr paginated-screen) <- copy _self
   var screen-ah/eax: (addr handle screen) <- get self, screen
@@ -253,16 +267,17 @@ fn next-page _self: (addr paginated-screen) {
 #?   tmp <- get self, rightcol
 #?   copy-to *tmp, tmp2
   # real: multiple pages
-  # self->leftcol = self->rightcol + page-margin
+  # self->leftcol = self->rightcol + left-margin
   tmp <- get self, rightcol
   tmp2 <- copy *tmp
-  tmp2 <- add 5  # page-margin
+  tmp <- get self, left-margin
+  tmp2 <- add *tmp
   tmp <- get self, leftcol
   copy-to *tmp, tmp2
   # self->rightcol = self->leftcol + page-width
   tmp2 <- copy *tmp
-  var pg/edi: (addr int) <- get self, page-width
-  tmp2 <- add *pg
+  tmp <- get self, page-width
+  tmp2 <- add *tmp
   tmp <- get self, rightcol
   copy-to *tmp, tmp2
   # self->row = self->toprow