mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
4703aa6e81
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102866 467b73ca-7a2a-4603-9d3b-597d59a354a9
66 lines
1.9 KiB
PHP
66 lines
1.9 KiB
PHP
<?php
|
|
|
|
class SiteTreeBacklinksTest extends SapphireTest {
|
|
static $fixture_file = "sapphire/tests/SiteTreeBacklinksTest.yml";
|
|
|
|
static function set_up_once() {
|
|
SiteTreeTest::set_up_once();
|
|
|
|
parent::set_up_once();
|
|
}
|
|
|
|
static function tear_down_once() {
|
|
SiteTreeTest::tear_down_once();
|
|
|
|
parent::tear_down_once();
|
|
}
|
|
|
|
function setUp() {
|
|
parent::setUp();
|
|
|
|
// Log in as admin so that we don't run into permission issues. That's not what we're
|
|
// testing here.
|
|
$this->logInWithPermission('ADMIN');
|
|
}
|
|
|
|
function testSavingPageWithLinkAddsBacklink() {
|
|
// load page 1
|
|
$page1 = $this->objFromFixture('Page', 'page1');
|
|
|
|
// assert backlink to page 2 doesn't exist
|
|
$page2 = $this->objFromFixture('Page', 'page2');
|
|
$this->assertFalse($page1->BackLinkTracking()->containsIDs(array($page2->ID)), 'Assert backlink to page 2 doesn\'t exist');
|
|
|
|
// add hyperlink to page 1 on page 2
|
|
$page2->Content .= '<p><a href="page1/">Testing page 1 link</a></p>';
|
|
$page2->write();
|
|
|
|
// load page 1
|
|
$page1 = $this->objFromFixture('Page', 'page1');
|
|
|
|
// assert backlink to page 2 exists
|
|
$this->assertTrue($page1->BackLinkTracking()->containsIDs(array($page2->ID)), 'Assert backlink to page 2 exists');
|
|
}
|
|
|
|
function testRemovingLinkFromPageRemovesBacklink() {
|
|
// load page 1
|
|
$page1 = $this->objFromFixture('Page', 'page1');
|
|
|
|
// assert backlink to page 3 exits
|
|
$page3 = $this->objFromFixture('Page', 'page3');
|
|
$this->assertTrue($page1->BackLinkTracking()->containsIDs(array($page3->ID)), 'Assert backlink to page 3 exists');
|
|
|
|
// remove hyperlink to page 1
|
|
$page3->Content = '<p>No links anymore!</p>';
|
|
$page3->write();
|
|
|
|
// load page 1
|
|
$page1 = $this->objFromFixture('Page', 'page1');
|
|
|
|
// assert backlink to page 3 exists
|
|
$this->assertFalse($page1->BackLinkTracking()->containsIDs(array($page3->ID)), 'Assert backlink to page 3 doesn\'t exist');
|
|
}
|
|
}
|
|
|
|
?>
|