You are here

public function NgLightboxTest::testPatternMatching in NG Lightbox 8

Same name and namespace in other branches
  1. 2.x src/Tests/NgLightboxTest.php \Drupal\ng_lightbox\Tests\NgLightboxTest::testPatternMatching()

Test the pattern matching for link paths.

File

src/Tests/NgLightboxTest.php, line 47
NG Lightbox tests.

Class

NgLightboxTest
Test basic functionality of the lightbox.

Namespace

Drupal\ng_lightbox\Tests

Code

public function testPatternMatching() {

  // Test the patterns are enabled on links as expected.
  $node = Node::create([
    'type' => 'page',
    'title' => $this
      ->randomString(),
  ]);
  $node
    ->save();
  $config = \Drupal::configFactory()
    ->getEditable('ng_lightbox.settings');
  $config
    ->set('patterns', $node
    ->toUrl())
    ->save();
  $this
    ->assertLightboxEnabled(Link::fromTextAndUrl('Normal Path', $node
    ->toUrl()));

  // Create a second node and make sure it doesn't get lightboxed.
  $node = Node::create([
    'type' => 'page',
    'title' => $this
      ->randomString(),
  ]);
  $node
    ->save();
  $this
    ->assertLightboxNotEnabled(Link::fromTextAndUrl('Normal Path', $node
    ->toUrl()));

  // @TODO, these were in D7 but in D8, I can't see how you can even generate
  // a link with such a format so maybe it isn't needed at all?
  // The uppercase path should still be matched for a lightbox.
  // $this->assertLightboxNotEnabled(\Drupal::l('Uppercase Path', 'NODE/1'));
  // $this->assertLightboxNotEnabled(\Drupal::l('Alaised Path', $alias));
  // $this->assertLightboxNotEnabled(\Drupal::l('Empty Path', ''));
}