if ($editorid = $this->get_editor_id()) {
// Set the value to the iframe and save it to the textarea.
+ $value = str_replace('"', '\"', $value);
$this->session->executeScript('
tinyMCE.get("'.$editorid.'").setContent("' . $value . '");
tinyMCE.get("'.$editorid.'").save();
// Textareas are considered text based elements.
$tagname = strtolower($this->field->getTagName());
if ($tagname == 'textarea') {
- return false;
- }
- if ($tagname == 'input') {
+ if (!$this->running_javascript()) {
+ return false;
+ }
+
+ // If there is an iframe with $id + _ifr there a TinyMCE editor loaded.
+ $xpath = '//iframe[@id="' . $this->field->getAttribute('id') . '_ifr"]';
+ if (!$this->session->getPage()->find('xpath', $xpath)) {
+
+ // Generic one if it is a normal textarea.
+ return false;
+ }
+
+ $classname = 'behat_form_editor';
+
+ } else if ($tagname == 'input') {
$type = $this->field->getAttribute('type');
switch ($type) {
case 'text':
// All the run screenshots in the same parent dir.
if (!$screenshotsdirname = self::get_run_screenshots_dir()) {
- $screenshotsdirname = self::$screenshotsdirname = date('Ymd_Hi');
+ $screenshotsdirname = self::$screenshotsdirname = date('Ymd_His');
$dir = $CFG->behat_screenshots_path . DIRECTORY_SEPARATOR . $screenshotsdirname;