Source of file EditableLiteralFieldTest.php
Size: 2,477 Bytes - Last Modified: 2018-07-16T11:15:18+00:00
/var/www/docs.ssmods.com/process/src/tests/EditableLiteralFieldTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | <?php /** * Tests the {@see EditableLiteralField} class */ class EditableLiteralFieldTest extends SapphireTest { public function setUp() { parent::setUp(); HtmlEditorConfig::set_active('cms'); } /** * Tests the sanitisation of HTML content */ public function testSanitisation() { $rawContent = '<h1>Welcome</h1><script>alert("Hello!");</script><p>Giant Robots!</p>'; $safeContent = '<h1>Welcome</h1><p>Giant Robots!</p>'; $field = new EditableLiteralField(); // Test with sanitisation enabled Config::inst()->update('HtmlEditorField', 'sanitise_server_side', true); $field->setContent($rawContent); $this->assertEquals($safeContent, $field->getContent()); // Test with sanitisation disabled Config::inst()->remove('HtmlEditorField', 'sanitise_server_side'); $field->setContent($rawContent); $this->assertEquals($rawContent, $field->getContent()); } public function testHideLabel() { $field = new EditableLiteralField(array( 'Title' => 'Test label' )); $this->assertContains('Test label', $field->getFormField()->FieldHolder()); $this->assertEquals('Test label', $field->getFormField()->Title()); $field->HideLabel = true; $this->assertNotContains('Test label', $field->getFormField()->FieldHolder()); $this->assertEmpty($field->getFormField()->Title()); } public function testLiteralFieldHasUpdateFormFieldMethodCalled() { $field = $this->getMockBuilder('EditableLiteralField') ->setMethods(array('doUpdateFormField')) ->getMock(); $field->expects($this->once())->method('doUpdateFormField'); $field->getFormField(); } /** * LiteralFields do not allow field names, etc. Instead, the field is contained within a composite field. This * test ensures that this structure is correct. */ public function testLiteralFieldIsContainedWithinCompositeField() { $field = new EditableLiteralField; $formField = $field->getFormField(); $this->assertInstanceOf('CompositeField', $formField, 'Literal field is contained within a composite field'); $this->assertInstanceOf( 'LiteralField', $formField->FieldList()->first(), 'Actual literal field exists in composite field children' ); } } |