Yaffs site version 1.1
[yaffs-website] / web / modules / contrib / typogrify / src / Tests / TypogrifyClassTestCase.php
1 <?php
2
3 namespace Drupal\typogrify;
4
5 class TypogrifyClassTestCase extends DrupalWebTestCase {
6
7   /**
8    * Implements getInfo().
9    */
10   public function getInfo() {
11     return array(
12       'name' => t('typogrify.class basic tests'),
13       'description' => t('Testing all methods on the Typogrify class and their interaction.'),
14       'group' => t('Typogrify'),
15     );
16   }
17
18   /**
19    * Implements setUp().
20    */
21   public function setUp() {
22     parent::setUp('typogrify');
23   }
24
25   /**
26    * Tests ampersand-wrapping.
27    */
28   public function testAmpersandWrapping() {
29     $before = 'John & Robert.';
30     $after = 'John <span class="amp">&amp;</span> Robert.';
31     $this->assertEqual(Typogrify::amp($before), $after,
32       t('Basic ampersand wrapping'));
33
34     $before = 'P&T';
35     $after = 'P&T';
36     $this->assertEqual(Typogrify::amp($before), $after,
37       t("Don't mess with ampersands in words"));
38
39     $before = 'advanced robotics &&nbsp;computing...';
40     $after = 'advanced robotics <span class="amp">&amp;</span>&nbsp;computing...';
41     $this->assertEqual(Typogrify::amp($before), $after,
42       t('One space as HTML entitiy.'));
43
44     $before = 'advanced robotics &amp; computing...';
45     $after = 'advanced robotics <span class="amp">&amp;</span> computing...';
46     $this->assertEqual(Typogrify::amp($before), $after,
47       t('Ampersand as HTML entitiy.'));
48
49     $before = 'advanced robotics&nbsp;&amp;&nbsp;computing...';
50     $after = 'advanced robotics&nbsp;<span class="amp">&amp;</span>&nbsp;computing...';
51     $this->assertEqual(Typogrify::amp($before), $after,
52       t('Both spaces and ampersand as HTML entities.'));
53
54     $before = 'P&amp;T had many clients, of which DD&T &amp; Cronhammar, Kronhammer & Hjort were the largest';
55     $after = 'P&amp;T had many clients, of which DD&T <span class="amp">&amp;</span> Cronhammar, Kronhammer <span class="amp">&amp;</span> Hjort were the largest';
56     $this->assertEqual(Typogrify::amp($before), $after,
57       t('Both spaces and ampersand as HTML entities.'));
58
59   }
60
61   /**
62    * Widont test.
63    */
64   public function testWidont() {
65     $before = 'A very simple test';
66     $after = 'A very simple&nbsp;test';
67     $this->assertEqual(Typogrify::widont($before), $after,
68       t('Basic widont. Once sentance, no HTML.'));
69
70     // Single word items shouldn't be changed.
71     $before = 'Test';
72     $after = 'Test';
73     $this->assertEqual(Typogrify::widont($before), $after,
74       t('Single word test #1'));
75
76     $before = ' Test';
77     $after = ' Test';
78     $this->assertEqual(Typogrify::widont($before), $after,
79       t('Single word test #2'));
80
81     $before = '<ul><li>Test</p></li><ul>';
82     $after = '<ul><li>Test</p></li><ul>';
83     $this->assertEqual(Typogrify::widont($before), $after,
84       t('Single word test #3'));
85
86     $before = '<ul><li> Test</p></li><ul>';
87     $after = '<ul><li> Test</p></li><ul>';
88     $this->assertEqual(Typogrify::widont($before), $after,
89       t('Single word test #4'));
90
91     $before = '<p>In a couple of paragraphs</p><p>paragraph two</p>';
92     $after = '<p>In a couple of&nbsp;paragraphs</p><p>paragraph&nbsp;two</p>';
93     $this->assertEqual(Typogrify::widont($before), $after,
94       t('Two paragraphs'));
95
96     $before = '<h1><a href="#">In a link inside a heading</i> </a></h1>';
97     $after = '<h1><a href="#">In a link inside a&nbsp;heading</i> </a></h1>';
98     $this->assertEqual(Typogrify::widont($before), $after,
99       t('In a link inside a heading'));
100
101     $before = '<h1><a href="#">In a link</a> followed by other text</h1>';
102     $after = '<h1><a href="#">In a link</a> followed by other&nbsp;text</h1>';
103     $this->assertEqual(Typogrify::widont($before), $after,
104       t('In a link followed by other text'));
105
106     $before = '<h1><a href="#"></a></h1>';
107     $after = '<h1><a href="#"></a></h1>';
108     $this->assertEqual(Typogrify::widont($before), $after,
109       t("Empty HTML tags shouldn't cause errors"));
110
111     $before = '<div>Divs get no love!</div>';
112     $after = '<div>Divs get no love!</div>';
113     $this->assertEqual(Typogrify::widont($before), $after,
114       t('Divs get no love'));
115
116     $before = '<pre>Neither do PREs</pre>';
117     $after = '<pre>Neither do PREs</pre>';
118     $this->assertEqual(Typogrify::widont($before), $after,
119       t('Neither do PREs'));
120
121     $before = '<div><p>But divs with paragraphs do!</p></div>';
122     $after = '<div><p>But divs with paragraphs&nbsp;do!</p></div>';
123     $this->assertEqual(Typogrify::widont($before), $after,
124       t('But divs with paragraphs do!'));
125   }
126 }