Annotation of embedaddon/php/ext/curl/tests/curl_basic_018.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test curl_setopt() with curl_multi 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_setopt(resource ch, int option, mixed value)
        !            10:  * Description: Set an option for a cURL transfer
        !            11:  * Source code: ext/curl/interface.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:   $options = array(
        !            30:     CURLOPT_RETURNTRANSFER => 1,
        !            31:     CURLOPT_URL => $url,
        !            32:   );
        !            33:   
        !            34:   curl_setopt_array($chs[0], $options); //set the options
        !            35:   curl_setopt_array($chs[1], $options); //set the options
        !            36:   curl_setopt_array($chs[2], $options); //set the options
        !            37:   
        !            38:   $mh = curl_multi_init();
        !            39:   
        !            40:   // add handlers
        !            41:   curl_multi_add_handle($mh, $chs[0]);
        !            42:   curl_multi_add_handle($mh, $chs[1]);
        !            43:   curl_multi_add_handle($mh, $chs[2]);
        !            44:   
        !            45:   $running=null;
        !            46:   //execute the handles
        !            47:   do {
        !            48:     curl_multi_exec($mh, $running);
        !            49:   } while ($running > 0);
        !            50: 
        !            51:   $curl_content = '';
        !            52:   $curl_content .= curl_multi_getcontent($chs[0]);
        !            53:   $curl_content .= curl_multi_getcontent($chs[1]);
        !            54:   $curl_content .= curl_multi_getcontent($chs[2]);
        !            55:   
        !            56:   //close the handles
        !            57:   curl_multi_remove_handle($mh, $chs[0]);
        !            58:   curl_multi_remove_handle($mh, $chs[1]);
        !            59:   curl_multi_remove_handle($mh, $chs[2]);
        !            60:   curl_multi_close($mh);
        !            61:   
        !            62:   var_dump( $curl_content );
        !            63:   
        !            64: ?>
        !            65: ===DONE===
        !            66: --EXPECTF--
        !            67: *** Testing curl_exec() : basic functionality ***
        !            68: %unicode|string%(75) "Hello World!
        !            69: Hello World!Hello World!
        !            70: Hello World!Hello World!
        !            71: Hello World!"
        !            72: ===DONE===

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