summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/badkind.ur1
-rw-r--r--tests/badkind.urp3
-rw-r--r--tests/filter.urp1
-rw-r--r--tests/html5_cforms.ur4
-rw-r--r--tests/rpc_unit.ur8
-rw-r--r--tests/tooEager.ur18
-rw-r--r--tests/trgm.ur25
-rw-r--r--tests/trgm.urp6
-rw-r--r--tests/trgm.urs1
-rw-r--r--tests/wildsig.ur7
10 files changed, 72 insertions, 2 deletions
diff --git a/tests/badkind.ur b/tests/badkind.ur
new file mode 100644
index 00000000..600f7a35
--- /dev/null
+++ b/tests/badkind.ur
@@ -0,0 +1 @@
+fun main () : transaction page = <xml>ahoy!</xml>
diff --git a/tests/badkind.urp b/tests/badkind.urp
new file mode 100644
index 00000000..934e4928
--- /dev/null
+++ b/tests/badkind.urp
@@ -0,0 +1,3 @@
+rewrite Badkind/main /
+
+badkind
diff --git a/tests/filter.urp b/tests/filter.urp
index 102a1871..ddf1a3df 100644
--- a/tests/filter.urp
+++ b/tests/filter.urp
@@ -1,4 +1,5 @@
debug
database dbname=filter
+sql filter.sql
filter
diff --git a/tests/html5_cforms.ur b/tests/html5_cforms.ur
index be07d07e..317a0638 100644
--- a/tests/html5_cforms.ur
+++ b/tests/html5_cforms.ur
@@ -9,8 +9,8 @@ fun main () : transaction page =
d <- source "";
e <- source "";
f <- source "";
- g <- source 1.0;
- h <- source 1.0;
+ g <- source (Some 1.0);
+ h <- source (Some 1.0);
i <- source "#CCCCCC";
j <- source "2014/11/16";
k <- source "2014/11/16 12:30:45";
diff --git a/tests/rpc_unit.ur b/tests/rpc_unit.ur
new file mode 100644
index 00000000..befd6045
--- /dev/null
+++ b/tests/rpc_unit.ur
@@ -0,0 +1,8 @@
+val callme = return ((), (), "A", (), ())
+
+val main : transaction page = return <xml><body>
+ <button value="CLICK ME"
+ onclick={fn _ =>
+ (_, _, s, _, _) <- rpc callme;
+ alert s}/>
+</body></xml>
diff --git a/tests/tooEager.ur b/tests/tooEager.ur
new file mode 100644
index 00000000..c84a6d6c
--- /dev/null
+++ b/tests/tooEager.ur
@@ -0,0 +1,18 @@
+fun test (i: list int) : transaction unit =
+ a <- return (Some "abc");
+ c <- (case a of
+ None => return "1"
+ | Some b =>
+ debug "not happening :(";
+ return "2"
+ );
+ (case i of
+ [] => return ()
+ | first :: _ => debug c)
+
+fun main (): transaction page =
+ return <xml>
+ <body>
+ <button onclick={fn _ => rpc (test [])}>click</button>
+ </body>
+ </xml>
diff --git a/tests/trgm.ur b/tests/trgm.ur
new file mode 100644
index 00000000..45783366
--- /dev/null
+++ b/tests/trgm.ur
@@ -0,0 +1,25 @@
+table turtles : { Nam : string }
+
+fun add name =
+ dml (INSERT INTO turtles(Nam)
+ VALUES ({[name]}))
+
+fun closest name =
+ List.mapQuery (SELECT *
+ FROM turtles
+ ORDER BY similarity(turtles.Nam, {[name]}) DESC
+ LIMIT 5)
+ (fn r => r.Turtles.Nam)
+
+val main =
+ name <- source "";
+ results <- source [];
+ return <xml><body>
+ Name: <ctextbox source={name}/><br/>
+ <button value="Add" onclick={fn _ => n <- get name; rpc (add n)}/><br/>
+ <button value="Search" onclick={fn _ => n <- get name; ls <- rpc (closest n); set results ls}/><br/>
+ <dyn signal={rs <- signal results;
+ return <xml><ol>
+ {List.mapX (fn n => <xml><li>{[n]}</li></xml>) rs}
+ </ol></xml>}/>
+ </body></xml>
diff --git a/tests/trgm.urp b/tests/trgm.urp
new file mode 100644
index 00000000..326151e7
--- /dev/null
+++ b/tests/trgm.urp
@@ -0,0 +1,6 @@
+database dbname=trgm
+sql trgm.sql
+rewrite all Trgm/*
+
+$/list
+trgm
diff --git a/tests/trgm.urs b/tests/trgm.urs
new file mode 100644
index 00000000..61778b87
--- /dev/null
+++ b/tests/trgm.urs
@@ -0,0 +1 @@
+val main : transaction page
diff --git a/tests/wildsig.ur b/tests/wildsig.ur
new file mode 100644
index 00000000..336772a7
--- /dev/null
+++ b/tests/wildsig.ur
@@ -0,0 +1,7 @@
+signature S = sig
+ val x : _
+end
+
+structure M : S = struct
+ val x = 7
+end