Skip to content

Commit 84b1765

Browse files
committed
- New tests (testfest ParisUG)
1 parent 11c7846 commit 84b1765

21 files changed

+776
-0
lines changed

ext/curl/tests/curl_basic_001.phpt

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
--TEST--
2+
Test curl_exec() function with basic functionality
3+
--CREDITS--
4+
Sebastian Deutsch <[email protected]>
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_exec(resource ch)
14+
* Description: Perform a cURL session
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo "*** Testing curl_exec() : basic functionality ***\n";
23+
24+
$url = "{$host}/get.php?test=get";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
29+
$ok = curl_exec($ch);
30+
curl_close($ch);
31+
$curl_content = ob_get_contents();
32+
ob_end_clean();
33+
34+
if($ok) {
35+
var_dump( $curl_content );
36+
} else {
37+
echo "curl_exec returned false";
38+
}
39+
?>
40+
===DONE===
41+
--EXPECTF--
42+
*** Testing curl_exec() : basic functionality ***
43+
string(25) "Hello World!
44+
Hello World!"
45+
===DONE===

ext/curl/tests/curl_basic_002.phpt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--TEST--
2+
Test curl_opt() function with CURLOPT_RETURNTRANSFER parameter set to 1
3+
--CREDITS--
4+
Sebastian Deutsch <[email protected]>
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_setopt(resource ch, int option, mixed value)
14+
* Description: Set an option for a cURL transfer
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo '*** Testing curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ***' . "\n";
23+
24+
$url = "{$host}/get.php?test=get";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
29+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
30+
31+
$curl_content = curl_exec($ch);
32+
curl_close($ch);
33+
34+
var_dump( $curl_content );
35+
?>
36+
===DONE===
37+
--EXPECTF--
38+
*** Testing curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ***
39+
string(25) "Hello World!
40+
Hello World!"
41+
===DONE===

ext/curl/tests/curl_basic_003.phpt

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
--TEST--
2+
Test curl_opt() function with POST parameters
3+
--CREDITS--
4+
Sebastian Deutsch <[email protected]>
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_setopt(resource ch, int option, mixed value)
14+
* Description: Set an option for a cURL transfer
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo '*** Testing curl sending through GET an POST ***' . "\n";
23+
24+
$url = "{$host}/get.php?test=getpost&get_param=Hello%20World";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
29+
curl_setopt($ch, CURLOPT_POST, 1);
30+
curl_setopt($ch, CURLOPT_POSTFIELDS, "Hello=World&Foo=Bar&Person=John%20Doe");
31+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
32+
33+
$curl_content = curl_exec($ch);
34+
curl_close($ch);
35+
36+
var_dump( $curl_content );
37+
?>
38+
===DONE===
39+
--EXPECTF--
40+
*** Testing curl sending through GET an POST ***
41+
string(208) "array(2) {
42+
["test"]=>
43+
string(7) "getpost"
44+
["get_param"]=>
45+
string(11) "Hello World"
46+
}
47+
array(3) {
48+
["Hello"]=>
49+
string(5) "World"
50+
["Foo"]=>
51+
string(3) "Bar"
52+
["Person"]=>
53+
string(8) "John Doe"
54+
}
55+
"
56+
===DONE===

ext/curl/tests/curl_basic_004.phpt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--TEST--
2+
Test curl_opt() function with setting referer
3+
--CREDITS--
4+
Sebastian Deutsch <[email protected]>
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_setopt(resource ch, int option, mixed value)
14+
* Description: Set an option for a cURL transfer
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo '*** Testing curl setting referer ***' . "\n";
23+
24+
$url = "{$host}/get.php?test=referer";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
29+
curl_setopt($ch, CURLOPT_REFERER, 'http://www.refer.er');
30+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
31+
32+
$curl_content = curl_exec($ch);
33+
curl_close($ch);
34+
35+
var_dump( $curl_content );
36+
?>
37+
===DONE===
38+
--EXPECTF--
39+
*** Testing curl setting referer ***
40+
string(19) "http://www.refer.er"
41+
===DONE===

ext/curl/tests/curl_basic_005.phpt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--TEST--
2+
Test curl_opt() function with user agent
3+
--CREDITS--
4+
Sebastian Deutsch <[email protected]>
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_setopt(resource ch, int option, mixed value)
14+
* Description: Set an option for a cURL transfer
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo '*** Testing curl with user agent ***' . "\n";
23+
24+
$url = "{$host}/get.php?test=useragent";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
29+
curl_setopt($ch, CURLOPT_USERAGENT, 'cURL phpt');
30+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
31+
32+
$curl_content = curl_exec($ch);
33+
curl_close($ch);
34+
35+
var_dump( $curl_content );
36+
?>
37+
===DONE===
38+
--EXPECTF--
39+
*** Testing curl with user agent ***
40+
string(9) "cURL phpt"
41+
===DONE===

ext/curl/tests/curl_basic_006.phpt

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--TEST--
2+
Test curl_opt() function with CURLOPT_WRITEFUNCTION parameter set to a closure
3+
--CREDITS--
4+
?
5+
TestFest 2009 - AFUP - Jean-Marc Fontaine <[email protected]>
6+
--SKIPIF--
7+
<?php
8+
if (!extension_loaded("curl")) exit("skip curl extension not loaded");
9+
if (false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) exit("skip PHP_CURL_HTTP_REMOTE_SERVER env variable is not defined");
10+
?>
11+
--FILE--
12+
<?php
13+
/* Prototype : bool curl_setopt(resource ch, int option, mixed value)
14+
* Description: Set an option for a cURL transfer
15+
* Source code: ext/curl/interface.c
16+
* Alias to functions:
17+
*/
18+
19+
$host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
20+
21+
// start testing
22+
echo '*** Testing curl_setopt($ch, CURLOPT_WRITEFUNCTION, <closure>); ***' . "\n";
23+
24+
$url = "{$host}/get.php?test=get";
25+
$ch = curl_init();
26+
27+
ob_start(); // start output buffering
28+
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
29+
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function ($ch, $data) {
30+
echo 'Data: '.$data;
31+
return strlen ($data);
32+
});
33+
34+
curl_exec($ch);
35+
curl_close($ch);
36+
?>
37+
===DONE===
38+
--EXPECTF--
39+
*** Testing curl_setopt($ch, CURLOPT_WRITEFUNCTION, <closure>); ***
40+
Data: Hello World!
41+
Hello World!===DONE===

ext/curl/tests/curl_basic_007.phpt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
Test curl_error() & curl_errno() function without url
3+
--CREDITS--
4+
TestFest 2009 - AFUP - Perrick Penet <[email protected]>
5+
--SKIPIF--
6+
<?php if (!extension_loaded("curl")) print "skip"; ?>
7+
--FILE--
8+
<?php
9+
10+
$ch = curl_init();
11+
12+
curl_exec($ch);
13+
var_dump(curl_error($ch));
14+
var_dump(curl_errno($ch));
15+
curl_close($ch);
16+
17+
18+
?>
19+
--EXPECTF--
20+
%string|unicode%(11) "No URL set!"
21+
int(3)

ext/curl/tests/curl_basic_008.phpt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
Test curl_error() & curl_errno() function with problematic host
3+
--CREDITS--
4+
TestFest 2009 - AFUP - Perrick Penet <[email protected]>
5+
--SKIPIF--
6+
<?php if (!extension_loaded("curl")) print "skip"; ?>
7+
--FILE--
8+
<?php
9+
10+
$url = "http://www.".uniqid().".".uniqid();
11+
$ch = curl_init();
12+
curl_setopt($ch, CURLOPT_URL, $url);
13+
14+
curl_exec($ch);
15+
var_dump(curl_error($ch));
16+
var_dump(curl_errno($ch));
17+
curl_close($ch);
18+
19+
20+
?>
21+
--EXPECTF--
22+
%unicode|string%(55) "Couldn't resolve host 'www.%s.%s'"
23+
int(6)

ext/curl/tests/curl_basic_009.phpt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
Test curl_error() & curl_errno() function with problematic protocol
3+
--CREDITS--
4+
TestFest 2009 - AFUP - Perrick Penet <[email protected]>
5+
--SKIPIF--
6+
<?php if (!extension_loaded("curl")) print "skip"; ?>
7+
--FILE--
8+
<?php
9+
10+
$url = uniqid()."://www.".uniqid().".".uniqid();
11+
$ch = curl_init();
12+
curl_setopt($ch, CURLOPT_URL, $url);
13+
14+
curl_exec($ch);
15+
var_dump(curl_error($ch));
16+
var_dump(curl_errno($ch));
17+
curl_close($ch);
18+
19+
20+
?>
21+
--EXPECTF--
22+
%unicode|string%(%d) "%Srotocol%s"
23+
int(1)

ext/curl/tests/curl_basic_010.phpt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
Test curl_error() & curl_errno() function with problematic proxy
3+
--CREDITS--
4+
TestFest 2009 - AFUP - Perrick Penet <[email protected]>
5+
--SKIPIF--
6+
<?php if (!extension_loaded("curl")) print "skip"; ?>
7+
--FILE--
8+
<?php
9+
10+
$url = "http://www.example.org";
11+
$ch = curl_init();
12+
curl_setopt($ch, CURLOPT_PROXY, uniqid().":".uniqid());
13+
curl_setopt($ch, CURLOPT_URL, $url);
14+
15+
curl_exec($ch);
16+
var_dump(curl_error($ch));
17+
var_dump(curl_errno($ch));
18+
curl_close($ch);
19+
20+
21+
?>
22+
--EXPECTF--
23+
%unicode|string%(38) "Couldn't resolve proxy '%s'"
24+
int(5)

0 commit comments

Comments
 (0)