Same name and namespace in other branches
  1. 8.x-1.x tests/src/FunctionalJavascript/ColorboxJavascriptTest.php \Drupal\Tests\colorbox\FunctionalJavascript\ColorboxJavascriptTest::testColorboxGallery() 1 comment

Test the gallery works.

File

tests/src/FunctionalJavascript/ColorboxJavascriptTest.php, line 63

Class

ColorboxJavascriptTest
Test the colorbox JavaScript.

Namespace

Drupal\Tests\colorbox\FunctionalJavascript

Code

public function testColorboxGallery() {
    $this->drupalGet('node/' . $this->node
        ->id());
    // Click and launch the gallery.
    $this->getSession()
        ->getPage()
        ->find('css', 'img')
        ->click();
    $this->getSession()
        ->wait(static::COLORBOX_WAIT_TIMEOUT);
    $this->assertSession()
        ->elementContains('css', '#cboxTitle', 'Image title 1');
    $this->assertSession()
        ->elementContains('css', '#colorbox', 'test.png');
    // Click on the next image and assert the second image is visible.
    $this->assertSession()
        ->elementExists('css', '#cboxNext')
        ->click();
    $this->getSession()
        ->wait(static::COLORBOX_WAIT_TIMEOUT);
    $this->assertSession()
        ->elementContains('css', '#cboxTitle', 'Image title 2');
    $this->assertSession()
        ->elementContains('css', '#colorbox', 'test.png');
    // Use alt captions.
    \Drupal::entityTypeManager()->getStorage('entity_view_display')
        ->load('node.page.default')
        ->setComponent('field_test_image', [
        'type' => 'colorbox',
        'settings' => [
            'colorbox_caption' => 'alt',
        ],
    ])
        ->save();
    drupal_flush_all_caches();
    // Ensure the caption being used is the alt text.
    $this->drupalGet('node/' . $this->node
        ->id());
    $this->getSession()
        ->getPage()
        ->find('css', 'img')
        ->click();
    $this->getSession()
        ->wait(static::COLORBOX_WAIT_TIMEOUT);
    $this->assertSession()
        ->elementContains('css', '#cboxTitle', 'Image alt 1');
}