2ba835d9277d6272444faed4139d497924195092
[m6w6/ext-psi] / tests / parser / cpp001.phpt
1 --TEST--
2 CPP defines
3 --FILE--
4 ===TEST===
5 <?php
6
7 var_dump(psi_validate_string(<<<PSI
8 #define FOO
9 #ifndef FOO
10 # error FOO is not defined
11 #endif
12
13 #ifdef FOO
14 # define BAR 1
15 #else
16 no error #here, yay!
17 #endif
18
19 #if BAR
20 # define BAZ
21 #endif
22
23 #ifndef BAZ
24 error
25 #endif
26
27 #undef BAZ
28 #ifdef BAZ
29 # error BAZ is defined
30 #endif
31
32 #ifndef _1
33 # ifndef _2
34 # ifndef _3
35 # else
36 error 3
37 # endif
38 # else
39 error 2
40 # endif
41 #else
42 error 1
43 #endif
44
45
46 #ifndef _1
47 # ifdef _2
48 error 2
49 # else
50
51 enum a{b};
52
53 # endif
54 #else
55 error 1
56 #endif
57
58 enum b{a=b};
59 PSI
60 ));
61 ?>
62 ===DONE===
63 --EXPECT--
64 ===TEST===
65 bool(true)
66 ===DONE===