1--TEST-- 2Test escapeshellarg() function : usage variations - different data types as $arg arg 3--SKIPIF-- 4<?php 5if( substr(PHP_OS, 0, 3) != "WIN" ) 6 die("skip.. only for Windows"); 7?> 8--FILE-- 9<?php 10 11echo "*** Testing escapeshellarg() : usage variations ***\n"; 12 13//get an unset variable 14$unset_var = 10; 15unset ($unset_var); 16 17// heredoc string 18$heredoc = <<<EOT 19abc 20xyz 21EOT; 22 23 24// get a resource variable 25$fp = fopen(__FILE__, "r"); 26 27$inputs = array( 28 // int data 29/*1*/ 0, 30 1, 31 12, 32 -12, 33 2147483647, 34 35 // float data 36/*6*/ 10.5, 37 -10.5, 38 1.234567e2, 39 1.234567E-2, 40 .5, 41 42 // null data 43/*11*/ NULL, 44 null, 45 46 // boolean data 47/*13*/ true, 48 false, 49 TRUE, 50 FALSE, 51 52 // empty data 53/*17*/ "", 54 '', 55 56 // undefined data 57/*19*/ @$undefined_var, 58 59 // unset data 60/*20*/ @$unset_var, 61 62); 63 64// loop through each element of $inputs to check the behaviour of escapeshellarg() 65$iterator = 1; 66foreach($inputs as $input) { 67 echo "\n-- Iteration $iterator --\n"; 68 var_dump(escapeshellarg($input)); 69 $iterator++; 70}; 71?> 72--EXPECT-- 73*** Testing escapeshellarg() : usage variations *** 74 75-- Iteration 1 -- 76string(3) ""0"" 77 78-- Iteration 2 -- 79string(3) ""1"" 80 81-- Iteration 3 -- 82string(4) ""12"" 83 84-- Iteration 4 -- 85string(5) ""-12"" 86 87-- Iteration 5 -- 88string(12) ""2147483647"" 89 90-- Iteration 6 -- 91string(6) ""10.5"" 92 93-- Iteration 7 -- 94string(7) ""-10.5"" 95 96-- Iteration 8 -- 97string(10) ""123.4567"" 98 99-- Iteration 9 -- 100string(12) ""0.01234567"" 101 102-- Iteration 10 -- 103string(5) ""0.5"" 104 105-- Iteration 11 -- 106string(2) """" 107 108-- Iteration 12 -- 109string(2) """" 110 111-- Iteration 13 -- 112string(3) ""1"" 113 114-- Iteration 14 -- 115string(2) """" 116 117-- Iteration 15 -- 118string(3) ""1"" 119 120-- Iteration 16 -- 121string(2) """" 122 123-- Iteration 17 -- 124string(2) """" 125 126-- Iteration 18 -- 127string(2) """" 128 129-- Iteration 19 -- 130string(2) """" 131 132-- Iteration 20 -- 133string(2) """" 134