Files
wehub-resource-sync bb087aad19
CI / format (push) Failing after 2s
CI / packaging (push) Failing after 0s
CI / test (push) Failing after 3s
chore: import upstream snapshot with attribution
2026-07-13 11:58:56 +08:00

38 lines
895 B
Dart

import 'package:common/util/sleep.dart';
import 'package:common/util/task_runner.dart';
import 'package:test/test.dart';
void main() {
group('TaskRunner', () {
test('should run all tasks in parallel', () async {
final results = TaskRunner<String?>(
concurrency: 10,
initialTasks: [
for (final data in [
[10, null],
[30, 'a'],
[20, 'b'],
[40, 'c']
])
() async {
final delay = data[0] as int;
final result = data[1] as String?;
await sleepAsync(delay);
return result;
},
],
).stream;
String? finalResult;
await results.forEach((result) {
if (finalResult == null && result != null) {
finalResult = result;
}
});
expect(finalResult, 'b');
});
});
}