blob: 00319e7873d7c4efc4a5c56879fd8b6ce1af0d69 [file] [log] [blame]
<?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();
?>