MDL-72152 Behat: No way to test key shortcuts with letter keys

Extends the existing step 'And I press the Shift Left key' so that
it supports letter/other keys: 'And I press the Ctrl C key'.
This commit is contained in:
sam marshall
2021-08-26 11:37:27 +08:00
committed by Andrew Nicols
parent 2575add511
commit e563d32ca2
+9 -2
View File
@@ -1717,7 +1717,7 @@ EOF;
}
/**
* Press a named key with an optional set of modifiers.
* Press a named or character key with an optional set of modifiers.
*
* Supported named keys are:
* - up
@@ -1735,6 +1735,8 @@ EOF;
* - enter
* - tab
*
* You can also use a single character for the key name e.g. 'Ctrl C'.
*
* Supported moderators are:
* - shift
* - ctrl
@@ -1830,7 +1832,12 @@ EOF;
$keys[] = behat_keys::SPACE;
break;
default:
throw new \coding_exception("Unknown key '$key'}");
// You can enter a single ASCII character (e.g. a letter) to directly type that key.
if (strlen($key) === 1) {
$keys[] = strtolower($key);
} else {
throw new \coding_exception("Unknown key '$key'}");
}
}
behat_base::type_keys($this->getSession(), $keys);