diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-02-24 19:35:52 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-02-24 19:35:52 +0100 |
commit | 819a2a03acb6bd47c4205be900f8b3f20e17c583 (patch) | |
tree | 288ec58d5d087843ce5024fecc6c51f6b497c452 /tests | |
parent | f4a0400de285feec8fe07a41b5a0191728614227 (diff) | |
parent | 79384ea729075a2242923bf28ee1d3513a174d9b (diff) | |
download | Nim-819a2a03acb6bd47c4205be900f8b3f20e17c583.tar.gz |
Merge pull request #2184 from oderwat/feat-caseofwhen
Allow empty sets in case/of branches.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/casestmt/tcase_emptyset_when.nim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/casestmt/tcase_emptyset_when.nim b/tests/casestmt/tcase_emptyset_when.nim new file mode 100644 index 000000000..e9b1ec2df --- /dev/null +++ b/tests/casestmt/tcase_emptyset_when.nim @@ -0,0 +1,24 @@ +discard """ + file: "tcaseofwhen.nim" + outputsub: "compiles for 1\ni am always two\ndefault for 3\nset is 4 not 5\narray is 6 not 7\ndefault for 8" + exitcode: "0" +""" + +proc whenCase(a: int) = + case a + of (when compiles(whenCase(1)): 1 else: {}): echo "compiles for 1" + of {}: echo "me not fail" + of 2: echo "i am always two" + of []: echo "me neither" + of {4,5}: echo "set is 4 not 5" + of [6,7]: echo "array is 6 not 7" + of (when compiles(neverCompilesIBet()): 3 else: {}): echo "compiles for 3" + #of {},[]: echo "me neither" + else: echo "default for ", a + +whenCase(1) +whenCase(2) +whenCase(3) +whenCase(4) +whenCase(6) +whenCase(8) |