/**
  * Method to test get().
  *
  * @return void
  *
  * @covers Windwalker\Helper\CurlHelper::get
  */
 public function testGet()
 {
     $url = 'http://example.com/';
     $http = \JHttpFactory::getHttp(new \JRegistry($this->options), 'curl');
     // Test with Restful Api 'GET'
     $helperOutput = CurlHelper::get($url);
     $jHttpOutput = $http->get($url);
     $this->assertEquals($helperOutput->code, $jHttpOutput->code);
     $this->assertEquals($helperOutput->body, $jHttpOutput->body);
     // Test with Restful Api 'POST'
     $helperOutput = CurlHelper::get($url, 'post', array('key' => 'value'), array('testHeader'));
     $jHttpOutput = $http->post($url, array('key' => 'value'), array('testHeader'));
     $this->assertEquals($helperOutput->code, $jHttpOutput->code);
     $this->assertEquals($helperOutput->body, $jHttpOutput->body);
 }
 /**
  * A method to do Google translate.
  *
  * @param   string $text      String to translate.
  * @param   string $SourceLan Translate from this language, eg: 'zh-tw'. Empty will auto detect.
  * @param   string $ResultLan Translate to this language, eg: 'en'. Empty will auto detect.
  *
  * @return  string|bool Translated text.
  */
 public static function gTranslate($text, $SourceLan, $ResultLan)
 {
     $url = new \JUri();
     // For Google APIv2
     $url->setHost('https://www.googleapis.com/');
     $url->setPath('language/translate/v2');
     $query['key'] = self::APT_KEY;
     $query['q'] = urlencode($text);
     $query['source'] = $SourceLan;
     $query['target'] = $ResultLan;
     if (!$text) {
         return false;
     }
     $url->setQuery($query);
     $url->toString();
     $response = CurlHelper::get((string) $url);
     if (empty($response->body)) {
         return '';
     }
     $json = new \JRegistry();
     $json->loadString($response->body, 'json');
     $r = $json->get('data.translations');
     return $r[0]->translatedText;
 }