PHP  
 PHP_HEAD
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

Test Failure Report for ext/curl/tests/curl_basic_006.phpt ('Test curl_opt() function with CURLOPT_WRITEFUNCTION parameter set to a closure')

Script

1: <?php
2:
/* Prototype  : bool curl_setopt(resource ch, int option, mixed value)
3:  * Description: Set an option for a cURL transfer
4:  * Source code: ext/curl/interface.c
5:  * Alias to functions:
6:  */
7:
8:   
include 'server.inc';
9:   
$host curl_cli_server_start();
10:
11:   
// start testing
12:   
echo '*** Testing curl_setopt($ch, CURLOPT_WRITEFUNCTION, <closure>); ***' "\n";
13:
14:   
$url "{$host}/get.inc?test=get";
15:   
$ch curl_init();
16:   
$alldata '';
17:   
ob_start(); // start output buffering
18:   
curl_setopt($chCURLOPT_URL$url); //set the url we want to use
19:   
curl_setopt($chCURLOPT_WRITEFUNCTION, function ($ch$data) {
20:     
$GLOBALS['alldata'] .= $data;
21:     return 
strlen ($data);
22:   });
23:
24:   
curl_exec($ch);
25:   
curl_close($ch);
26:   
ob_end_flush();
27:   echo 
"Data: $alldata";
28:
?>
29:
===DONE===
30:

Expected

*** Testing curl_setopt($ch, CURLOPT_WRITEFUNCTION, <closure>); ***
Data: Hello World!
Hello World!===DONE===

Output

*** Testing curl_setopt($ch, CURLOPT_WRITEFUNCTION, <closure>); ***
Data: <?php
  $test = isset($_GET['test']) ? $_GET['test'] : null;
  switch($test) {
    case 'post':
      var_dump($_POST);
      break;
    case 'getpost':
      var_dump($_GET);
      var_dump($_POST);
      break;
    case 'referer':
      echo $_SERVER['HTTP_REFERER'];
      break;
    case 'useragent':
      echo $_SERVER['HTTP_USER_AGENT'];
      break;
    case 'httpversion':
      echo $_SERVER['SERVER_PROTOCOL'];
      break;
    case 'cookie':
      echo $_COOKIE['foo'];
      break;
    case 'encoding':
      echo $_SERVER['HTTP_ACCEPT_ENCODING'];
      break;
    case 'contenttype':
      header('Content-Type: text/plain;charset=utf-8');
      break;
    case 'file':
      if (isset($_FILES['file'])) {
          echo $_FILES['file']['name'] . '|' . $_FILES['file']['type'];
      }
      break;
    case 'method':
      echo $_SERVER['REQUEST_METHOD'];
      break;
    default:
      echo "Hello World!\n";
      echo "Hello World!";
      break;
  }
?>
===DONE===

Diff

002+ Data: <?php
003+   $test = isset($_GET['test']) ? $_GET['test'] : null;
002- Data: Hello World!
003- Hello World!===DONE===
004+   switch($test) {
005+     case 'post':
006+       var_dump($_POST);
007+       break;
008+     case 'getpost':
009+       var_dump($_GET);
010+       var_dump($_POST);
011+       break;
012+     case 'referer':
013+       echo $_SERVER['HTTP_REFERER'];
014+       break;
015+     case 'useragent':
016+       echo $_SERVER['HTTP_USER_AGENT'];
017+       break;
018+     case 'httpversion':
019+       echo $_SERVER['SERVER_PROTOCOL'];
020+       break;
021+     case 'cookie':
022+       echo $_COOKIE['foo'];
023+       break;
024+     case 'encoding':
025+       echo $_SERVER['HTTP_ACCEPT_ENCODING'];
026+       break;
027+     case 'contenttype':
028+       header('Content-Type: text/plain;charset=utf-8');
029+       break;
030+     case 'file':
031+       if (isset($_FILES['file'])) {
032+           echo $_FILES['file']['name'] . '|' . $_FILES['file']['type'];
033+       }
034+       break;
035+     case 'method':
036+       echo $_SERVER['REQUEST_METHOD'];
037+       break;
038+     default:
039+       echo "Hello World!\n";
040+       echo "Hello World!";
041+       break;
042+   }
043+ ?>
044+ ===DONE===

 

Generated at Tue, 19 Mar 2019 00:18:08 +0000 (4 days ago)

Copyright © 2005-2019 The PHP Group
All rights reserved.