[added tests for pattern matching mail@stefanwehr.de**20050612114850] { adddir ./tests/pattern-matching adddir ./tests/pattern-matching/should_fail adddir ./tests/pattern-matching/should_pass addfile ./tests/pattern-matching/should_fail/000.err hunk ./tests/pattern-matching/should_fail/000.err 1 +pattern match failure addfile ./tests/pattern-matching/should_fail/000.phc hunk ./tests/pattern-matching/should_fail/000.phc 1 +data A = A Int; +data B a = B1 a A + | B2 + ; + +foo (B1 _ (A i)) = i; + +main = foo B2; + addfile ./tests/pattern-matching/should_fail/Flag hunk ./tests/pattern-matching/should_fail/Flag 1 +expect-fail --no-location addfile ./tests/pattern-matching/should_pass/000.out hunk ./tests/pattern-matching/should_pass/000.out 1 +42 addfile ./tests/pattern-matching/should_pass/000.phc hunk ./tests/pattern-matching/should_pass/000.phc 1 +data A = A Int; +data B a = B1 a A + | B2 + ; + +foo x = case x of + B1 _ (A i) -> i; + B2 -> 0; + ; + +main = foo (B1 "Stefan" (A 42)); addfile ./tests/pattern-matching/should_pass/001.out hunk ./tests/pattern-matching/should_pass/001.out 1 +42 addfile ./tests/pattern-matching/should_pass/001.phc hunk ./tests/pattern-matching/should_pass/001.phc 1 +data A = A Int; +data B a = B1 a A + | B2 + ; + +foo (B1 _ (A i)) = i; + +main = foo (B1 "Stefan" (A 42)); addfile ./tests/pattern-matching/should_pass/002.out hunk ./tests/pattern-matching/should_pass/002.out 1 +Pair 1 2 addfile ./tests/pattern-matching/should_pass/002.phc hunk ./tests/pattern-matching/should_pass/002.phc 1 +foo p@(_,_) = p; + +main = foo (1,2); }