'plain_text']); $session = $this->assertSession(); // With no text editor, expect a 404. $this->drupalGet($url); $session->statusCodeEquals(404); // With a text editor but without image upload settings, expect a 200, but // there should not be an input[type=file]. $editor = Editor::create([ 'editor' => 'ckeditor', 'format' => 'plain_text', 'settings' => [ 'toolbar' => [ 'rows' => [ [ [ 'name' => 'Media', 'items' => [ 'DrupalImage', ], ], ], ], ], 'plugins' => [], ], 'image_upload' => [ 'status' => FALSE, 'scheme' => 'public', 'directory' => 'inline-images', 'max_size' => '', 'max_dimensions' => [ 'width' => 0, 'height' => 0, ], ], ]); $editor->save(); $this->resetAll(); $this->drupalGet($url); $this->assertTrue($this->cssSelect('input[type=text][name="attributes[src]"]'), 'Image uploads disabled: input[type=text][name="attributes[src]"] is present.'); $this->assertFalse($this->cssSelect('input[type=file]'), 'Image uploads disabled: input[type=file] is absent.'); $session->statusCodeEquals(200); // With image upload settings, expect a 200, and now there should be an // input[type=file]. $editor->setImageUploadSettings(['status' => TRUE] + $editor->getImageUploadSettings()) ->save(); $this->resetAll(); $this->drupalGet($url); $this->assertFalse($this->cssSelect('input[type=text][name="attributes[src]"]'), 'Image uploads enabled: input[type=text][name="attributes[src]"] is absent.'); $this->assertTrue($this->cssSelect('input[type=file]'), 'Image uploads enabled: input[type=file] is present.'); $session->statusCodeEquals(200); } }