<?php namespace SilverStripe\Control\Tests\ControllerTest; use SilverStripe\Control\Controller; use SilverStripe\Dev\TestOnly; class SubController extends Controller implements TestOnly { private static $allowed_actions = array( 'subaction', 'subvieweraction', ); private static $url_handlers = array( 'substring/subvieweraction' => 'subvieweraction', ); public function subaction() { return $this->getAction(); } /* This is messy, but Controller->handleRequest is a hard to test method which warrants such measures... */ public function getViewer($action) { if (empty($action)) { throw new SubController_Exception("Null action passed, getViewer will break"); } return parent::getViewer($action); } public function subvieweraction() { return $this->customise(array( 'Thoughts' => 'Hope this works', )); } }