You are here

public function EditorAdminTest::testEditorSelection in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php \Drupal\Tests\editor\FunctionalJavascript\EditorAdminTest::testEditorSelection()
  2. 10 core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php \Drupal\Tests\editor\FunctionalJavascript\EditorAdminTest::testEditorSelection()

Tests that editor selection can be toggled without breaking ajax.

File

core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php, line 47

Class

EditorAdminTest
@group editor

Namespace

Drupal\Tests\editor\FunctionalJavascript

Code

public function testEditorSelection() {
  $page = $this
    ->getSession()
    ->getPage();
  $assert_session = $this
    ->assertSession();
  $this
    ->drupalGet('/admin/config/content/formats/add');
  $page
    ->fillField('name', 'Sulaco');

  // Wait for machine name to be filled in.
  $this
    ->assertNotEmpty($assert_session
    ->waitForText('sulaco'));
  $page
    ->selectFieldOption('editor[editor]', 'ckeditor');
  $this
    ->assertNotEmpty($this
    ->assertSession()
    ->waitForElementVisible('css', 'ul.ckeditor-toolbar-group-buttons'));
  $page
    ->pressButton('Save configuration');

  // Test that toggling the editor selection off and back on works.
  $this
    ->drupalGet('/admin/config/content/formats/manage/sulaco');

  // Deselect and reselect an editor.
  $page
    ->selectFieldOption('editor[editor]', '');
  $this
    ->assertNotEmpty($this
    ->assertSession()
    ->waitForElementRemoved('css', 'ul.ckeditor-toolbar-group-buttons'));
  $page
    ->selectFieldOption('editor[editor]', 'ckeditor');
  $this
    ->assertNotEmpty($this
    ->assertSession()
    ->waitForElementVisible('css', 'ul.ckeditor-toolbar-group-buttons'));
}