View Issue Details

IDProjectCategoryView StatusLast Update
0001466XdebugCode Coveragepublic2017-09-24 19:41
ReporterCJ DennisAssigned Toderick 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
Product Version2.5.5 
Target VersionFixed in Version 
Summary0001466: No code coverage for "elseif (is_string($value))" lines
DescriptionThe line `elseif (is_string($value)) {` never gets covered if the single keyword `elseif` is used with one of the `is_string()`, `is_integer()`, `is_bool()`, `is_array()`, etc. functions. Changing the keyword to the two keywords `else` and `if` produces the correct results.
Steps To ReproduceRun the following code:

<?php
$value = 'foo';
xdebug_start_code_coverage();
if (false) {
  echo 'What?';
}
elseif (is_string($value)) {
  echo 'OK!';
}
var_dump(xdebug_get_code_coverage());
?>

Expected results:
[
  4 => 1,
  7 => 1,
  8 => 1,
  10 => 1
]

Actual results:
[
  4 => 1,
  8 => 1,
  10 => 1
]

(line 7 is incorrectly missing)

If line 7 is changed to `else if (is_string($value)) {` (with a space between `else` and `if`) or `elseif ($value) {`, it is included in the coverage results.
TagsNo tags attached.
Operating SystemWindows 10
PHP Version7.1.5-7.1.9

Activities

derick

2017-09-21 10:20

administrator   ~0004418

I can not reproduce this with Xdebug 2.5.5 and PHP 7.1.9:

derick@singlemalt:/tmp $ php /tmp/1466.php
OK!/tmp/1466.php:10:
array(1) {
  '/tmp/1466.php' =>
  array(4) {
    [4] =>
    int(1)
    [7] =>
    int(1)
    [8] =>
    int(1)
    [10] =>
    int(1)
  }
}

It shows the right output.

This is the same issue as 0001439, which got fixed in 2.5.5. Are you sure you're running the latest version and not for example 2.5.4?

CJ Dennis

2017-09-21 11:15

reporter   ~0004419

I downloaded the latest Xdebug (2.5.5), but when I double-checked, I'd forgotten to update php.ini and it was still using 2.5.4!

So, you're correct, it's already fixed! Thank you!

derick

2017-09-24 19:41

administrator   ~0004427

Was already fixed in 2.5.5.

Issue History

Date Modified Username Field Change
2017-09-10 09:00 CJ Dennis New Issue
2017-09-21 10:20 derick Note Added: 0004418
2017-09-21 10:20 derick Assigned To => derick
2017-09-21 10:20 derick Status new => feedback
2017-09-21 11:15 CJ Dennis Note Added: 0004419
2017-09-21 11:15 CJ Dennis Status feedback => assigned
2017-09-24 19:41 derick Note Added: 0004427
2017-09-24 19:41 derick Status assigned => resolved
2017-09-24 19:41 derick Resolution open => no change required