<?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',
		));
	}

}