@@ -486,7 +486,9 @@ void main() {
486
486
expect (await webDevFS.webAssetServer.dartSourceContents ('dart_sdk.js' ), 'BELLOW' );
487
487
488
488
// Toggle CanvasKit
489
+ expect (webDevFS.webAssetServer.canvasKitRendering, false );
489
490
webDevFS.webAssetServer.canvasKitRendering = true ;
491
+
490
492
expect (await webDevFS.webAssetServer.dartSourceContents ('dart_sdk.js' ), 'OL' );
491
493
expect (await webDevFS.webAssetServer.dartSourceContents ('dart_sdk.js.map' ), 'CHUM' );
492
494
@@ -650,6 +652,55 @@ void main() {
650
652
expect (uri, Uri .http ('localhost:0' , '' ));
651
653
await webDevFS.destroy ();
652
654
}));
655
+
656
+ test ('Can start web server with canvaskit enabled' , () => testbed.run (() async {
657
+ globals.fs.file ('.packages' ).writeAsStringSync ('\n ' );
658
+ final File outputFile = globals.fs.file (globals.fs.path.join ('lib' , 'main.dart' ))
659
+ ..createSync (recursive: true );
660
+ outputFile.parent.childFile ('a.sources' ).writeAsStringSync ('' );
661
+ outputFile.parent.childFile ('a.json' ).writeAsStringSync ('{}' );
662
+ outputFile.parent.childFile ('a.map' ).writeAsStringSync ('{}' );
663
+ outputFile.parent.childFile ('.packages' ).writeAsStringSync ('\n ' );
664
+
665
+ final ResidentCompiler residentCompiler = MockResidentCompiler ();
666
+ when (residentCompiler.recompile (
667
+ any,
668
+ any,
669
+ outputPath: anyNamed ('outputPath' ),
670
+ packageConfig: anyNamed ('packageConfig' ),
671
+ )).thenAnswer ((Invocation invocation) async {
672
+ return const CompilerOutput ('a' , 0 , < Uri > []);
673
+ });
674
+
675
+ final WebDevFS webDevFS = WebDevFS (
676
+ hostname: 'localhost' ,
677
+ port: 0 ,
678
+ packagesFilePath: '.packages' ,
679
+ urlTunneller: null ,
680
+ useSseForDebugProxy: true ,
681
+ buildInfo: const BuildInfo (
682
+ BuildMode .debug,
683
+ '' ,
684
+ treeShakeIcons: false ,
685
+ dartDefines: < String > [
686
+ 'FLUTTER_WEB_USE_SKIA=true' ,
687
+ ]
688
+ ),
689
+ enableDwds: false ,
690
+ entrypoint: Uri .base ,
691
+ testMode: true ,
692
+ expressionCompiler: null ,
693
+ chromiumLauncher: null ,
694
+ );
695
+ webDevFS.requireJS.createSync (recursive: true );
696
+ webDevFS.stackTraceMapper.createSync (recursive: true );
697
+
698
+ await webDevFS.create ();
699
+
700
+ expect (webDevFS.webAssetServer.canvasKitRendering, true );
701
+
702
+ await webDevFS.destroy ();
703
+ }));
653
704
}
654
705
655
706
class MockHttpServer extends Mock implements HttpServer {}
0 commit comments