예제 #1
0
파일: tests.php 프로젝트: daxiazh/swig
 function globals($globals)
 {
     if (!is_array($globals)) {
         $globals = array($globals);
     }
     $message = array();
     $missing = array();
     $extra = array_flip(check::get_extra_globals());
     foreach ($globals as $glob) {
         if (GETSET) {
             if (!isset($extra[$glob])) {
                 $missing[] = $glob;
             } else {
                 unset($extra[$glob]);
             }
         } else {
             if (!isset($GLOBALS[$glob])) {
                 $missing[] = $glob;
             } else {
                 unset($extra[$glob]);
             }
         }
     }
     if ($missing) {
         $message[] = sprintf("Globals missing: %s", join(",", $missing));
     }
     if ($message) {
         return check::fail(join("\n  ", $message));
     }
     if ($extra) {
         $message[] = sprintf("These extra globals are defined: %s", join(",", array_keys($extra)));
     }
     if ($message) {
         return check::warn(join("\n  ", $message));
     }
     return TRUE;
 }