public function testRedirectsToAuthServerWithScopeGivenCode()
 {
     $controller = new Controller();
     # First generate a code
     $request = new Request(['response_type' => 'device_code', 'client_id' => 'x', 'scope' => 'foo']);
     $response = new Response();
     $response = $controller->generate_code($request, $response);
     $data = json_decode($response->getContent());
     $request = new Request(['code' => $data->user_code]);
     $response = new Response();
     $response = $controller->verify_code($request, $response);
     $responseString = $response->__toString();
     preg_match('/Location:\\s+([^\\s]+)/', $responseString, $location);
     $authURL = parse_url($location[1]);
     parse_str($authURL['query'], $params);
     $this->assertEquals('code', $params['response_type']);
     $this->assertEquals('x', $params['client_id']);
     $this->assertEquals('foo', $params['scope']);
     $this->assertEquals(Config::$baseURL . '/auth/redirect', $params['redirect_uri']);
     $this->assertNotEmpty($params['state']);
 }