[wp-trac] [WordPress Trac] #56021: Rename or deprecate assertDiscardWhitespace()
WordPress Trac
noreply at wordpress.org
Tue Jun 21 06:08:49 UTC 2022
#56021: Rename or deprecate assertDiscardWhitespace()
------------------------------+---------------------
Reporter: SergeyBiryukov | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: 6.1
Component: Build/Test Tools | Version:
Severity: normal | Resolution:
Keywords: | Focuses:
------------------------------+---------------------
Comment (by jrf):
Leaving this here as it seems loosely related.
I've just had a look at the `assertDiscardWhitespace()` method in a little
more detail (to see how it differs) and am wondering about the whitespace
replacement being done for both `$actual` as well as `$expected`:
{{{#!php
$expected = preg_replace( '/\s*/', '', $expected );
}}}
This replaces all whitespace with an empty string. That effectively means
that two substrings with different meaning could be considered the same.
Simple example:
{{{#!php
$this->assertDiscardWhitespace(
'the value must be set inline',
'the value must be set in line' // . $line_number
);
}}}
I wonder if it would be more accurate to replace all whitespace with a
single space instead ?
The down-side of that would be that the below would no longer be
considered "equal":
{{{#!php
$this->assertDiscardWhitespace(
'<span>something</span>',
'<span>
something
</span>'
);
}}}
Maybe the function's whitespace handling shouldn't be changed, but the
docblock should be updated with a warning using it with non-markup text
instead ?
--
Ticket URL: <https://core.trac.wordpress.org/ticket/56021#comment:7>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list