@@ -861,6 +861,58 @@ void main() {
861
861
expect (result[1 ], params);
862
862
});
863
863
864
+ test ('setSynchronousReturnValueForOnShowFileChooser' , () {
865
+ final MockTestWebChromeClientHostApi mockHostApi =
866
+ MockTestWebChromeClientHostApi ();
867
+ TestWebChromeClientHostApi .setup (mockHostApi);
868
+
869
+ WebChromeClient .api =
870
+ WebChromeClientHostApiImpl (instanceManager: instanceManager);
871
+
872
+ final WebChromeClient webChromeClient = WebChromeClient .detached ();
873
+ instanceManager.addHostCreatedInstance (webChromeClient, 2 );
874
+
875
+ webChromeClient.setSynchronousReturnValueForOnShowFileChooser (false );
876
+
877
+ verify (
878
+ mockHostApi.setSynchronousReturnValueForOnShowFileChooser (2 , false ),
879
+ );
880
+ });
881
+
882
+ test (
883
+ 'setSynchronousReturnValueForOnShowFileChooser throws StateError when onShowFileChooser is null' ,
884
+ () {
885
+ final MockTestWebChromeClientHostApi mockHostApi =
886
+ MockTestWebChromeClientHostApi ();
887
+ TestWebChromeClientHostApi .setup (mockHostApi);
888
+
889
+ WebChromeClient .api =
890
+ WebChromeClientHostApiImpl (instanceManager: instanceManager);
891
+
892
+ final WebChromeClient clientWithNullCallback =
893
+ WebChromeClient .detached ();
894
+ instanceManager.addHostCreatedInstance (clientWithNullCallback, 2 );
895
+
896
+ expect (
897
+ () => clientWithNullCallback
898
+ .setSynchronousReturnValueForOnShowFileChooser (true ),
899
+ throwsStateError,
900
+ );
901
+
902
+ final WebChromeClient clientWithNonnullCallback =
903
+ WebChromeClient .detached (
904
+ onShowFileChooser: (_, __) async => < String > [],
905
+ );
906
+ instanceManager.addHostCreatedInstance (clientWithNonnullCallback, 3 );
907
+
908
+ clientWithNonnullCallback
909
+ .setSynchronousReturnValueForOnShowFileChooser (true );
910
+
911
+ verify (
912
+ mockHostApi.setSynchronousReturnValueForOnShowFileChooser (3 , true ),
913
+ );
914
+ });
915
+
864
916
test ('copy' , () {
865
917
expect (WebChromeClient .detached ().copy (), isA <WebChromeClient >());
866
918
});
0 commit comments