]>
Commit | Line | Data |
---|---|---|
223e47cc LB |
1 | // Copyright 2012 The Rust Project Developers. See the COPYRIGHT |
2 | // file at the top-level directory of this distribution and at | |
3 | // http://rust-lang.org/COPYRIGHT. | |
4 | // | |
5 | // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | |
6 | // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
7 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | |
8 | // option. This file may not be copied, modified, or distributed | |
9 | // except according to those terms. | |
10 | ||
11 | ||
12 | ||
13 | ||
223e47cc LB |
14 | |
15 | // Tests for if as expressions | |
c34b1796 | 16 | |
223e47cc LB |
17 | fn test_if() { let rs: bool = if true { true } else { false }; assert!((rs)); } |
18 | ||
19 | fn test_else() { | |
20 | let rs: bool = if false { false } else { true }; | |
21 | assert!((rs)); | |
22 | } | |
23 | ||
24 | fn test_elseif1() { | |
25 | let rs: bool = if true { true } else if true { false } else { false }; | |
26 | assert!((rs)); | |
27 | } | |
28 | ||
29 | fn test_elseif2() { | |
30 | let rs: bool = if false { false } else if true { true } else { false }; | |
31 | assert!((rs)); | |
32 | } | |
33 | ||
34 | fn test_elseif3() { | |
35 | let rs: bool = if false { false } else if false { false } else { true }; | |
36 | assert!((rs)); | |
37 | } | |
38 | ||
39 | fn test_inferrence() { | |
40 | let rs = if true { true } else { false }; | |
41 | assert!((rs)); | |
42 | } | |
43 | ||
44 | fn test_if_as_if_condition() { | |
45 | let rs1 = if if false { false } else { true } { true } else { false }; | |
46 | assert!((rs1)); | |
47 | let rs2 = if if true { false } else { true } { false } else { true }; | |
48 | assert!((rs2)); | |
49 | } | |
50 | ||
51 | fn test_if_as_block_result() { | |
52 | let rs = if true { if false { false } else { true } } else { false }; | |
53 | assert!((rs)); | |
54 | } | |
55 | ||
56 | pub fn main() { | |
57 | test_if(); | |
58 | test_else(); | |
59 | test_elseif1(); | |
60 | test_elseif2(); | |
61 | test_elseif3(); | |
62 | test_inferrence(); | |
63 | test_if_as_if_condition(); | |
64 | test_if_as_block_result(); | |
65 | } |