We need to do the redirect to update address bar.tags/v11.0RC2
@@ -143,15 +143,14 @@ class ViewController extends Controller { | |||
* @param string $dir | |||
* @param string $view | |||
* @param string $fileid | |||
* @return TemplateResponse | |||
* @return TemplateResponse|RedirectResponse | |||
*/ | |||
public function index($dir = '', $view = '', $fileid = null) { | |||
$fileNotFound = false; | |||
public function index($dir = '', $view = '', $fileid = null, $fileNotFound = false) { | |||
if ($fileid !== null) { | |||
try { | |||
return $this->showFile($fileid); | |||
} catch (NotFoundException $e) { | |||
$fileNotFound = true; | |||
return new RedirectResponse($this->urlGenerator->linkToRoute('files.view.index', ['fileNotFound' => true])); | |||
} | |||
} | |||
@@ -348,10 +348,14 @@ class ViewControllerTest extends TestCase { | |||
->with(123) | |||
->will($this->returnValue([])); | |||
$this->urlGenerator->expects($this->once()) | |||
->method('linkToRoute') | |||
->with('files.view.index', ['fileNotFound' => true]) | |||
->willReturn('redirect.url'); | |||
$response = $this->viewController->index('MyDir', 'MyView', '123'); | |||
$this->assertInstanceOf('OCP\AppFramework\Http\TemplateResponse', $response); | |||
$params = $response->getParams(); | |||
$this->assertEquals(1, $params['fileNotFound']); | |||
$this->assertInstanceOf('OCP\AppFramework\Http\RedirectResponse', $response); | |||
$this->assertEquals('redirect.url', $response->getRedirectURL()); | |||
} | |||
public function testShowFileRouteWithTrashedFile() { |