/**
  * Refresh the request stack by resetting the authentication,
  * popping the last request from the stack, replacing the
  * input, and resetting the version and parameters.
  *
  * @return void
  */
 protected function refreshRequestStack()
 {
     if (!$this->persistAuthenticatedUser) {
         $this->auth->setUser(null);
         $this->persistAuthenticatedUser = true;
     }
     if ($route = array_pop($this->routeStack)) {
         $this->router->setCurrentRoute($route);
     }
     $this->replaceRequestInput();
     $this->version = null;
     $this->parameters = $this->files = [];
 }
 public function testGettingUserWhenNoLoggedInUserReturnsNull()
 {
     $auth = new Shield($this->auth, $this->container, []);
     $this->assertFalse($auth->check());
     $this->assertNull($auth->user());
 }