Fix header for multispan with null secondary urls (dart-lang/source_span#72)

If a multiple span highlight was created where all the secondary spans
had `null` URLs they were filtered out from the comparison checking
whether multiple files are involved.

This bug was caused during the null safety migration. A similar bug
previously existed if the primary span had a null URL and is also fixed.

- Take a nullable list in `isAllTheSame`. Avoid using `null` as a
  sentinel for no item seen, use `.first` and `.skip(1)` to compare all
  elements.
- Add tests for the case of primary and secondary spans with a null URL.
5 files changed
tree: 8aeee93f9fc3bc95a19c4dd05a090182fbf97903
  1. pkgs/