Mercurial > urweb
diff tests/jsinj.ur @ 595:02c8ab9f3e8b
Injected an enumeration
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 08 Jan 2009 09:57:45 -0500 |
parents | 55829473f6a7 |
children | d1ec54288b1a |
line wrap: on
line diff
--- a/tests/jsinj.ur Fri Jan 02 13:03:22 2009 -0500 +++ b/tests/jsinj.ur Thu Jan 08 09:57:45 2009 -0500 @@ -3,12 +3,23 @@ None => v | Some x => x +datatype color = Red | White | Blue + +fun colorToString c = + case c of + Red => "R" + | White => "W" + | Blue => "B" + +val show_color = mkShow colorToString + cookie int : int cookie float : float cookie string : string cookie bool : bool cookie pair : int * float cookie option : option int +cookie color : color fun main () : transaction page = n <- getCookie int; @@ -33,7 +44,11 @@ o <- getCookie option; o <- return (getOpt o (Some 1)); - op <- source None; + so <- source None; + + c <- getCookie color; + c <- return (getOpt c White); + sc <- source Blue; return <xml><body> <dyn signal={n <- signal sn; return <xml>{[n]}</xml>}/> @@ -51,8 +66,11 @@ <dyn signal={p <- signal sp; return <xml>{[p.1]}, {[p.2]}</xml>}/> <a onclick={set sp p}>CHANGE</a><br/> - <dyn signal={o <- signal op; case o of + <dyn signal={o <- signal so; case o of None => return <xml>None</xml> | Some x => return <xml>{[x]}</xml>}/> - <a onclick={set op o}>CHANGE</a><br/> + <a onclick={set so o}>CHANGE</a><br/> + + <dyn signal={c <- signal sc; return <xml>{[c]}</xml>}/> + <a onclick={set sc c}>CHANGE</a><br/> </body></xml>