1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-14 15:13:29 +01:00
invoiceninja/vendor/php-payments/tests/test.php
2014-04-13 09:38:15 +03:00

75 lines
1.7 KiB
PHP
Executable File

<?php
class Test
{
/*
* Where is PHP Payments Located?
*/
public $dir;
/*
* Constructor
*/
public function __construct($tests = array())
{
//include PHP Payments
$this->dir = dirname(__DIR__);
include($this->dir."/lib/payments.php");
//Include class helpers. These are all static and do not require instantiation.
foreach(scandir('classes') as $class)
{
if($class[0] !== '.') include "classes/$class";
}
}
/*
* Run a Single Test
*/
public function single($test, $args = array())
{
include "tests/$test.php";
$class_name = 'Test_'.ucfirst(str_replace('.php', '', $test));
$test_instance = new $class_name($this->dir, $args);
$test_instance->run();
}
/*
* Run All Tests
*/
public function all()
{
foreach(scandir('tests') as $test)
{
if($test[0] !== '.' && !is_dir($this->dir.'/tests/tests/'.$test))
{
include "tests/$test";
$class_name = 'Test_'.ucfirst(str_replace('.php', '', $test));
$test_instance = new $class_name($this->dir);
$test_instance->run();
}
}
}
public function destruct()
{
echo "Thankyou for choosing PHP-Payments! Please send questions, comments or donations (via PayPal) to calvinfroedge@gmail.com. If you find a bug, please post it in the issues section of the Git repository: https://github.com/calvinfroedge/PHP-Payments \n \n";
}
}
$test = new Test();
//The 0th element is simply the filename. Get rid of it and reindex the array.
unset($argv[0]);
$argv = array_values($argv);
if(empty($argv))
{
$test->all();
}
else
{
$test_name = $argv[0]; //This should be the name of the test to run
unset($argv[0]);
$test->single($test_name, $argv); //Passing rest of the params to a specific test to set it's options (if any)
}