mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-30 04:01:47 +00:00
Merge pull request #137 from zachborboa/master
Implement MultiCurl::addDownload(); Add Curl::download() and MultiCurl::download() examples
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
require '../src/Curl/Curl.php';
|
||||
|
||||
use \Curl\Curl;
|
||||
|
||||
$curl = new Curl();
|
||||
$curl->download('https://php.net/images/logos/php-med-trans.png', '/tmp/php-med-trans.png');
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
require '../src/Curl/Curl.php';
|
||||
require '../src/Curl/MultiCurl.php';
|
||||
|
||||
use \Curl\Curl;
|
||||
use \Curl\MultiCurl;
|
||||
|
||||
$multi_curl = new MultiCurl();
|
||||
$multi_curl->download('https://php.net/images/logos/php-med-trans.png', '/tmp/php-med-trans.png');
|
||||
$multi_curl->download('https://upload.wikimedia.org/wikipedia/commons/c/c1/PHP_Logo.png', '/tmp/PHP_Logo.png');
|
||||
$multi_curl->start();
|
||||
@@ -6,6 +6,7 @@ class MultiCurl
|
||||
{
|
||||
public $multi_curl;
|
||||
public $curls = array();
|
||||
private $curl_fhs = array();
|
||||
|
||||
private $headers = array();
|
||||
private $options = array();
|
||||
@@ -33,6 +34,15 @@ class MultiCurl
|
||||
|
||||
public function addDownload($url, $filename)
|
||||
{
|
||||
$curl = new Curl();
|
||||
$curl->setURL($url);
|
||||
$fh = fopen($filename, 'wb');
|
||||
$curl->setOpt(CURLOPT_FILE, $fh);
|
||||
$curl->setOpt(CURLOPT_CUSTOMREQUEST, 'GET');
|
||||
$curl->setOpt(CURLOPT_HTTPGET, true);
|
||||
$this->addHandle($curl);
|
||||
$this->curl_fhs[$curl->id] = $fh;
|
||||
return $curl;
|
||||
}
|
||||
|
||||
public function addGet($url, $data = array())
|
||||
@@ -164,6 +174,15 @@ class MultiCurl
|
||||
$ch->exec($ch->curl);
|
||||
curl_multi_remove_handle($this->multi_curl, $ch->curl);
|
||||
unset($curl_handles[$key]);
|
||||
|
||||
// Close open file handles and reset the curl instance.
|
||||
if (isset($this->curl_fhs[$ch->id])) {
|
||||
fclose($this->curl_fhs[$ch->id]);
|
||||
defined('STDOUT') || define('STDOUT', null);
|
||||
$ch->setOpt(CURLOPT_FILE, STDOUT);
|
||||
$ch->setOpt(CURLOPT_RETURNTRANSFER, true);
|
||||
unset($this->curl_fhs[$ch->id]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,11 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$delete_error_called = false;
|
||||
$delete_complete_called = false;
|
||||
|
||||
$download_before_send_called = false;
|
||||
$download_success_called = false;
|
||||
$download_error_called = false;
|
||||
$download_complete_called = false;
|
||||
|
||||
$get_before_send_called = false;
|
||||
$get_success_called = false;
|
||||
$get_error_called = false;
|
||||
@@ -46,6 +51,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$multi_curl = new MultiCurl();
|
||||
$multi_curl->beforeSend(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -61,7 +67,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_before_send_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertFalse($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_before_send_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertFalse($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_error_called);
|
||||
@@ -106,6 +118,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->success(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -121,7 +134,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_success_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_success_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertTrue($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_error_called);
|
||||
@@ -166,6 +185,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->error(function ($instance) use (
|
||||
&$delete_error_called,
|
||||
&$download_error_called,
|
||||
&$get_error_called,
|
||||
&$head_error_called,
|
||||
&$options_error_called,
|
||||
@@ -173,6 +193,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
&$post_error_called,
|
||||
&$put_error_called) {
|
||||
$delete_error_called = true;
|
||||
$download_error_called = true;
|
||||
$get_error_called = true;
|
||||
$head_error_called = true;
|
||||
$options_error_called = true;
|
||||
@@ -182,6 +203,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->complete(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -197,7 +219,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_complete_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_complete_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertTrue($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_error_called);
|
||||
@@ -242,6 +270,8 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
|
||||
$multi_curl->addDelete(Test::TEST_URL);
|
||||
$download_file_path = tempnam('/tmp', 'php-curl-class.');
|
||||
$multi_curl->addDownload(Test::TEST_URL, $download_file_path)->download = true;
|
||||
$multi_curl->addGet(Test::TEST_URL);
|
||||
$multi_curl->addHead(Test::TEST_URL);
|
||||
$multi_curl->addOptions(Test::TEST_URL);
|
||||
@@ -255,6 +285,12 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertFalse($delete_error_called);
|
||||
$this->assertTrue($delete_complete_called);
|
||||
|
||||
$this->assertTrue($download_before_send_called);
|
||||
$this->assertTrue($download_success_called);
|
||||
$this->assertFalse($download_error_called);
|
||||
$this->assertTrue($download_complete_called);
|
||||
$this->assertTrue(unlink($download_file_path));
|
||||
|
||||
$this->assertTrue($get_before_send_called);
|
||||
$this->assertTrue($get_success_called);
|
||||
$this->assertFalse($get_error_called);
|
||||
@@ -293,6 +329,11 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$delete_error_called = false;
|
||||
$delete_complete_called = false;
|
||||
|
||||
$download_before_send_called = false;
|
||||
$download_success_called = false;
|
||||
$download_error_called = false;
|
||||
$download_complete_called = false;
|
||||
|
||||
$get_before_send_called = false;
|
||||
$get_success_called = false;
|
||||
$get_error_called = false;
|
||||
@@ -326,6 +367,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$multi_curl = new MultiCurl();
|
||||
$multi_curl->beforeSend(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -341,7 +383,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_before_send_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertFalse($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_before_send_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertFalse($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_error_called);
|
||||
@@ -386,6 +434,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->success(function ($instance) use (
|
||||
&$delete_success_called,
|
||||
&$download_success_called,
|
||||
&$get_success_called,
|
||||
&$head_success_called,
|
||||
&$options_success_called,
|
||||
@@ -402,6 +451,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->error(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -417,7 +467,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_error_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_error_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertTrue($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_error_called);
|
||||
@@ -462,6 +518,7 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
$multi_curl->complete(function ($instance) use (
|
||||
&$delete_before_send_called, &$delete_success_called, &$delete_error_called, &$delete_complete_called,
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called,
|
||||
&$get_before_send_called, &$get_success_called, &$get_error_called, &$get_complete_called,
|
||||
&$head_before_send_called, &$head_success_called, &$head_error_called, &$head_complete_called,
|
||||
&$options_before_send_called, &$options_success_called, &$options_error_called, &$options_complete_called,
|
||||
@@ -477,7 +534,13 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
PHPUnit_Framework_Assert::assertFalse($delete_complete_called);
|
||||
$delete_complete_called = true;
|
||||
}
|
||||
if ($request_method === 'GET') {
|
||||
if (isset($instance->download)) {
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_complete_called = true;
|
||||
} elseif ($request_method === 'GET') {
|
||||
PHPUnit_Framework_Assert::assertTrue($get_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($get_success_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($get_error_called);
|
||||
@@ -527,6 +590,8 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
});
|
||||
|
||||
$multi_curl->addDelete(Test::ERROR_URL);
|
||||
$download_file_path = tempnam('/tmp', 'php-curl-class.');
|
||||
$multi_curl->addDownload(Test::ERROR_URL, $download_file_path)->download = true;
|
||||
$multi_curl->addGet(Test::ERROR_URL);
|
||||
$multi_curl->addHead(Test::ERROR_URL);
|
||||
$multi_curl->addOptions(Test::ERROR_URL);
|
||||
@@ -540,6 +605,12 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertTrue($delete_error_called);
|
||||
$this->assertTrue($delete_complete_called);
|
||||
|
||||
$this->assertTrue($download_before_send_called);
|
||||
$this->assertFalse($download_success_called);
|
||||
$this->assertTrue($download_error_called);
|
||||
$this->assertTrue($download_complete_called);
|
||||
$this->assertTrue(unlink($download_file_path));
|
||||
|
||||
$this->assertTrue($get_before_send_called);
|
||||
$this->assertFalse($get_success_called);
|
||||
$this->assertTrue($get_error_called);
|
||||
@@ -612,6 +683,44 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$delete_complete_called = true;
|
||||
});
|
||||
|
||||
$download_before_send_called = false;
|
||||
$download_success_called = false;
|
||||
$download_error_called = false;
|
||||
$download_complete_called = false;
|
||||
$download_file_path = tempnam('/tmp', 'php-curl-class.');
|
||||
$download = $multi_curl->addDownload(Test::TEST_URL, $download_file_path);
|
||||
$download->beforeSend(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_before_send_called = true;
|
||||
});
|
||||
$download->success(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_success_called = true;
|
||||
});
|
||||
$download->error(function ($instance) use (
|
||||
&$download_error_called) {
|
||||
$download_error_called = true;
|
||||
});
|
||||
$download->complete(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_complete_called = true;
|
||||
});
|
||||
|
||||
$get_before_send_called = false;
|
||||
$get_success_called = false;
|
||||
$get_error_called = false;
|
||||
@@ -841,6 +950,12 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertFalse($delete_error_called);
|
||||
$this->assertTrue($delete_complete_called);
|
||||
|
||||
$this->assertTrue($download_before_send_called);
|
||||
$this->assertTrue($download_success_called);
|
||||
$this->assertFalse($download_error_called);
|
||||
$this->assertTrue($download_complete_called);
|
||||
$this->assertTrue(unlink($download_file_path));
|
||||
|
||||
$this->assertTrue($get_before_send_called);
|
||||
$this->assertTrue($get_success_called);
|
||||
$this->assertFalse($get_error_called);
|
||||
@@ -913,6 +1028,44 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$delete_complete_called = true;
|
||||
});
|
||||
|
||||
$download_before_send_called = false;
|
||||
$download_success_called = false;
|
||||
$download_error_called = false;
|
||||
$download_complete_called = false;
|
||||
$download_file_path = tempnam('/tmp', 'php-curl-class.');
|
||||
$download = $multi_curl->addDownload(Test::ERROR_URL, $download_file_path);
|
||||
$download->beforeSend(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_before_send_called = true;
|
||||
});
|
||||
$download->success(function ($instance) use (
|
||||
&$download_success_called) {
|
||||
$download_success_called = true;
|
||||
});
|
||||
$download->error(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_error_called = true;
|
||||
});
|
||||
$download->complete(function ($instance) use (
|
||||
&$download_before_send_called, &$download_success_called, &$download_error_called, &$download_complete_called) {
|
||||
PHPUnit_Framework_Assert::assertInstanceOf('Curl\Curl', $instance);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_before_send_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_success_called);
|
||||
PHPUnit_Framework_Assert::assertTrue($download_error_called);
|
||||
PHPUnit_Framework_Assert::assertFalse($download_complete_called);
|
||||
$download_complete_called = true;
|
||||
});
|
||||
|
||||
$get_before_send_called = false;
|
||||
$get_success_called = false;
|
||||
$get_error_called = false;
|
||||
@@ -1142,6 +1295,12 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertTrue($delete_error_called);
|
||||
$this->assertTrue($delete_complete_called);
|
||||
|
||||
$this->assertTrue($download_before_send_called);
|
||||
$this->assertFalse($download_success_called);
|
||||
$this->assertTrue($download_error_called);
|
||||
$this->assertTrue($download_complete_called);
|
||||
$this->assertTrue(unlink($download_file_path));
|
||||
|
||||
$this->assertTrue($get_before_send_called);
|
||||
$this->assertFalse($get_success_called);
|
||||
$this->assertTrue($get_error_called);
|
||||
@@ -1207,6 +1366,25 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$delete_complete_called = true;
|
||||
});
|
||||
|
||||
$download_before_send_called = false;
|
||||
$download_success_called = false;
|
||||
$download_error_called = false;
|
||||
$download_complete_called = false;
|
||||
$download_file_path = tempnam('/tmp', 'php-curl-class.');
|
||||
$download = $multi_curl->addDownload(Test::TEST_URL, $download_file_path);
|
||||
$download->beforeSend(function ($instance) use (&$download_before_send_called) {
|
||||
$download_before_send_called = true;
|
||||
});
|
||||
$download->success(function ($instance) use (&$download_success_called) {
|
||||
$download_success_called = true;
|
||||
});
|
||||
$download->error(function ($instance) use (&$download_error_called) {
|
||||
$download_error_called = true;
|
||||
});
|
||||
$download->complete(function ($instance) use (&$download_complete_called) {
|
||||
$download_complete_called = true;
|
||||
});
|
||||
|
||||
$get_before_send_called = false;
|
||||
$get_success_called = false;
|
||||
$get_error_called = false;
|
||||
@@ -1322,6 +1500,12 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertFalse($delete_error_called);
|
||||
$this->assertTrue($delete_complete_called);
|
||||
|
||||
$this->assertTrue($download_before_send_called);
|
||||
$this->assertTrue($download_success_called);
|
||||
$this->assertFalse($download_error_called);
|
||||
$this->assertTrue($download_complete_called);
|
||||
$this->assertTrue(unlink($download_file_path));
|
||||
|
||||
$this->assertTrue($get_before_send_called);
|
||||
$this->assertTrue($get_success_called);
|
||||
$this->assertFalse($get_error_called);
|
||||
|
||||
Reference in New Issue
Block a user