zoe             Tue Apr 15 19:50:13 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/scripts/dev        generate_phpt.php 
  Log:
  Changes to the code that generates variations (Robin & Josie)
  
http://cvs.php.net/viewvc.cgi/php-src/scripts/dev/generate_phpt.php?r1=1.1.2.4&r2=1.1.2.5&diff_format=u
Index: php-src/scripts/dev/generate_phpt.php
diff -u php-src/scripts/dev/generate_phpt.php:1.1.2.4 
php-src/scripts/dev/generate_phpt.php:1.1.2.5
--- php-src/scripts/dev/generate_phpt.php:1.1.2.4       Sun Apr 13 10:46:12 2008
+++ php-src/scripts/dev/generate_phpt.php       Tue Apr 15 19:50:13 2008
@@ -323,70 +323,72 @@
 
        // integer values
        $variation_array['int'] = array(
-               "0",
-               "1",
-               "12345",
-               "-2345"
+               "'int 0' => 0",
+               "'int 1' => 1",
+               "'int 12345' => 12345",
+               "'int -12345' => -2345"
                );
 
        // float values
        $variation_array['float'] = array(
-               "10.5",
-               "-10.5",
-               "10.1234567e10",
-               "10.7654321E-10",
-               ".5"
+               "'float 10.5' => 10.5",
+               "'float -10.5' => -10.5",
+               "'float 12.3456789000e10' => 12.3456789000e10",
+               "'float -12.3456789000e10' => -12.3456789000e10",
+               "'float .5' => .5"
                );
 
        // array values
        $variation_array['array'] = array(
-               "array()",
-               "array(0)",
-               "array(1)",
-               "array(1, 2)",
-               "array('color' => 'red', 'item' => 'pen')"
+               "'empty array' => array()",
+               "'int indexed array' => \$index_array",
+               "'associative array' => \$assoc_array",
+               "'nested arrays' => array('foo', \$index_array, \$assoc_array)",
                );
 
        // null vlaues
        $variation_array['null'] = array(
-               "NULL",
-               "null"
+               "'uppercase NULL' => NULL",
+               "'lowercase null' => null"
                );
 
        // boolean values
        $variation_array['boolean'] = array(
-               "true",
-               "false",
-               "TRUE",
-               "FALSE"
+               "'lowercase true' => true",
+               "'lowercase false' =>false",
+               "'uppercase TRUE' =>TRUE",
+               "'uppercase FALSE' =>FALSE"
                );
 
-       // empty string
+       // empty data
        $variation_array['empty'] = array(
-               "\"\"",
-               "''",
+               "'empty string DQ' => \"\"",
+               "'empty string SQ' => ''"
                );
 
        // string values
        $variation_array['string'] = array(
-               "\"string\"",
-               "'string'",
+               "'string DQ' => \"string\"",
+               "'string SQ' => 'string'",
+               "'mixed case string' => \"sTrInG\"",
+               "'heredoc' => \$heredoc"
                );
 
-       // objects
+       // object data
        $variation_array['object'] = array(
-               "new stdclass()"
+               "'instance of classWithToString' => new classWithToString()",
+               "'instance of classWithoutToString' => new 
classWithoutToString()"
                );
 
 
        // undefined variable
        $variation_array['undefined'] = array(
-               '$undefined_var'
+               "'undefined var' => @\$undefined_var"   
                );
 
        // unset variable
        $variation_array['unset'] = array(
-               '$unset_var'
+               "'unset var' => @\$unset_var"
                );
 
 
@@ -611,6 +613,9 @@
 
        // decrement the $which_arg so that its matches with  the index of 
$types
        $which_arg--;
+       
+       //generate code to define error handler
+       $code_block = add_error_handler($code_block);
 
        // generate code to initialise arguments that won't be substituted
        array_push($code_block, "// Initialise function arguments not being 
substituted (if any)");
@@ -621,16 +626,34 @@
                }
        }
        array_push($code_block, $blank_line);
+       
 
        // generate code to unset a variable
        array_push($code_block, "//get an unset variable");
        array_push($code_block, "\$unset_var = 10;");
        array_push($code_block, "unset (\$unset_var);");
        array_push($code_block, $blank_line);
+       
+       //define some classes
+       $code_block = define_classes($code_block);
+       
+       //add heredoc string
+       array_push($code_block, "// heredoc string");
+       array_push($code_block, "\$heredoc = <<<EOT");
+       array_push($code_block, "hello world");
+       array_push($code_block, "EOT;");
+       array_push($code_block, $blank_line);
+       
+       //add arrays
+       array_push($code_block, "// add arrays");
+       array_push($code_block, "\$index_array = array (1, 2, 3);");
+       array_push($code_block, "\$assoc_array = array ('one' => 1, 'two' => 
2);");
+       array_push($code_block, $blank_line);
+       
 
        //generate code for an array of values to iterate over
        array_push($code_block, "//array of values to iterate over");
-       $code_block = gen_array_with_diff_values($types[$which_arg], 'values', 
$code_block);
+       $code_block = gen_array_with_diff_values($types[$which_arg], 'inputs', 
$code_block);
 
        //generate code for loop to iterate over array values
        array_push($code_block, $blank_line);
@@ -638,8 +661,8 @@
        array_push($code_block, "// loop through each element of the array for 
$names[$which_arg]");
        array_push($code_block, $blank_line);
        
-       array_push($code_block, "foreach(\$values as \$value) {");
-       array_push($code_block, "      echo \"\\nArg value \$value \\n\";");
+       array_push($code_block, "foreach(\$inputs as \$key =>\$value) {");
+       array_push($code_block, "      echo \"\\n--\$key--\\n\";");
 
         // prepare the function call
 
@@ -1091,4 +1114,35 @@
        }
        return $test_info;
 }
+function add_error_handler($cb) {
+       array_push($cb, "// Define error handler");
+       array_push($cb, "function test_error_handler(\$err_no, \$err_msg, 
\$filename, \$linenum, \$vars) {");
+       array_push($cb, "       if (error_reporting() != 0) {");
+       array_push($cb, "               // report non-silenced errors");
+       array_push($cb, "               echo \"Error: \$err_no - \$err_msg, 
\$filename(\$linenum)\\n\";");
+       array_push($cb, "       }");
+       array_push($cb, "}");
+       array_push($cb, "set_error_handler('test_error_handler');");
+       array_push($cb, "");
+       
+       return $cb;
+       
+}
+
+function define_classes($cb) {
+       array_push($cb,"// define some classes");
+       array_push($cb,"class classWithToString");
+       array_push($cb,"{");
+       array_push($cb,"        public function __toString() {");
+       array_push($cb,"                return \"Class A object\";");
+       array_push($cb,"        }");
+       array_push($cb,"}");
+       array_push($cb,"");
+       array_push($cb,"class classWithoutToString");
+       array_push($cb,"{");
+       array_push($cb,"}");
+       array_push($cb,"");
+       
+       return $cb;
+}
 ?>



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to