let goodwant = "door1"; let badwant = "door4"; let got = select (goodwant, "OOPS") => { door1 = "grand prize", door2 = "you lose", }; let defaultgot = select (badwant, "OOPS") => { door1 = "grand prize", door2 = "you lose", }; assert { ok = got == "grand prize", desc = "got == \"grand prize\"", }; assert { ok = defaultgot == "OOPS", desc = "defaultgot == \"OOPS\"", }; // select inside a function let condfunc = func (arg) => { output = select (arg, NULL) => { opt1 = "yay", opt2 = "boo", }, }; let result = condfunc("opt1"); assert { ok = condfunc("opt1") == {output = "yay"}, desc = "condfunc(\"opt1\") == {output = \"yay\"}", }; assert { ok = condfunc("opt2") == {output = "boo"}, desc = "condfunc(\"opt2\") == {output = \"boo\"}", }; assert { ok = condfunc("invalid") == {output = NULL}, desc = "condfunc(\"invalid\") == {output = NULL}", }; let iflike = select (true, "default") => { true = "I was true", false = "I was false", }; assert { ok = iflike == "I was true", desc = "iflike == \"I was true\"", }; let no_default_test = func(b) => select (b) => { true = "I was true", false = "I was false", }; assert { ok = no_default_test(true) == "I was true", desc = "no default successfully detects true", }; assert { ok = no_default_test(false) == "I was false", desc = "no default successfully detects false", }; let tpl_fields = { test = "foo", }; let no_default_select_result = select (tpl_fields.test == "foo") => { true = true, false = false, }; assert { ok = no_default_select_result, desc = "no default successfully select true", }; let nested_select_result_no_defaults = select (true) => { true = true, false = select (false) => { true = fail "whoops! this should never have triggered.", false = true, }, }; assert { ok = nested_select_result_no_defaults, desc = "Nested select result parses and resturns true", };