• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-php / 30232552358
100%

Build:
DEFAULT BRANCH: 26.x
Ran 27 Jul 2026 02:37AM UTC
Jobs 1
Files 1138
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Jul 2026 02:35AM UTC coverage: 100.0%. Remained the same
30232552358

push

github

web-flow
[Cli] Add routing argument/option combination tests (#924)

# Description

The CLI routing code (`Router` binding, `AttributeRouteCollector`)
already reported 100%
line and branch coverage, but that coverage was shallow on
*combinations*: the existing
`RouterTest` bound a single long-named option and a single argument, so
most of the
argument/option permutation surface a developer relies on went unproven.

This PR adds combination tests so a developer can trust that any command
they define —
with any mix of argument and option types, via direct `Route`
construction **or** via
attributes — is bound and validated correctly. It adds tests only; there
are no source
changes, so coverage cannot drop.

CLI routing is not regex-based (unlike HTTP): matching is exact
command-name lookup, then
positional argument binding and name/short-name option binding, with
per-parameter
validation. These tests exercise that binding/validation surface end to
end through
`Router::dispatchRoute`.

Highlights:
- **Option binding**: matched by short name; multiple inputs collected
into an `ARRAY`
option; an option parameter that matches zero inputs; a `NONE` flag that
receives a
value throws; a `REQUIRED` option that is missing throws; a `DEFAULT`
option that
  receives more than one value throws.
- **Argument binding**: fewer inputs than declared parameters (the
unset-index branch); a
missing `REQUIRED` argument throws; an `ARRAY` argument consumes the
remaining inputs.
- **Attribute path**: a new command fixture covers the argument/option
mode and value-mode
permutations not previously exercised by attributes (optional
single-value argument,
optional long-only option, and a `NONE` flag), asserting the converted
data-class
  parameters.

Sibling of the HTTP routing combination tests in #923; part of a
cross-language effort
(Java and TypeScript PRs to follow).

## Types of changes

- [x] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change... (continued)

12587 of 12587 relevant lines covered (100.0%)

16.69 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30232552358.1 27 Jul 2026 02:37AM UTC 1138
100.0
GitHub Action Run
Source Files on build 30232552358
  • Tree
  • List 1138
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30232552358
  • cc13c775 on github
  • Prev Build on 26.x (#30224584989)
  • Next Build on 26.x (#30232707721)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc