Fix cookie domain match #5
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
php-webdriver
changed the signature ofWebDriverOptions::getCookies
in v1.4.0. They attempted to keep it backwards-compatible, however it did result in some BC break.WebDriver::cookieDomainMatchesConfigUrl
continues to treat these values as arrays, however they are now objects that implementArrayAccess
. When calling:this returns false as it is not ArrayAccess aware.
This means that using any version of php-webdriver greater than 1.3.0 will result in the rest of the function becoming unreachable.
Another serious problem is that 7.4 now raises a deprecation notice when calling
array_key_exists
on a non-array (and can be raised as an exception).In the test case, I have modified it to create Cookie objects instead of arrays. Codeception/Codeception#5480 reverted this, however the version constraint is now sufficient,
^1.6.0
.In the method, I have opted to use
isset
instead, as the class convention is to continue treating it as an array, although this is deprecated.