From 2e7030c565bfb0f6eab4afc598674bd9164ac826 Mon Sep 17 00:00:00 2001 From: Nate Biggs Date: Fri, 24 Jan 2025 15:21:31 -0500 Subject: [PATCH] Update server_test --- pkgs/dart_services/test/server_test.dart | 67 +++++++++++++++--------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/pkgs/dart_services/test/server_test.dart b/pkgs/dart_services/test/server_test.dart index 98d82a008..4819efc4d 100644 --- a/pkgs/dart_services/test/server_test.dart +++ b/pkgs/dart_services/test/server_test.dart @@ -9,17 +9,18 @@ import 'package:dartpad_shared/services.dart'; import 'package:http/http.dart'; import 'package:test/test.dart'; +import 'src/sample_code.dart'; + void main() => defineTests(); void defineTests() { group('server', () { - late final Sdk sdk; + final sdk = Sdk.fromLocalFlutter(); late final EndpointsServer server; late final Client httpClient; late final ServicesClient client; setUpAll(() async { - sdk = Sdk.fromLocalFlutter(); server = await EndpointsServer.serve(0, sdk, null, 'nnbd_artifacts'); httpClient = Client(); @@ -215,19 +216,23 @@ void main() { } }); - test('compileDDC', () async { - final result = await client.compileNewDDC(CompileRequest(source: ''' + void testDDCEndpoint(String endpointName, + Future Function(CompileRequest) endpoint, + {required bool expectDeltaDill, required bool includeOldDeltaDill}) { + test('compileDDC', () async { + final result = await endpoint(CompileRequest(source: ''' void main() { print('hello world'); } -''')); - expect(result.result, isNotEmpty); - expect(result.result.length, greaterThanOrEqualTo(1024)); - expect(result.modulesBaseUrl, isNotEmpty); - }); +''', deltaDill: includeOldDeltaDill ? sampleDillFile : null)); + expect(result.result, isNotEmpty); + expect(result.result.length, greaterThanOrEqualTo(1024)); + expect(result.modulesBaseUrl, isNotEmpty); + expect(result.deltaDill, expectDeltaDill ? isNotEmpty : isNull); + }); - test('compileDDC flutter', () async { - final result = await client.compileNewDDC(CompileRequest(source: ''' + test('compileDDC flutter', () async { + final result = await endpoint(CompileRequest(source: ''' import 'package:flutter/material.dart'; void main() { @@ -244,24 +249,36 @@ class MyApp extends StatelessWidget { ); } } -''')); - expect(result.result, isNotEmpty); - expect(result.result.length, greaterThanOrEqualTo(10 * 1024)); - expect(result.modulesBaseUrl, isNotEmpty); - }); +''', deltaDill: includeOldDeltaDill ? sampleDillFile : null)); + expect(result.result, isNotEmpty); + expect(result.result.length, greaterThanOrEqualTo(10 * 1024)); + expect(result.modulesBaseUrl, isNotEmpty); + }); - test('compileDDC with error', () async { - try { - await client.compileNewDDC(CompileRequest(source: ''' + test('compileDDC with error', () async { + try { + await endpoint(CompileRequest(source: ''' void main() { print('hello world') } -''')); - fail('compile error expected'); - } on ApiRequestError catch (e) { - expect(e.body, contains("Expected ';' after this.")); - } - }); +''', deltaDill: includeOldDeltaDill ? sampleDillFile : null)); + fail('compile error expected'); + } on ApiRequestError catch (e) { + expect(e.body, contains("Expected ';' after this.")); + } + }); + } + + testDDCEndpoint('compileDDC', (request) => client.compileDDC(request), + expectDeltaDill: false, includeOldDeltaDill: false); + if (sdk.dartMajorVersion >= 3 && sdk.dartMinorVersion >= 8) { + testDDCEndpoint( + 'compileNewDDC', (request) => client.compileNewDDC(request), + expectDeltaDill: true, includeOldDeltaDill: false); + testDDCEndpoint('compileNewDDCReload', + (request) => client.compileNewDDCReload(request), + expectDeltaDill: true, includeOldDeltaDill: true); + } test('document', () async { final result = await client.document(SourceRequest(