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

valkyrjaio / valkyrja-java / 30329206586
100%

Build:
DEFAULT BRANCH: 26.x
Ran 28 Jul 2026 04:37AM UTC
Jobs 1
Files 659
Run time 1min
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

28 Jul 2026 04:36AM UTC coverage: 99.977%. Remained the same
30329206586

push

github

web-flow
[Cli] Treat a bare double dash as the end-of-options marker and a lone dash as an operand (#57)

# Description

Implements the POSIX end-of-options marker and fixes a lone `-` being
rejected.

`InputFactory` decided option-vs-operand with a bare `startsWith('-')`,
so two
conventional spellings were hard errors that took the whole command line
with
them:

```
myapp cmd -- --not-an-option   → CliInteractionInvalidNonEmptyValueException
myapp cmd -- file.txt          → CliInteractionInvalidNonEmptyValueException
myapp cmd -                    → CliInteractionInvalidNonEmptyValueException
```

`--` reached `OptionFactory`, which stripped the dashes, got an empty
name, and
threw. A bare `-` did the same.

**`--` is now the end-of-options marker.** It is consumed — it never
becomes an
operand itself — and every arg after it is an operand no matter how many
dashes
it starts with. This is how a caller passes a literal `--verbose` as
data, or a
filename that begins with a dash. A *second* `--` is therefore an
ordinary
operand, since option parsing has already ended.

**A lone `-` is now an operand.** By universal Unix convention (POSIX
Utility
Syntax Guidelines) a single dash names standard input — `cat -`, `sort
file -`,
`tar -xf -`. It is an operand, not an option. What "standard input"
means is the
command's business; the parser's job is only to stop treating it as an
option.

Positional semantics are unchanged: the command-name slot still works
exactly as
before, so a `--` spelled in that slot is consumed and the default
command name
stands (the same way an option spelled there already behaved), while a
lone `-`
in that slot fills it, because it is an operand.

Handing `--` or `-` directly to `OptionFactory` still throws — that is
correct at
that level, and those unit tests are unchanged. Only `InputFactory`,
which decides
what is an option in the first place, changed.

Found via the request/command mapping-fidelity tests, which pinned both
spellings
as cu... (continued)

1912 of 1914 branches covered (99.9%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

6961 of 6961 relevant lines covered (100.0%)

4.34 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30329206586.1 28 Jul 2026 04:37AM UTC 659
99.98
GitHub Action Run
Source Files on build 30329206586
  • Tree
  • List 659
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30329206586
  • 5c269a87 on github
  • Prev Build on 26.x (#30328964911)
  • Next Build on 26.x (#30330095691)
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