You are here

XmlSitemapMultilingualTestBase.php in XML sitemap 2.x

Same filename and directory in other branches
  1. 8 tests/src/Functional/XmlSitemapMultilingualTestBase.php

File

tests/src/Functional/XmlSitemapMultilingualTestBase.php
View source
<?php

namespace Drupal\Tests\xmlsitemap\Functional;

use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\xmlsitemap\Entity\XmlSitemap;

/**
 * Common base test class for XML sitemap internationalization tests.
 */
abstract class XmlSitemapMultilingualTestBase extends XmlSitemapTestBase {

  /**
   * {@inheritdoc}
   */
  public static $modules = [
    'language',
    'locale',
    'content_translation',
  ];

  /**
   * Set up an administrative user account and testing keys.
   */
  protected function setUp() {

    // Call parent::setUp() allowing test cases to pass further modules.
    parent::setUp();
    $this->admin_user = $this
      ->drupalCreateUser([
      'administer languages',
      'access administration pages',
      'administer site configuration',
      'administer xmlsitemap',
      'access content',
    ]);
    $this
      ->drupalLogin($this->admin_user);
    if (!$this->languageManager
      ->getLanguage('fr')) {

      // Add a new language.
      ConfigurableLanguage::createFromLangcode('fr')
        ->save();
    }
    if (!$this->languageManager
      ->getLanguage('en')) {

      // Add a new language.
      ConfigurableLanguage::createFromLangcode('en')
        ->save();
    }

    // Create the two different language-context sitemaps.
    $previous_sitemaps = XmlSitemap::loadMultiple();
    foreach ($previous_sitemaps as $previous_sitemap) {
      $previous_sitemap
        ->delete();
    }
    $sitemap = XmlSitemap::create();
    $sitemap->context = [
      'language' => 'en',
    ];
    xmlsitemap_sitemap_save($sitemap);
    $sitemap = XmlSitemap::create();
    $sitemap->context = [
      'language' => 'fr',
    ];
    xmlsitemap_sitemap_save($sitemap);
  }

}

Classes

Namesort descending Description
XmlSitemapMultilingualTestBase Common base test class for XML sitemap internationalization tests.