/** ** Returns a string of fuzz text. */ private static function loop() { switch (wikiFuzz::randnum(3)) { case 1: // an opening tag, with parameters. $string = ""; $i = wikiFuzz::randnum(count(wikiFuzz::$types) - 1); $t = wikiFuzz::$types[$i]; $arr = wikiFuzz::$data[$t]; $string .= "<" . $t . " "; $num_params = min(wikiFuzz::$maxparams, count($arr)); for ($z = 0; $z < $num_params; $z++) { $badparam = $arr[wikiFuzz::randnum(count($arr) - 1)]; $badstring = wikiFuzz::makestring(); $string .= $badparam . "=" . wikiFuzz::getRandQuote() . $badstring . wikiFuzz::getRandQuote() . " "; } $string .= ">\n"; return $string; case 2: // a closing tag. $i = wikiFuzz::randnum(count(wikiFuzz::$types) - 1); return "</" . wikiFuzz::$types[$i] . ">"; case 3: // a random string, between tags. return wikiFuzz::makeString(); } return ""; // catch-all, should never be called. }