private assertContainsPath ( string $path, string $haystack ) | ||
$path | string | POSIX path to search for (directory separator is |
$haystack | string | to search in can contain POSIX path or DOS path (directory separator is |
private function assertContainsPath($path, $haystack)
{
// turn path parameter into a regular expression that allows on of two directory separators: <slash> and <backslash>
$segments = preg_split('~/~', $path);
$separator = '([/\\\\])';
$segmentCount = 0;
$pattern = '~';
while ($segment = array_shift($segments)) {
$pattern .= preg_quote($segment, '~');
if ($segments) {
$pattern .= $segmentCount++ ? '\\1' : $separator;
}
}
$pattern .= '~';
$this->assertRegExp($pattern, $haystack);
}