summaryrefslogtreecommitdiff
path: root/tests/crud.ur
diff options
context:
space:
mode:
Diffstat (limited to 'tests/crud.ur')
-rw-r--r--tests/crud.ur17
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/crud.ur b/tests/crud.ur
index 7f0fc71c..c596eaad 100644
--- a/tests/crud.ur
+++ b/tests/crud.ur
@@ -1,4 +1,4 @@
-con colMeta' = fn t :: Type => {Show : t -> xbody}
+con colMeta' = fn t :: Type => {Nam : string, Show : t -> xbody}
con colMeta = fn cols :: {Type} => $(Top.mapTT colMeta' cols)
functor Make(M : sig
@@ -22,8 +22,8 @@ fun main () : transaction page =
{foldTRX2 [idT] [colMeta'] [tr]
(fn (nm :: Name) (t :: Type) (rest :: {Type}) =>
[[nm] ~ rest] =>
- fn v funcs => <tr>
- <td>{funcs.Show v}</td>
+ fn v col => <tr>
+ <td>{col.Show v}</td>
</tr>)
[M.cols] (fs.T -- #Id) M.cols}
</tr>
@@ -36,7 +36,16 @@ fun main () : transaction page =
<h1>{cdata M.title}</h1>
<table border={1}>
- <tr> <th>ID</th> </tr>
+ <tr>
+ <th>ID</th>
+ {foldTRX [colMeta'] [tr]
+ (fn (nm :: Name) (t :: Type) (rest :: {Type}) =>
+ [[nm] ~ rest] =>
+ fn col => <tr>
+ <th>{cdata col.Nam}</th>
+ </tr>)
+ [M.cols] M.cols}
+ </tr>
{rows}
</table>
</body></html>