Scalr\Tests\Api\Rest\Routing\RouteTest::testSetDefaults PHP Method

testSetDefaults() public method

public testSetDefaults ( )
    public function testSetDefaults()
    {
        $route = $this->getRouteFixture();
        $defaults = $route->getDefaults();
        $this->assertInternalType('array', $defaults);
        $defaults['foo'] = 'bar';
        $route->setDefaults($defaults);
        $this->assertArrayHasKey('foo', $route->getDefaults());
        $this->assertEquals('bar', $route->getDefaults()['foo']);
        $route->setDefaults(['controller' => function () {
        }]);
        $this->assertEmpty($route->getDefaults()['methods']);
        //callable controller
        $route->setDefaults('strrev');
        $this->assertEquals('strrev', $route->getDefaults()['controller']);
        //restore previous state
        $route->setDefaults($defaults);
        //Methods should not be overridden here
        $route->addDefaults('strrev');
        $this->assertEquals('strrev', $route->getDefaults()['controller']);
        $this->assertTrue($route->hasMethod(Request::METHOD_GET));
    }