For the "1.2.3+ea" string, the `DottedVersion.greedy()` function returns an instance whose `getUnprocessedSuffix()` returns ".3+ea". The expected value is "+ea".
Fixed the implementation and added missing test cases. Additionally: - Added `trim()` and `pad()` methods. - Replaced `DottedVersion.DigitsSupplier.throwException(`) with `DottedVersion.DigitsSupplier.createException()` to increase coverage. Somehow, `throw ds.createException()` is marked as covered, and `ds.throwException()` is marked as uncovered. Probably because in the latter case, the call never returns. ------------- Commit messages: - DottedVersion: add trim() and pad(). - DottedVersion: bugfix and better coverage Changes: https://git.openjdk.org/jdk/pull/30080/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30080&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8379334 Stats: 178 lines in 2 files changed: 156 ins; 6 del; 16 mod Patch: https://git.openjdk.org/jdk/pull/30080.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30080/head:pull/30080 PR: https://git.openjdk.org/jdk/pull/30080
