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.

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

Commit messages:
 - Switch to Objects.requireNonNull
 - Add tests and fix impl

Changes: https://git.openjdk.org/jdk/pull/29485/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29485&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8376698
  Stats: 30 lines in 2 files changed: 29 ins; 1 del; 0 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

Reply via email to