File: bug01996-001-html-php82.phpt

package info (click to toggle)
xdebug 3.4.5-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,096 kB
  • sloc: ansic: 19,944; php: 6,217; xml: 4,172; pascal: 534; makefile: 4; sh: 2
file content (77 lines) | stat: -rw-r--r-- 4,313 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
--TEST--
Test for bug #1996: Show wrapped callable for closures (html) (>= PHP 8.2)
--SKIPIF--
<?php
require __DIR__ . '/../utils.inc';
check_reqs('PHP >= 8.2');
?>
--INI--
xdebug.mode=develop
html_errors=1
date.timezone=UTC
--FILE--
<?php
$closure = Closure::fromCallable('substr');
var_dump($closure);


function user_defined($a, $b)
{
	return substr($a, $b);
}
$closure = Closure::fromCallable('user_defined');
var_dump($closure);


$closure = Closure::fromCallable(['DateTimeImmutable', 'createFromFormat']);
var_dump($closure);


$dateTime = new DateTimeImmutable("2021-07-22");
$closure = Closure::fromCallable([$dateTime, 'format']);
var_dump($closure);
?>
--EXPECTF--
<pre class='xdebug-var-dump' dir='ltr'>
<small>%sbug01996-001-html-php82.php:3:</small>
<b>object</b>(<i>Closure</i>)[<i>1</i>]
  <i>virtual</i> 'closure' <font color='#cc0000'>'substr'</font>
  <i>public</i> 'function' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'substr'</font> <i>(length=6)</i>
  <i>public</i> 'parameter' <font color='#888a85'>=&gt;</font> 
    <b>array</b> <i>(size=3)</i>
      '$string' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
      '$offset' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
      '$length' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;optional&gt;'</font> <i>(length=10)</i>
</pre><pre class='xdebug-var-dump' dir='ltr'>
<small>%sbug01996-001-html-php82.php:11:</small>
<b>object</b>(<i>Closure</i>)[<i>2</i>]
  <i>virtual</i> 'closure' <font color='#cc0000'>'user_defined'</font>
  <i>public</i> 'function' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'user_defined'</font> <i>(length=12)</i>
  <i>public</i> 'parameter' <font color='#888a85'>=&gt;</font> 
    <b>array</b> <i>(size=2)</i>
      '$a' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
      '$b' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
</pre><pre class='xdebug-var-dump' dir='ltr'>
<small>%sbug01996-001-html-php82.php:15:</small>
<b>object</b>(<i>Closure</i>)[<i>1</i>]
  <i>virtual</i> 'closure' <font color='#cc0000'>'DateTimeImmutable::createFromFormat'</font>
  <i>public</i> 'function' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'DateTimeImmutable::createFromFormat'</font> <i>(length=35)</i>
  <i>public</i> 'parameter' <font color='#888a85'>=&gt;</font> 
    <b>array</b> <i>(size=3)</i>
      '$format' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
      '$datetime' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
      '$timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;optional&gt;'</font> <i>(length=10)</i>
</pre><pre class='xdebug-var-dump' dir='ltr'>
<small>%sbug01996-001-html-php82.php:20:</small>
<b>object</b>(<i>Closure</i>)[<i>3</i>]
  <i>virtual</i> 'closure' <font color='#cc0000'>'$this->format'</font>
  <i>public</i> 'function' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'DateTimeImmutable::format'</font> <i>(length=25)</i>
  <i>public</i> 'this' <font color='#888a85'>=&gt;</font> 
    <b>object</b>(<i>DateTimeImmutable</i>)[<i>2</i>]
      <i>public</i> 'date' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'2021-07-22 00:00:00.000000'</font> <i>(length=26)</i>
      <i>public</i> 'timezone_type' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>3</font>
      <i>public</i> 'timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'UTC'</font> <i>(length=3)</i>
  <i>public</i> 'parameter' <font color='#888a85'>=&gt;</font> 
    <b>array</b> <i>(size=1)</i>
      '$format' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'&lt;required&gt;'</font> <i>(length=10)</i>
</pre>