MDL-37958 behat: Nasty strings in HTML
Nasty strings includes html entities and non-breaking spaces followed by spaces which makes very hard to find these strings in the DOM html, this patch keeps the non-breaking spaces and all the nasty characters, but leaves them isolated from other regular spaces. It swaps the strings to HTML before finding elements in the HTML that matches that contents.
This commit is contained in:
@@ -102,6 +102,12 @@ class behat_base extends Behat\MinkExtension\Context\RawMinkContext {
|
||||
if ($selector == 'named') {
|
||||
$exceptiontype = $locator[0];
|
||||
$exceptionlocator = $locator[1];
|
||||
|
||||
// If we are in a @javascript session all contents would be displayed as HTML characters.
|
||||
if (get_class($this->getSession()->getDriver()) === 'Behat\Mink\Driver\Selenium2Driver') {
|
||||
$locator[1] = html_entity_decode($locator[1], ENT_NOQUOTES);
|
||||
}
|
||||
|
||||
} else {
|
||||
$exceptiontype = $selector;
|
||||
$exceptionlocator = $locator;
|
||||
|
||||
@@ -48,16 +48,16 @@ class nasty_strings {
|
||||
* @var array
|
||||
*/
|
||||
protected static $strings = array(
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ @@TEST@@ \\\" \\ , ; : . 日本語 % %% ',
|
||||
'& \' \\" \ \'$@NULL@$ < > & < > @@TEST@@ \\\" \\ , ; : . 日本語 % %% ',
|
||||
'< > & < > & \' \\" \ \\\" \\ , ; : . \'$@NULL@$ @@TEST@@ 日本語 % %% ',
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ 日本語 % %%@@TEST@@ \\\" \\ , ; : . ',
|
||||
'< > & < > \\\" \\ , ; : . 日本語& \' \\" \ \'$@NULL@$ @@TEST@@ % %% ',
|
||||
'\' \\" \ \'$@NULL@$ @@TEST@@ < > & < > & \\\" \\ , ; : . 日本語 % %% ',
|
||||
'\\\" \\ , ; : . 日本語 % < > & < > & \' \\" \ \'$@NULL@$ @@TEST@@ %% ',
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ 日本語 % %% @@TEST@@ \\\" \\ , ; : . ',
|
||||
'. 日本語& \' \\"< > & < > \\\" \\ , ; : \ \'$@NULL@$ @@TEST@@ % %% ',
|
||||
'& \' \\" \ < > & < > \\\" \\ , ; : . 日本語\'$@NULL@$ @@TEST@@ % %% ',
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ @@TEST@@ \\\" \\ , ; : . 日本語% %%',
|
||||
'& \' \\" \ \'$@NULL@$ < > & < > @@TEST@@ \\\" \\ , ; : . 日本語% %%',
|
||||
'< > & < > & \' \\" \ \\\" \\ , ; : . \'$@NULL@$ @@TEST@@ 日本語% %%',
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ 日本語% %%@@TEST@@ \. \\" \\ , ; :',
|
||||
'< > & < > \\\" \\ , ; : . 日本語& \' \\" \ \'$@NULL@$ @@TEST@@% %%',
|
||||
'\' \\" \ \'$@NULL@$ @@TEST@@ < > & < > & \\\" \\ , ; : . 日本語% %%',
|
||||
'\\\" \\ , ; : . 日本語% < > & < > & \' \\" \ \'$@NULL@$ @@TEST@@ %%',
|
||||
'< > & < > & \' \\" \ \'$@NULL@$ 日本語% %% @@TEST@@ \\\" \\ . , ; :',
|
||||
'. 日本語& \' \\"< > & < > \\\" \\ , ; : \ \'$@NULL@$ @@TEST@@% %%',
|
||||
'& \' \\" \ < > & < > \\\" \\ , ; : . 日本語\'$@NULL@$ @@TEST@@% %%',
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user