import 'package:flutter_test/flutter_test.dart'; /// Mirrors DownloadQueue session drain gating used in `_pump`. bool shouldNotifyQueueDrained({ required bool sessionHadWork, required int queuedRemaining, }) { return sessionHadWork && queuedRemaining == 0; } void main() { group('queue drained gating', () { test('does not fire when no work was processed', () { expect( shouldNotifyQueueDrained(sessionHadWork: false, queuedRemaining: 0), isFalse, ); }); test('fires when work ran and queue is empty', () { expect( shouldNotifyQueueDrained(sessionHadWork: true, queuedRemaining: 0), isTrue, ); }); test('does not fire while items remain', () { expect( shouldNotifyQueueDrained(sessionHadWork: true, queuedRemaining: 2), isFalse, ); }); }); }