In WTB, assertText() is case sensitive:
\Drupal\simpletest\AssertContentTrait
protected function assertTextHelper($text, $message = '', $group = 'Other', $not_exists = TRUE) {
if (!$message) {
$message = !$not_exists ? SafeMarkup::format('"@text" found', array('@text' => $text)) : SafeMarkup::format('"@text" not found', array('@text' => $text));
}
return $this->assert($not_exists == (strpos($this->getTextContent(), (string) $text) === FALSE), $message, $group);
}
Note the strpos in the actual assert().
In BTB, assertText is case sensitive via the trait
protected function assertTextHelper($text, $not_exists = TRUE) {
$args = ['@text' => $text];
$message = $not_exists ? new FormattableMarkup('"@text" not found', $args) : new FormattableMarkup('"@text" found', $args);
$raw_content = $this->getSession()->getPage()->getContent();
// Trying to simulate what the user sees, given that it removes all text
// inside the head tags, removes inline Javascript, fix all HTML entities,
// removes dangerous protocols and filtering out all HTML tags, as they are
// not visible in a normal browser.
$raw_content = preg_replace('@<head>(.+?)</head>@si', '', $raw_content);
$page_text = Xss::filter($raw_content, []);
$actual = $not_exists == (strpos($page_text, (string) $text) === FALSE);
$this->assertTrue($actual, $message);
return $actual;
}
The BC recommends calls \Behat\Mink\WebAssert
public function pageTextContains($text)
{
$actual = $this->session->getPage()->getText();
$actual = preg_replace('/\s+/u', ' ', $actual);
$regex = '/'.preg_quote($text, '/').'/ui';
$message = sprintf('The text "%s" was not found anywhere in the text of the current page.', $text);
$this->assertResponseText((bool) preg_match($regex, $actual), $message);
}
Note the 'ui' modifier on the regex, so this is case insensitive.
If this is true, what does this mean for WTB to BTB conversions or our current BC layer?
Closed: outdated
11.0 π₯
other
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.