Completed
Pull Request — 3.4 (#6410)
by Damian
07:06
created

TextareaFieldTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
dl 0
loc 40
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testCasting() 0 13 1
A testReadonlyDisplayUnicodes() 0 7 1
A testReadonlyDisplaySepcialHTML() 0 8 1
1
<?php
2
3
class TextareaFieldTest extends SapphireTest {
4
5
	public function testCasting() {
6
		// Test special characters
7
		$inputText = "These are some unicodes: ä, ö, & ü";
8
		$field = new TextareaField("Test", "Test");
9
		$field->setValue($inputText);
10
		$this->assertContains('These are some unicodes: &auml;, &ouml;, &amp; &uuml;', $field->Field());
11
12
		// Test shortcodes
13
		$inputText = "Shortcode: [file_link id=4]";
14
		$field = new TextareaField("Test", "Test");
15
		$field->setValue($inputText);
16
		$this->assertContains('Shortcode: [file_link id=4]', $field->Field());
17
	}
18
19
	/**
20
	 * Quick smoke test to ensure that text with unicodes is being displayed properly in readonly fields.
21
	 */
22
	public function testReadonlyDisplayUnicodes() {
23
		$inputText = "These are some unicodes: äöü";
24
		$field = new TextareaField("Test", "Test");
25
		$field->setValue($inputText);
26
		$field = $field->performReadonlyTransformation();
27
		$this->assertContains('These are some unicodes: äöü', $field->Field());
28
	}
29
30
	/**
31
	 * Quick smoke test to ensure that text with special html chars is being displayed properly in readonly fields.
32
	 */
33
	public function testReadonlyDisplaySepcialHTML() {
34
		$inputText = "These are some special <html> chars including 'single' & \"double\" quotations";
35
		$field = new TextareaField("Test", "Test");
36
		$field = $field->performReadonlyTransformation();
37
		$field->setValue($inputText);
38
		$this->assertContains('These are some special &lt;html&gt; chars including &#039;single&#039; &amp;'
39
			. ' &quot;double&quot; quotations', $field->Field());
40
	}
41
42
}
43