diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-03-08 12:37:42 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-03-08 12:37:42 -0400 |
commit | c0a6029c982508efaa1f00caf4b61dc0096443b2 (patch) | |
tree | 16f872ddda6b89d621cb45a6dd0a1b492ece00dc /tests | |
parent | e4e1bf5221bd0cf68df2ba444425e5a0b9d50af1 (diff) |
RPC returning an enumeration
Diffstat (limited to 'tests')
-rw-r--r-- | tests/rpcDE.ur | 30 | ||||
-rw-r--r-- | tests/rpcDE.urp | 5 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/rpcDE.ur b/tests/rpcDE.ur new file mode 100644 index 00000000..64e190f5 --- /dev/null +++ b/tests/rpcDE.ur @@ -0,0 +1,30 @@ +datatype result = Neg | Zero | Pos + +table t : {A : int} + +fun main () : transaction page = + let + fun check () = + r <- oneRow (SELECT SUM(t.A) AS X FROM t); + return (if r.X < 0 then + Neg + else if r.X = 0 then + Zero + else + Pos) + + fun show r = + case r of + Neg => <xml>-</xml> + | Zero => <xml>0</xml> + | Pos => <xml>+</xml> + in + s <- source Zero; + return <xml><body> + <button value="Get It On!" + onclick={r <- check (); + set s r}/><br/> + <br/> + Current: <dyn signal={r <- signal s; return (show r)}/> + </body></xml> + end diff --git a/tests/rpcDE.urp b/tests/rpcDE.urp new file mode 100644 index 00000000..2027ff85 --- /dev/null +++ b/tests/rpcDE.urp @@ -0,0 +1,5 @@ +debug +sql rpcDE.sql +database dbname=rpcde + +rpcDE |