| <?php |
| //======================================================================= |
| // File: TESTSUIT.PHP |
| // Description: Run all the example script in current directory |
| // Created: 2002-07-11 |
| // Author: Johan Persson (johanp@aditus.nu) |
| // Ver: $Id$ |
| // |
| // License: This code is released under QPL 1.0 |
| // Copyright (C) 2001,2002 Johan Persson |
| //======================================================================== |
| |
| //------------------------------------------------------------------------- |
| // |
| // Usage: testsuit.php[?type=1] Generates all non image map scripts |
| // testsuit.php?type=2 Generates client side image map scripts |
| // |
| //------------------------------------------------------------------------- |
| class TestDriver { |
| |
| var $iType; |
| var $iDir; |
| |
| function TestDriver($aType=1,$aDir='') { |
| $this->iType = $aType; |
| if( $aDir == '' ) { |
| $aDir = getcwd(); |
| } |
| if( !chdir($aDir) ) { |
| die("PANIC: Can't access directory : $aDir"); |
| } |
| $this->iDir = $aDir; |
| } |
| |
| function GetFiles() { |
| $d = dir($this->iDir); |
| $a = array(); |
| while( $entry=$d->Read() ) { |
| if( strstr($entry,".php") && strstr($entry,"x") && !strstr($entry,"show") && !strstr($entry,"csim") ) { |
| $a[] = $entry; |
| } |
| } |
| $d->Close(); |
| if( count($a) == 0 ) { |
| die("PANIC: Apache/PHP does not have enough permission to read the scripts in directory: $this->iDir"); |
| } |
| sort($a); |
| return $a; |
| } |
| |
| function GetCSIMFiles() { |
| $d = dir($this->iDir); |
| $a = array(); |
| while( $entry=$d->Read() ) { |
| if( strstr($entry,".php") && strstr($entry,"csim") ) { |
| $a[] = $entry; |
| } |
| } |
| $d->Close(); |
| if( count($a) == 0 ) { |
| die("PANIC: Apache/PHP does not have enough permission to read the CSIM scripts in directory: $this->iDir"); |
| } |
| sort($a); |
| return $a; |
| } |
| |
| |
| function Run() { |
| switch( $this->iType ) { |
| case 1: |
| $files = $this->GetFiles(); |
| break; |
| case 2: |
| $files = $this->GetCSIMFiles(); |
| break; |
| default: |
| die('Panic: Unknown type of test'); |
| break; |
| } |
| $n = count($files); |
| echo "<h2>Visual test suit for JpGraph</h2>"; |
| echo "Testtype: " . ($this->iType==1 ? ' Standard images ':' Image map tests '); |
| echo "<br>Number of tests: $n<p>"; |
| echo "<ol>"; |
| |
| for( $i=0; $i<$n; ++$i ) { |
| if( $this->iType ==1 ) { |
| echo '<li><a href="show-example.php?target='.urlencode($files[$i]).'"><img src="'.$files[$i].'" border=0 align=top></a><br><strong>Filename:</strong> <i>'.basename($files[$i])."</i>\n"; |
| } |
| else { |
| echo '<li><a href="show-example.php?target='.urlencode($files[$i]).'">'.$files[$i]."</a>\n"; |
| } |
| } |
| echo "</ol>"; |
| |
| echo "<p>Done.</p>"; |
| } |
| } |
| |
| $type=@$HTTP_GET_VARS['t']; |
| if( empty($type) ) { |
| $type=1; |
| } |
| |
| $driver = new TestDriver($type); |
| $driver->Run(); |
| |
| ?> |