smstw / windwalker-joomla-rad

Windwalker RAD framework for Joomla CMS
http://ventoviro.github.io/windwalker-rad-doc/
1 stars 2 forks source link

[Test] CurlHelperTest #46

Closed bblurock closed 9 years ago

asika32764 commented 9 years ago

沒有出現 utf8 那個的問題阿

bblurock commented 9 years ago

我遇到一個問題,我想要測 CurlHelper::get() 第二個參數是 array 的情況。 see L25

註解是說會塞到 $option 裡,這點沒什麼問題,雖然不知道塞到 $option 送出要幹麻。 see L43-46

可是實際上 helper 沒有對 $method 做處理,導致 L71 的 $method 還是 array 不是 string see L71

這應該怎麼辦好呢?

為什麼當初要設計可以吃 array

asika32764 commented 9 years ago

get 通常不吃,post才吃,也許可以另外加註說明,或改成get也吃都行

bblurock notifications@github.com 於 2015年6月23日 星期二寫道:

我遇到一個問題,我想要測 CurlHelper::get() 第二個參數是 array 的情況。 see L25 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L25

註解是說會塞到 $option 裡,這點沒什麼問題,雖然不知道塞到 $option 送出要幹麻。 see L43-46 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L43-L46

可是實際上 helper 沒有對 $method 做處理,導致 L71 的 $method 還是 array 不是 string see L71 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L71

這應該怎麼辦好呢?

為什麼當初要設計可以吃 array

— Reply to this email directly or view it on GitHub https://github.com/smstw/windwalker-joomla-rad/pull/46#issuecomment-114386895 .

Best Regard

Simon Asika | Kwang Po Tung | 董冠伯

bblurock commented 9 years ago

我的意思是註解說第二個參數可以送 array?可是送 array 應該會噴錯

asika32764 commented 9 years ago

那可能就是註解錯了,可以考慮要不要吃array

要的話就改一下源碼

bblurock notifications@github.com 於 2015年6月23日 星期二寫道:

我的意思是註解說第二個參數可以送 array?可是送 array 應該會噴錯

— Reply to this email directly or view it on GitHub https://github.com/smstw/windwalker-joomla-rad/pull/46#issuecomment-114419630 .

Best Regard

Simon Asika | Kwang Po Tung | 董冠伯

LeoOnTheEarth commented 9 years ago
public static function get($url, $method = 'get', $query = '', $option = array())

$method 應該只能允許一種才對,沒看過用 CURL 時設定兩種以上的 $method

另外這一段應該要移除,$method$options 沒直接關係才對 https://github.com/smstw/windwalker-joomla-rad/blob/dev-2.1/src/Helper/CurlHelper.php#L43-L46

bblurock commented 9 years ago

好,那我再改一下。

還有另一個問題是我明明已經拿 JHttpResponse->body 出來比了

see this

可是 asserEquals 的時候還是會變成 object screen shot 2015-06-23 at 5 50 12 pm

相當詭異

LeoOnTheEarth commented 9 years ago

好,那我再改一下。

還有另一個問題是我明明已經拿 JHttpResponse->body 出來比了

see this

可是 asserEquals 的時候還是會變成 object

問題是出在上面的

$this->assertEquals(CurlHelper::get($url), $http->get($url));

response 裡的 header 內容不一樣

asika32764 commented 9 years ago

不是 object 的問題,是 'Server' => 'ECS (dca 2469E)' 這邊不一樣

所以你最好是比對 status code 與 body 就可以了

asika32764 commented 9 years ago

你的 unit test 跑法沒有出現高亮度,你是怎麼設定 phpstorm 的? 還是你直接用 CLI?

bblurock commented 9 years ago

剛剛那是 travis 的截圖

asika32764 commented 9 years ago

Merged,我在 phpunit.xml 加上一個 WINDWALKER_TEST_CURL_HELPER 的常數,只在 Travis 上面跑這個測試。因為本機端對外 request 有太多變數會導致測試失敗或變慢