/** * @test */ public function routeMatchesIfRequestMethodIsAccepted() { $this->route->setUriPattern(''); $this->route->setHttpMethods(array('POST', 'PUT')); $mockHttpRequest = $this->getMockBuilder('TYPO3\\Flow\\Http\\Request')->disableOriginalConstructor()->getMock(); $mockUri = $this->getMockBuilder('TYPO3\\Flow\\Http\\Uri')->disableOriginalConstructor()->getMock(); $mockUri->expects($this->any())->method('getPath')->will($this->returnValue('/')); $mockHttpRequest->expects($this->any())->method('getUri')->will($this->returnValue($mockUri)); $mockBaseUri = $this->getMockBuilder('TYPO3\\Flow\\Http\\Uri')->disableOriginalConstructor()->getMock(); $mockBaseUri->expects($this->any())->method('getPath')->will($this->returnValue('/')); $mockHttpRequest->expects($this->any())->method('getBaseUri')->will($this->returnValue($mockBaseUri)); $mockHttpRequest->expects($this->atLeastOnce())->method('getMethod')->will($this->returnValue('PUT')); $this->assertTrue($this->route->matches($mockHttpRequest), 'Route should match PUT requests if POST and PUT requests are accepted.'); }