RFR: 8376698: Add Spliterator tests for TreeMap sub-maps [v2]

Oli Gillespie ogillespie at openjdk.org
Thu Feb 19 09:35:00 UTC 2026


> Add missing cases to SpliteratorTraversingAndSplittingTest. This came up when I was fixing https://bugs.openjdk.org/browse/JDK-8372946, and I noticed the tests do not cover these sub-maps.
> 
> Two interesting parts:
> 
> 1. These tests failed when first added because `SubMapKeyIterator` and `DescendingSubMapKeyIterator` do not eagerly throw `NullPointerException` for `null` action arguments. The spec says "Throws: NullPointerException - if the specified action is null", so I updated the implementation to match other spliterators.
> 2. Since the descending maps have the reverse expected iteration order, I added support in the test harness for descending maps.

Oli Gillespie has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Update copyright
 - Merge remote-tracking branch 'origin/master' into spliterator-test
 - Switch to Objects.requireNonNull
 - Add tests and fix impl

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/29485/files
  - new: https://git.openjdk.org/jdk/pull/29485/files/82be36d8..f376e3c1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29485&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29485&range=00-01

  Stats: 89511 lines in 1537 files changed: 44815 ins; 21887 del; 22809 mod
  Patch: https://git.openjdk.org/jdk/pull/29485.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29485/head:pull/29485

PR: https://git.openjdk.org/jdk/pull/29485


More information about the core-libs-dev mailing list