Skip to content

Commit

Permalink
Run common URLSessionTask tests on URLSessionWebSocketTask (#959)
Browse files Browse the repository at this point in the history
  • Loading branch information
brianquinlan committed Jun 9, 2023
1 parent 1746017 commit ba7eb60
Showing 1 changed file with 17 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,9 @@ void testWebSocketTask() {
});
}

void testURLSessionTask(
URLSessionTask Function(URLSession session, Uri url) f) {
void testURLSessionTaskCommon(
URLSessionTask Function(URLSession session, Uri url) f,
{bool suspendedAfterCancel = false}) {
group('task states', () {
late HttpServer server;
late URLSessionTask task;
Expand Down Expand Up @@ -186,7 +187,11 @@ void testURLSessionTask(

test('cancel', () {
task.cancel();
expect(task.state, URLSessionTaskState.urlSessionTaskStateCanceling);
if (suspendedAfterCancel) {
expect(task.state, URLSessionTaskState.urlSessionTaskStateSuspended);
} else {
expect(task.state, URLSessionTaskState.urlSessionTaskStateCanceling);
}
expect(task.response, null);
task.toString(); // Just verify that there is no crash.
});
Expand Down Expand Up @@ -365,14 +370,21 @@ void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();

group('data task', () {
testURLSessionTask(
testURLSessionTaskCommon(
(session, uri) => session.dataTaskWithRequest(URLRequest.fromUrl(uri)));
});

group('download task', () {
testURLSessionTask((session, uri) =>
testURLSessionTaskCommon((session, uri) =>
session.downloadTaskWithRequest(URLRequest.fromUrl(uri)));
});

group('websocket task', () {
testURLSessionTaskCommon(
(session, uri) =>
session.webSocketTaskWithRequest(URLRequest.fromUrl(uri)),
suspendedAfterCancel: true);
});

testWebSocketTask();
}

0 comments on commit ba7eb60

Please sign in to comment.