Source of file LinkFieldTest.php
Size: 2,670 Bytes - Last Modified: 2021-12-23T10:02:30+00:00
/var/www/docs.ssmods.com/process/src/tests/unit/LinkFieldTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?php /** * Description of LinkFieldTest * * @author Simon Elvery * @package silverstripe-link-field */ class LinkFieldTest extends SapphireTest { public static $fixture_file = 'LinkFieldTest.yml'; protected $extraDataObjects = array( 'LinkFieldTest_DataObject', ); public function testLinkFieldsReturnedAsObjects() { $obj = $this->objFromFixture('LinkFieldTest_DataObject', 'test1'); $this->assertInstanceOf('LinkField', $obj->Link); } public function testLoadFromFixture() { $obj = $this->objFromFixture('LinkFieldTest_DataObject', 'test1'); $this->assertInstanceOf('LinkField', $obj->Link); $this->assertEquals($obj->Link->getPageID(), 0); $this->assertEquals($obj->Link->getCustomURL(), "http://leftrightandcentre.com.au"); } public function testNotChangedOnConstruction() { $obj = $this->objFromFixture('LinkFieldTest_DataObject', 'test1'); $this->assertEquals($obj->Link->isChanged(), false); } public function testCanOverwriteSettersWithNull() { $obj = new LinkFieldTest_DataObject(); $f1 = new LinkField(); $f1->setPageID(9); $f1->setCustomURL('/test'); $obj->Link = $f1; $obj->write(); $f2 = new LinkField(); $f2->setPageID(null); $f2->setCustomURL(null); $obj->Link = $f2; $obj->write(); $linkTest = DataObject::get_by_id('LinkFieldTest_DataObject', $obj->ID); $this->assertTrue($linkTest instanceof LinkFieldTest_DataObject); $this->assertEquals('', $linkTest->CustomURL); $this->assertEquals(null, $linkTest->PageID); } public function testIsChangedPageID() { $obj = $this->objFromFixture('LinkFieldTest_DataObject', 'test1'); $obj->Link->setPageID(1); $this->assertEquals($obj->Link->isChanged(), true); } public function testIsChangedCustomURL() { $obj = $this->objFromFixture('LinkFieldTest_DataObject', 'test1'); $obj->Link->setCustomURL(''); $this->assertEquals($obj->Link->isChanged(), true); } public function testPageURL() { $page = new Page(); $page->URLSegment = 'test'; $page->write(); $obj = new LinkFieldTest_DataObject(); $obj->Link->setPageID($page->ID); $obj->write(); $this->assertEquals($page->Link(), $obj->Link->URL); } } class LinkFieldTest_DataObject extends DataObject implements TestOnly { public static $db = array( 'Link' => 'LinkField' ); } |