/src/test/run-pass/expr-if.rs
http://github.com/jruderman/rust · Rust · 55 lines · 41 code · 12 blank · 2 comment · 30 complexity · 7145a1048792703e3d873a546cec09b5 MD5 · raw file
- // -*- rust -*-
- // Tests for if as expressions
- fn test_if() { let rs: bool = if true { true } else { false }; assert (rs); }
- fn test_else() {
- let rs: bool = if false { false } else { true };
- assert (rs);
- }
- fn test_elseif1() {
- let rs: bool = if true { true } else if true { false } else { false };
- assert (rs);
- }
- fn test_elseif2() {
- let rs: bool = if false { false } else if true { true } else { false };
- assert (rs);
- }
- fn test_elseif3() {
- let rs: bool = if false { false } else if false { false } else { true };
- assert (rs);
- }
- fn test_inferrence() {
- let rs = if true { true } else { false };
- assert (rs);
- }
- fn test_if_as_if_condition() {
- let rs1 = if if false { false } else { true } { true } else { false };
- assert (rs1);
- let rs2 = if if true { false } else { true } { false } else { true };
- assert (rs2);
- }
- fn test_if_as_block_result() {
- let rs = if true { if false { false } else { true } } else { false };
- assert (rs);
- }
- fn main() {
- test_if();
- test_else();
- test_elseif1();
- test_elseif2();
- test_elseif3();
- test_inferrence();
- test_if_as_if_condition();
- test_if_as_block_result();
- }