silverstripe-framework/tests/forms/TextareaFieldTest.php
2016-12-19 10:48:10 +00:00

61 lines
2.0 KiB
PHP

<?php
class TextareaFieldTest extends SapphireTest {
public function testCasting() {
// Test special characters
$inputText = "These are some unicodes: ä, ö, & ü";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('These are some unicodes: &auml;, &ouml;, &amp; &uuml;', $field->Field());
// Test shortcodes
$inputText = "Shortcode: [file_link id=4]";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
$this->assertContains('Shortcode: [file_link id=4]', $field->Field());
}
/**
* Quick smoke test to ensure that text with unicodes is being displayed properly in readonly fields.
*/
public function testReadonlyDisplayUnicodes() {
$inputText = "These are some unicodes: äöü";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
$field = $field->performReadonlyTransformation();
$this->assertContains('These are some unicodes: äöü', $field->Field());
}
/**
* Quick smoke test to ensure that text with special html chars is being displayed properly in readonly fields.
*/
public function testReadonlyDisplaySpecialHTML() {
$inputText = "These are some special <html> chars including 'single' & \"double\" quotations";
$field = new TextareaField("Test", "Test");
$field = $field->performReadonlyTransformation();
$field->setValue($inputText);
$this->assertContains('These are some special &lt;html&gt; chars including &#039;single&#039; &amp;'
. ' &quot;double&quot; quotations', $field->Field());
}
public function testValueEntities() {
$inputText = "These <b>are</b> some unicodes: äöü";
$field = new TextareaField("Test", "Test");
$field->setValue($inputText);
// Value should be safe-encoding only, but ValueEntities should be more aggressive
$this->assertEquals(
"These &lt;b&gt;are&lt;/b&gt; some unicodes: &auml;&ouml;&uuml;",
$field->obj('Value')->forTemplate()
);
// Shortcodes are disabled
$this->assertEquals(
false,
$field->obj('Value')->getProcessShortcodes()
);
}
}