andrey-zherikov / argparse

Parser for command-line arguments
https://andrey-zherikov.github.io/argparse/
Boost Software License 1.0
30 stars 6 forks source link

Fix argument bundling #158

Closed andrey-zherikov closed 7 months ago

andrey-zherikov commented 7 months ago

Tested with example from #112:

Case-sensitive:

./prog -b -s=abc   =>   true <abc>
./prog -b -s abc   =>   true <abc>
./prog -b -sabc   =>   true <abc>
./prog -bsabc   =>   true <abc>
./prog -bs=abc   =>   true <abc>
./prog -b -S=abc   =>   Error: Unrecognized arguments: ["-S=abc"]
./prog -b -S abc   =>   Error: Unrecognized arguments: ["-S", "abc"]
./prog -b -Sabc   =>   Error: Unrecognized arguments: ["-Sabc"]
./prog -bSabc   =>   Error: Unrecognized arguments: ["-Sabc"]
./prog -bS=abc   =>   Error: Unrecognized arguments: ["-S=abc"]
./prog -B -s=abc   =>   Error: Unrecognized arguments: ["-B"]
./prog -B -s abc   =>   Error: Unrecognized arguments: ["-B"]
./prog -B -sabc   =>   Error: Unrecognized arguments: ["-B"]
./prog -Bsabc   =>   Error: Unrecognized arguments: ["-Bsabc"]
./prog -Bs=abc   =>   Error: Unrecognized arguments: ["-Bs=abc"]
./prog -B -S=abc   =>   Error: Unrecognized arguments: ["-B", "-S=abc"]
./prog -B -S abc   =>   Error: Unrecognized arguments: ["-B", "-S", "abc"]
./prog -B -Sabc   =>   Error: Unrecognized arguments: ["-B", "-Sabc"]
./prog -BSabc   =>   Error: Unrecognized arguments: ["-BSabc"]
./prog -BS=abc   =>   Error: Unrecognized arguments: ["-BS=abc"]

Case-insensitive:

./prog -b -s=abc   =>   true <abc>
./prog -b -s abc   =>   true <abc>
./prog -b -sabc   =>   true <abc>
./prog -bsabc   =>   true <abc>
./prog -bs=abc   =>   true <abc>
./prog -b -S=abc   =>   true <abc>
./prog -b -S abc   =>   true <abc>
./prog -b -Sabc   =>   true <abc>
./prog -bSabc   =>   true <abc>
./prog -bS=abc   =>   true <abc>
./prog -B -s=abc   =>   true <abc>
./prog -B -s abc   =>   true <abc>
./prog -B -sabc   =>   true <abc>
./prog -Bsabc   =>   true <abc>
./prog -Bs=abc   =>   true <abc>
./prog -B -S=abc   =>   true <abc>
./prog -B -S abc   =>   true <abc>
./prog -B -Sabc   =>   true <abc>
./prog -BSabc   =>   true <abc>
./prog -BS=abc   =>   true <abc>

Closes #112

codecov[bot] commented 7 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (3d1e8b2) 99.22% compared to head (73b30a0) 99.22%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #158 +/- ## ======================================= Coverage 99.22% 99.22% ======================================= Files 27 27 Lines 1943 1945 +2 ======================================= + Hits 1928 1930 +2 Misses 15 15 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.