dc5d2d3b1d651dc1876c991080d7006c2f99297e
[yaffs-website] / web / modules / contrib / metatag / metatag_hreflang / src / Tests / MetatagHreflangTagsTest.php
1 <?php
2
3 namespace Drupal\metatag_hreflang\Tests;
4
5 use Drupal\language\Entity\ConfigurableLanguage;
6 use Drupal\metatag\Tests\MetatagTagsTestBase;
7
8 /**
9  * Tests that each of the Metatag hreflang tags work correctly.
10  *
11  * @group metatag
12  */
13 class MetatagHreflangTagsTest extends MetatagTagsTestBase {
14
15   /**
16    * {@inheritdoc}
17    */
18   private $tags = [
19     'hreflang_xdefault',
20     'hreflang_en',
21     'hreflang_es',
22     'hreflang_fr',
23   ];
24
25   /**
26    * {@inheritdoc}
27    */
28   private $testTag = 'link';
29
30   /**
31    * {@inheritdoc}
32    */
33   private $testNameAttribute = 'alternate';
34
35   /**
36    * {@inheritdoc}
37    */
38   private $testValueAttribute = 'href';
39
40   /**
41    * {@inheritdoc}
42    */
43   protected function setUp() {
44     // Need the Language module in order for any of this to work.
45     parent::$modules[] = 'language';
46     // This module.
47     parent::$modules[] = 'metatag_hreflang';
48     parent::setUp();
49
50     // Enable additional languages.
51     foreach (['es', 'fr'] as $langcode) {
52       ConfigurableLanguage::createFromLangcode($langcode)->save();
53     }
54   }
55
56   /**
57    * Each of these meta tags has a different tag name vs its internal name.
58    */
59   private function getTestTagName($tag_name) {
60     return str_replace('hreflang_', '', $tag_name);
61   }
62
63   /**
64    * Implements {tag_name}TestOutputXpath() for 'hreflang_xdefault'.
65    */
66   private function hreflangXdefaultTestOutputXpath() {
67     return "//link[@hreflang='x-default']";
68   }
69
70   /**
71    * Implements {tag_name}TestOutputXpath() for 'hreflang_en'.
72    */
73   private function hreflangEnTestOutputXpath() {
74     return "//link[@hreflang='en']";
75   }
76
77   /**
78    * Implements {tag_name}TestOutputXpath() for 'hreflang_es'.
79    */
80   private function hreflangEsTestOutputXpath() {
81     return "//link[@hreflang='es']";
82   }
83
84   /**
85    * Implements {tag_name}TestOutputXpath() for 'hreflang_fr'.
86    */
87   private function hreflangFrTestOutputXpath() {
88     return "//link[@hreflang='fr']";
89   }
90
91 }