Codeception / Codeception/module-rest

Rename `setServerParameters()` to `haveServerParameters()`; drop `haveServerParameter()`

オープン
#26 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
PHP
スター
60
フォーク
30
平均マージ
22時間 37分
マージ済み PR(30日)
1

説明

Just stumbled upon this while searching for a new name for `deleteHeader()`, see https://github.com/Codeception/module-rest/issues/22

Current situation:
* [`haveServerParameter('name', 'value')`](https://github.com/Codeception/module-rest/blob/master/src/Codeception/Module/REST.php#L1629) uses Symfony's [`Client::setServerParameter()`](https://github.com/symfony/browser-kit/blob/4.4/Client.php#L145)
* [`setServerParameters([])`](https://github.com/Codeception/module-rest/blob/master/src/Codeception/Module/REST.php#L1617) uses Symfony's [`Client::setServerParameters()`](https://github.com/symfony/browser-kit/blob/4.4/Client.php#L132) which sets `'HTTP_USER_AGENT' => 'Symfony BrowserKit'` by default.

I would say:

* "*set*ServerParameters" isn't the right term, Codeception's convention for this is "**have**ServerParameters".
* It doesn't make sense to have *two* functions for this, one for a single parameter, and one for multiple. If the expected argument is an *array*, anybody knows immediately what to pass. So the existing `haveServerParameter` can be deprecated in favor of the new `haveServerParameters`.
* Remaining question: Is the "Symfony BrowserKit" thing more of a bug or more of a feature?
If feature: Just pass the array along to Symfony's `setServerParameters`, and that's it.
If bug: `foreach()` over the array and use Symfony's `setServerParameter`.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。