first commit
This commit is contained in:
80
lib/phpxmlrpc/tests/LocalFileTestCase.php
Normal file
80
lib/phpxmlrpc/tests/LocalFileTestCase.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__ . '/parse_args.php';
|
||||
|
||||
abstract class PhpXmlRpc_LocalFileTestCase extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
public $args = array();
|
||||
|
||||
protected $baseUrl;
|
||||
|
||||
protected $testId;
|
||||
/** @var boolean $collectCodeCoverageInformation */
|
||||
protected $collectCodeCoverageInformation;
|
||||
protected $coverageScriptUrl;
|
||||
|
||||
public function run(PHPUnit_Framework_TestResult $result = NULL)
|
||||
{
|
||||
$this->testId = get_class($this) . '__' . $this->getName();
|
||||
|
||||
if ($result === NULL) {
|
||||
$result = $this->createResult();
|
||||
}
|
||||
|
||||
$this->collectCodeCoverageInformation = $result->getCollectCodeCoverageInformation();
|
||||
|
||||
parent::run($result);
|
||||
|
||||
if ($this->collectCodeCoverageInformation) {
|
||||
$coverage = new PHPUnit_Extensions_SeleniumCommon_RemoteCoverage(
|
||||
$this->coverageScriptUrl,
|
||||
$this->testId
|
||||
);
|
||||
$result->getCodeCoverage()->append(
|
||||
$coverage->get(), $this
|
||||
);
|
||||
}
|
||||
|
||||
// do not call this before to give the time to the Listeners to run
|
||||
//$this->getStrategy()->endOfTest($this->session);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function request($file, $method = 'GET', $payload = '', $emptyPageOk = false)
|
||||
{
|
||||
$url = $this->baseUrl . $file;
|
||||
|
||||
$ch = curl_init($url);
|
||||
curl_setopt_array($ch, array(
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_FAILONERROR => true
|
||||
));
|
||||
if ($method == 'POST')
|
||||
{
|
||||
curl_setopt_array($ch, array(
|
||||
CURLOPT_POST => true,
|
||||
CURLOPT_POSTFIELDS => $payload
|
||||
));
|
||||
}
|
||||
if ($this->collectCodeCoverageInformation)
|
||||
{
|
||||
curl_setopt($ch, CURLOPT_COOKIE, 'PHPUNIT_SELENIUM_TEST_ID=true');
|
||||
}
|
||||
if ($this->args['DEBUG'] > 0) {
|
||||
curl_setopt($ch, CURLOPT_VERBOSE, 1);
|
||||
}
|
||||
$page = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
$this->assertNotFalse($page);
|
||||
if (!$emptyPageOk) {
|
||||
$this->assertNotEquals('', $page);
|
||||
}
|
||||
$this->assertNotContains('Fatal error', $page);
|
||||
$this->assertNotContains('Notice:', $page);
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user