Annotation of embedaddon/php/ext/curl/tests/curl_basic_017.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test curl_multi_exec() function with basic functionality 
                      3: --CREDITS--
                      4: TestFest 2009 - AFUP - Thomas Rabaix <thomas.rabaix@gmail.com>
                      5: --SKIPIF--
                      6: <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
                      7: --FILE--
                      8: <?php
                      9: /* Prototype  : bool curl_multi_exec(resource ch)
                     10:  * Description: Perform a cURL session 
                     11:  * Source code: ext/curl/multi.c
                     12:  * Alias to functions: 
                     13:  */
                     14:        
                     15:   $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
                     16: 
                     17:   // start testing
                     18:   echo "*** Testing curl_exec() : basic functionality ***\n";
                     19: 
                     20:   $url = "{$host}/get.php?test=get";
                     21:   $chs = array(
                     22:     0 => curl_init(),
                     23:     1 => curl_init(),
                     24:     2 => curl_init(),
                     25:   );
                     26:   
                     27:   ob_start(); // start output buffering
                     28:   
                     29:   curl_setopt($chs[0], CURLOPT_URL, $url); //set the url we want to use
                     30:   curl_setopt($chs[1], CURLOPT_URL, $url); //set the url we want to use
                     31:   curl_setopt($chs[2], CURLOPT_URL, $url); //set the url we want to use
                     32:   
                     33:   $mh = curl_multi_init();
                     34:   
                     35:   // add handlers
                     36:   curl_multi_add_handle($mh, $chs[0]);
                     37:   curl_multi_add_handle($mh, $chs[1]);
                     38:   curl_multi_add_handle($mh, $chs[2]);
                     39:   
                     40:   $running=null;
                     41:   //execute the handles
                     42:   $state = null;
                     43:   do {
                     44:     $state = curl_multi_exec($mh, $running);
                     45:   } while ($running > 0);
                     46:   
                     47:   //close the handles
                     48:   curl_multi_remove_handle($mh, $chs[0]);
                     49:   curl_multi_remove_handle($mh, $chs[1]);
                     50:   curl_multi_remove_handle($mh, $chs[2]);
                     51:   curl_multi_close($mh);
                     52:   
                     53:   $curl_content = ob_get_contents();
                     54:   ob_end_clean();
                     55: 
                     56:   if($state === CURLM_OK) {
                     57:     var_dump( $curl_content );
                     58:   } else {
                     59:     echo "curl_exec returned false";
                     60:   }
                     61: ?>
                     62: ===DONE===
                     63: --EXPECTF--
                     64: *** Testing curl_exec() : basic functionality ***
                     65: string(75) "Hello World!
                     66: Hello World!Hello World!
                     67: Hello World!Hello World!
                     68: Hello World!"
                     69: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>