extractPackageTestGroupPath function

List<String> extractPackageTestGroupPath(
  1. dynamic liveTest
)

Extracts the normalized group path from a live package:test object.

Implementation

List<String> extractPackageTestGroupPath(dynamic liveTest) {
  final rawGroups = (liveTest.groups as List<dynamic>? ?? const <dynamic>[])
      .map((group) => _maybe<String>(() => group.name)?.toString() ?? '')
      .where((name) => name.isNotEmpty)
      .toList();

  final segments = <String>[];
  String? previous;
  for (final group in rawGroups) {
    if (previous != null && group.startsWith('$previous ')) {
      segments.add(group.substring(previous.length + 1));
    } else {
      segments.add(group);
    }
    previous = group;
  }
  return segments;
}