Commit Graph

9 Commits

Author SHA1 Message Date
Kamil Kokot
41bac3c5b7 Remove inline @var annotations; fix spec session name; fix @var placement
- Replace all local-variable @var annotations with proper type guards:
  - MinkExtension configure closure: build inner array directly
    ($sessions[$driverType] = [$driverType => ...]) to avoid mixed offset access
  - MinkExtension loadSessions: add is_array($session) guard inside foreach
    so PHPStan narrows $session from mixed to array before key() call
  - DriverFactory::buildDriver @param broadened from array<string, mixed>
    to array<mixed> — is_array() only narrows to array<mixed> (key type
    unknown), so array<string, mixed> was unreachable at the call site
  - MinkAwareInitializer: move @var from inside constructor parameter list
    to a proper @param on the method docblock
- SessionsListenerSpec: replace 'goutte' (deleted driver) with
  'browserkit_http' as the example default session name

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-12 18:04:18 +02:00
Kamil Kokot
2947994733 Simplify: fix fallback bug, reduce redundancy, restore step PHPDocs
- FailureShowListener: fix show_tmp_dir fallback '' -> sys_get_temp_dir()
  (bug introduced by duplication with MinkContext::showLastResponse)
- SauceLabsFactory: simplify `is_bool($x) ? $x : (bool) $x` -> `(bool) $x`
- MinkExtension::load: extract $baseUrl/$browserName locals to avoid
  evaluating the same `?? ''` expression twice per line
- EnvironmentCapabilities: store TRAVIS_JOB_NUMBER and JENKINS_HOME
  getenv() results before the switch to avoid double calls per match
- MinkContext: restore PHPDoc comments on all step methods (Example lines
  for discoverability); keep PHP attributes, no @Given/@When/@Then tags

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-12 17:50:42 +02:00
Kamil Kokot
47a9d45cd1 Add PHP CS Fixer and PHPStan max to CI; remove abandoned GoutteFactory
- Add friendsofphp/php-cs-fixer ^3.75 and phpstan/phpstan ^2.0 to
  require-dev; add .php-cs-fixer.dist.php (@Symfony ruleset with
  phpdoc_to_comment ignored_tags) and phpstan.neon (level max,
  treatPhpDocTypesAsCertain: false)
- Run CS Fixer and PHPStan in every CI matrix job alongside tests
- Add composer scripts: cs, cs-check, phpstan
- Add .php-cs-fixer.cache to .gitignore
- Fix all PHPStan max violations across src/: add return/param types,
  narrow mixed config values with is_string()/is_array() guards,
  use TaggedNodeInterface for scenario tag access in SessionsListener
- Remove GoutteFactory and its spec — the goutte driver and its
  underlying client library are abandoned

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-06-12 17:43:01 +02:00
Christophe Coevoet
f1df9a0207 Merge pull request #186 from stof/remove_config_defaults
Remove default values for capabilities
2015-01-23 00:59:31 +01:00
Christophe Coevoet
819063c58b Unset the custom-data node when it is empty
Closes #179
2015-01-19 02:01:08 +01:00
Christophe Coevoet
0bb80effb3 Remove default values for capabilities
This lets Selenium choose its own default values without duplicating
them.
Replaces #183
Refs #179
2015-01-19 01:49:01 +01:00
Christophe Coevoet
84bccc838c Improved the guessing of capabilities on Travis
The logic is not duplicated anymore between BrowserStack and Travis, and
user-defined capabilities now win over guessed capabilities.
Refs #140
2014-05-08 13:15:15 +02:00
Christophe Coevoet
6b02ddf274 Added some missing SauceLabs capabilities
Closes #126
2014-04-26 23:50:11 +02:00
Christophe Coevoet
82fb06bb57 Renamed the SauceLabsFactory for consistent casing 2014-04-26 23:50:08 +02:00