mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 06:05:56 +00:00
Merge pull request #975 from tractorcow/pulls/3.2-fix-controller-tests
BUG Fix ContentControllerTest
This commit is contained in:
commit
8059c9d357
@ -132,40 +132,43 @@ class ContentControllerTest extends FunctionalTest {
|
||||
* @covers ContentController::getViewer()
|
||||
**/
|
||||
public function testGetViewer() {
|
||||
|
||||
$self = $this;
|
||||
$this->useTestTheme(dirname(__FILE__), 'controllertest', function() use ($self) {
|
||||
|
||||
// Test a page without a controller (ContentControllerTest_PageWithoutController.ss)
|
||||
$page = new ContentControllerTestPageWithoutController();
|
||||
$page->URLSegment = "test";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
// Test a page without a controller (ContentControllerTest_PageWithoutController.ss)
|
||||
$page = new ContentControllerTestPageWithoutController();
|
||||
$page->URLSegment = "test";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
|
||||
$response = $this->get($page->RelativeLink());
|
||||
$this->assertEquals("ContentControllerTestPageWithoutController", $response->getBody());
|
||||
$response = $self->get($page->RelativeLink());
|
||||
$self->assertEquals("ContentControllerTestPageWithoutController", $response->getBody());
|
||||
|
||||
// // This should fall over to user Page.ss
|
||||
$page = new ContentControllerTestPage();
|
||||
$page->URLSegment = "test";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
|
||||
$response = $self->get($page->RelativeLink());
|
||||
$self->assertEquals("Page", $response->getBody());
|
||||
|
||||
|
||||
// // This should fall over to user Page.ss
|
||||
$page = new ContentControllerTestPage();
|
||||
$page->URLSegment = "test";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
// Test that the action template is rendered.
|
||||
$page = new ContentControllerTestPage();
|
||||
$page->URLSegment = "page-without-controller";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
|
||||
$response = $this->get($page->RelativeLink());
|
||||
$this->assertEquals("Foo", $response->getBody());
|
||||
$response = $self->get($page->RelativeLink("test"));
|
||||
$self->assertEquals("ContentControllerTestPage_test", $response->getBody());
|
||||
|
||||
|
||||
// Test that the action template is rendered.
|
||||
$page = new ContentControllerTestPage();
|
||||
$page->URLSegment = "page-without-controller";
|
||||
$page->write();
|
||||
$page->publish("Stage", "Live");
|
||||
|
||||
$response = $this->get($page->RelativeLink("test"));
|
||||
$this->assertEquals("ContentControllerTestPage_test", $response->getBody());
|
||||
|
||||
// Test that an action without a template will default to the index template, which is
|
||||
// to say the default Page.ss template
|
||||
$response = $this->get($page->RelativeLink("testwithouttemplate"));
|
||||
$this->assertEquals("Foo", $response->getBody());
|
||||
// Test that an action without a template will default to the index template, which is
|
||||
// to say the default Page.ss template
|
||||
$response = $self->get($page->RelativeLink("testwithouttemplate"));
|
||||
$self->assertEquals("Page", $response->getBody());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
1
tests/controller/themes/controllertest/Controller.ss
Normal file
1
tests/controller/themes/controllertest/Controller.ss
Normal file
@ -0,0 +1 @@
|
||||
Controller
|
1
tests/controller/themes/controllertest/Layout/Page.ss
Normal file
1
tests/controller/themes/controllertest/Layout/Page.ss
Normal file
@ -0,0 +1 @@
|
||||
Page
|
1
tests/controller/themes/controllertest/Page.ss
Normal file
1
tests/controller/themes/controllertest/Page.ss
Normal file
@ -0,0 +1 @@
|
||||
$Layout
|
Loading…
x
Reference in New Issue
Block a user