tagged release 0.6.4
[parrot.git] / languages / pipp / t / php / control_flow.t
blobfd121bf170d1c7eeac48a26ed475a8bb97573ca4
1 # $Id$
3 =head1 NAME
5 pipp/t/control_flow.t - tests for Pipp
7 =head1 DESCRIPTION
9 Test control flow.
11 =cut
13 # pragmata
14 use strict;
15 use warnings;
17 use FindBin;
18 use lib "$FindBin::Bin/../../lib";
20 use Parrot::Config (); 
21 use Parrot::Test;
22 use Test::More     tests => 10;
24 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'if, one statement in block' );
25 <?php
26 if (1)
28   echo "Hi\n";
31 END_CODE
33 END_EXPECTED
35 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'if, no statements in block' );
36 <?php
37 if (1)
40 echo "Hi\n";
42 END_CODE
44 END_EXPECTED
46 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'if, two statements in block' );
47 <?php
48 if (1)
50   echo "Hi";
51   echo "\n";
54 END_CODE
56 END_EXPECTED
58 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'if/else taking if-branch' );
59 <?php
60 if (1)
62   echo "if block\n";
64 else
66   echo "else block\n";
69 END_CODE
70 if block
71 END_EXPECTED
73 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'i/else taking else-branchf' );
74 <?php
75 if (0)
77   echo "if block\n";
79 else
81   echo "else block\n";
84 END_CODE
85 else block
86 END_EXPECTED
88 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED' . q{  }, 'positive int' );
89 <?php
90 if (1) {
91   ?>
92     Condition is true.
93   <?php
96 END_CODE
97     Condition is true.
98 END_EXPECTED
100 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'zero' );
101 <?php
102 if (0) {
103   ?>
104     'Condition is true' does not apply.
105   <?php
108 Condition is false.
109 END_CODE
110 Condition is false.
111 END_EXPECTED
113 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'string' );
114 <?php
115 if ( 'false' ) {
117 The string 'false' is true.
118 <?php
121 END_CODE
122 The string 'false' is true.
123 END_EXPECTED
125 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'string' );
126 <?php
127 if ( 'vrai' ) {
129 The string 'vrai' is true.
130 <?php
132 else
135 The string 'vrai' is false.
136 <?php
139 END_CODE
140 The string 'vrai' is true.
141 END_EXPECTED
144 language_output_is( 'Pipp', <<'END_CODE', <<'END_EXPECTED', 'string' );
145 <?php
146 if ( 0 ) {
148 The integer 0 is true.
149 <?php
151 else
154 The integer 0 is false.
155 <?php
158 END_CODE
159 The integer 0 is false.
160 END_EXPECTED