summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-04-30 11:48:56 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-04-30 11:48:56 -0400
commitcc1b670cf89bbc85ec987316f7c1a73cac6c04e2 (patch)
tree3c14a4c191641933ffd1dc31c3d4d34535687368 /tests
parent43b09eea446f8d02ee82360d229b1ce2ba65f6f8 (diff)
Subforms type-checks; lists urlified and unurlified
Diffstat (limited to 'tests')
-rw-r--r--tests/list.ur5
-rw-r--r--tests/subforms.ur23
-rw-r--r--tests/subforms.urp3
-rw-r--r--tests/subforms.urs1
4 files changed, 32 insertions, 0 deletions
diff --git a/tests/list.ur b/tests/list.ur
index 815c0075..480bdd3e 100644
--- a/tests/list.ur
+++ b/tests/list.ur
@@ -8,10 +8,15 @@ fun delist (ls : list string) : xbody =
Nil => <xml>Nil</xml>
| Cons (h, t) => <xml>{[h]} :: {delist t}</xml>
+fun callback ls = return <xml><body>
+ {delist ls}
+</body></xml>
+
fun main () = return <xml><body>
{[isNil (Nil : list bool)]},
{[isNil (Cons (1, Nil))]},
{[isNil (Cons ("A", Cons ("B", Nil)))]}
<p>{delist (Cons ("X", Cons ("Y", Cons ("Z", Nil))))}</p>
+ <a link={callback (Cons ("A", Cons ("B", Nil)))}>Go!</a>
</body></xml>
diff --git a/tests/subforms.ur b/tests/subforms.ur
new file mode 100644
index 00000000..3db55a43
--- /dev/null
+++ b/tests/subforms.ur
@@ -0,0 +1,23 @@
+fun handler' ls =
+ case ls of
+ Nil => <xml/>
+ | Cons (r, ls) => <xml><li>{[r.A]}, {[r.B]}, {[r.Sub]}</li>{handler' ls}</xml>
+
+fun handler r = return <xml><body>
+ {[r.A]}, {handler' r.Sub}, {[r.C]}
+</body></xml>
+
+fun main () = return <xml><body>
+ <form>
+ <textbox{#A}/><br/>
+ <subforms{#Sub}>
+ <entry>
+ <textbox{#A}/><br/>
+ <textbox{#B}/><br/>
+ <textbox{#Sub}/><br/>
+ </entry>
+ </subforms>
+ <textbox{#C}/><br/>
+ <submit action={handler}/>
+ </form>
+</body></xml>
diff --git a/tests/subforms.urp b/tests/subforms.urp
new file mode 100644
index 00000000..f0d5c239
--- /dev/null
+++ b/tests/subforms.urp
@@ -0,0 +1,3 @@
+debug
+
+subforms
diff --git a/tests/subforms.urs b/tests/subforms.urs
new file mode 100644
index 00000000..6ac44e0b
--- /dev/null
+++ b/tests/subforms.urs
@@ -0,0 +1 @@
+val main : unit -> transaction page