Deprecate RouteBuilder

This commit is contained in:
PJ Dietz 2015-02-21 15:59:27 -05:00
parent 614da5f2ff
commit b582fcf546
2 changed files with 31 additions and 23 deletions

View File

@ -18,6 +18,9 @@ use pjdietz\WellRESTed\Routes\TemplateRoute;
/** /**
* Class for facilitating constructing Routers. * Class for facilitating constructing Routers.
*
* @deprecated Use {@see Router::add} instead.
* @see Router::add
*/ */
class RouteBuilder class RouteBuilder
{ {
@ -28,6 +31,11 @@ class RouteBuilder
/** @var array Associative array of variable names and regex patterns. */ /** @var array Associative array of variable names and regex patterns. */
private $templateVariablePatterns; private $templateVariablePatterns;
public function __construct()
{
trigger_error("RouteBuilder is deprecated. Use Router::add", E_USER_DEPRECATED);
}
/** /**
* Contruct and return an array of routes. * Contruct and return an array of routes.
* *

View File

@ -33,7 +33,7 @@ class RouteBuilderTest extends \PHPUnit_Framework_TestCase
} }
JSON; JSON;
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$routes = $builder->buildRoutes($json); $routes = $builder->buildRoutes($json);
$this->assertEquals(3, count($routes)); $this->assertEquals(3, count($routes));
} }
@ -44,17 +44,17 @@ JSON;
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException * @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
* @expectedExceptionMessage Unable to parse as JSON. * @expectedExceptionMessage Unable to parse as JSON.
*/ */
public function testFailBuildingRoutesFromInvalidJson() public function testThrowsExceptionBuildingRoutesFromInvalidJson()
{ {
$json = "jadhjaksd"; $json = "jadhjaksd";
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->buildRoutes($json); $builder->buildRoutes($json);
} }
public function testSetNamesapce() public function testSetsNamesapce()
{ {
$namespace = "\\test\\Namespace"; $namespace = "\\test\\Namespace";
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->setHandlerNamespace($namespace); $builder->setHandlerNamespace($namespace);
$this->assertEquals($namespace, $builder->getHandlerNamespace()); $this->assertEquals($namespace, $builder->getHandlerNamespace());
} }
@ -62,9 +62,9 @@ JSON;
/** /**
* @dataProvider varProvider * @dataProvider varProvider
*/ */
public function testSetDefaultVariablePatternThroughAccessor($name, $pattern, $expected) public function testSetsDefaultVariablePatternThroughAccessor($name, $pattern, $expected)
{ {
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->setDefaultVariablePattern($pattern); $builder->setDefaultVariablePattern($pattern);
$this->assertEquals($builder->getDefaultVariablePattern(), $expected); $this->assertEquals($builder->getDefaultVariablePattern(), $expected);
} }
@ -72,9 +72,9 @@ JSON;
/** /**
* @dataProvider varProvider * @dataProvider varProvider
*/ */
public function testSetDefaultVariablePatternThroughConfiguration($name, $pattern, $expected) public function testSetsDefaultVariablePatternThroughConfiguration($name, $pattern, $expected)
{ {
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$conf = new stdClass(); $conf = new stdClass();
$conf->variablePattern = $pattern; $conf->variablePattern = $pattern;
$builder->readConfiguration($conf); $builder->readConfiguration($conf);
@ -84,9 +84,9 @@ JSON;
/** /**
* @dataProvider varProvider * @dataProvider varProvider
*/ */
public function testSetTemplateVariablesThroughAccessor($name, $pattern, $expected) public function testSetsTemplateVariablesThroughAccessor($name, $pattern, $expected)
{ {
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->setTemplateVars(array($name => $pattern)); $builder->setTemplateVars(array($name => $pattern));
$vars = $builder->getTemplateVars(); $vars = $builder->getTemplateVars();
$this->assertEquals($vars[$name], $expected); $this->assertEquals($vars[$name], $expected);
@ -95,9 +95,9 @@ JSON;
/** /**
* @dataProvider varProvider * @dataProvider varProvider
*/ */
public function testSetTemplateVariablesThroughConfiguration($name, $pattern, $expected) public function testSetsTemplateVariablesThroughConfiguration($name, $pattern, $expected)
{ {
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$conf = new stdClass(); $conf = new stdClass();
$conf->vars = [$name => $pattern]; $conf->vars = [$name => $pattern];
$builder->readConfiguration($conf); $builder->readConfiguration($conf);
@ -120,7 +120,7 @@ JSON;
/** /**
* @dataProvider routeDescriptionProvider * @dataProvider routeDescriptionProvider
*/ */
public function testBuildRoutesFromRoutesArray($key, $value, $expectedClass) public function testBuildsRoutesFromRoutesArray($key, $value, $expectedClass)
{ {
$mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface'); $mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
$routes = [ $routes = [
@ -129,7 +129,7 @@ JSON;
"handler" => get_class($mockHander) "handler" => get_class($mockHander)
] ]
]; ];
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$routes = $builder->buildRoutes($routes); $routes = $builder->buildRoutes($routes);
$route = $routes[0]; $route = $routes[0];
$this->assertInstanceOf($expectedClass, $route); $this->assertInstanceOf($expectedClass, $route);
@ -138,7 +138,7 @@ JSON;
/** /**
* @dataProvider routeDescriptionProvider * @dataProvider routeDescriptionProvider
*/ */
public function testBuildRoutesFromConfigurationObject($key, $value, $expectedClass) public function testBuildsRoutesFromConfigurationObject($key, $value, $expectedClass)
{ {
$mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface'); $mockHander = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
$conf = (object) [ $conf = (object) [
@ -149,7 +149,7 @@ JSON;
] ]
] ]
]; ];
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$routes = $builder->buildRoutes($conf); $routes = $builder->buildRoutes($conf);
$route = $routes[0]; $route = $routes[0];
$this->assertInstanceOf($expectedClass, $route); $this->assertInstanceOf($expectedClass, $route);
@ -164,7 +164,7 @@ JSON;
]; ];
} }
public function testBuildRoutesWithTemplateVariables() public function testBuildsRoutesWithTemplateVariables()
{ {
$mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface'); $mock = $this->getMock('\pjdietz\WellRESTed\Interfaces\HandlerInterface');
$routes = [ $routes = [
@ -176,7 +176,7 @@ JSON;
] ]
] ]
]; ];
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->setTemplateVars(["dogId" => "NUM"]); $builder->setTemplateVars(["dogId" => "NUM"]);
$routes = $builder->buildRoutes($routes); $routes = $builder->buildRoutes($routes);
$route = $routes[0]; $route = $routes[0];
@ -187,10 +187,10 @@ JSON;
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException * @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
* @expectedExceptionMessage Unable to parse. Missing array of routes. * @expectedExceptionMessage Unable to parse. Missing array of routes.
*/ */
public function testFailOnConfigurationObjectMissingRoutesArray() public function testThrowsExceptionWhenConfigurationObjectIsMissingRoutesArray()
{ {
$conf = new stdClass(); $conf = new stdClass();
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->buildRoutes($conf); $builder->buildRoutes($conf);
} }
@ -198,14 +198,14 @@ JSON;
* @expectedException \pjdietz\WellRESTed\Exceptions\ParseException * @expectedException \pjdietz\WellRESTed\Exceptions\ParseException
* @expectedExceptionMessage Unable to parse. Route is missing a handler. * @expectedExceptionMessage Unable to parse. Route is missing a handler.
*/ */
public function testFailOnRouteMissingHandler() public function testThrowsExceptionWhenMissingHandler()
{ {
$routes = [ $routes = [
(object) [ (object) [
"path" => "/" "path" => "/"
] ]
]; ];
$builder = new RouteBuilder(); $builder = @new RouteBuilder();
$builder->buildRoutes($routes); $builder->buildRoutes($routes);
} }
} }