public function testGracefullyHandlesUrlAppending()
 {
     $params = [];
     $url = 'https://www.foo.com/';
     $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params);
     $this->assertEquals('https://www.foo.com/', $processed_url);
     $params = ['access_token' => 'foo'];
     $url = 'https://www.foo.com/';
     $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params);
     $this->assertEquals('https://www.foo.com/?access_token=foo', $processed_url);
     $params = ['access_token' => 'foo', 'bar' => 'baz'];
     $url = 'https://www.foo.com/?foo=bar';
     $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params);
     $this->assertEquals('https://www.foo.com/?access_token=foo&bar=baz&foo=bar', $processed_url);
     $params = ['access_token' => 'foo'];
     $url = 'https://www.foo.com/?foo=bar&access_token=bar';
     $processed_url = FacebookUrlManipulator::appendParamsToUrl($url, $params);
     $this->assertEquals('https://www.foo.com/?access_token=bar&foo=bar', $processed_url);
 }
 /**
  * Generate and return the URL for this request.
  *
  * @return string
  */
 public function getUrl()
 {
     $this->validateMethod();
     $graphVersion = FacebookUrlManipulator::forceSlashPrefix($this->graphVersion);
     $endpoint = FacebookUrlManipulator::forceSlashPrefix($this->getEndpoint());
     $url = $graphVersion . $endpoint;
     if ($this->getMethod() !== 'POST') {
         $params = $this->getParams();
         $url = FacebookUrlManipulator::appendParamsToUrl($url, $params);
     }
     return $url;
 }