1515
1616@interface BridgeTests : XCTestCase
1717@end
18- @interface TestWebPageLoadDelegate : NSObject <UIWebViewDelegate>
18+ @interface TestWebPageLoadDelegate : NSObject <UIWebViewDelegate, WKNavigationDelegate >
1919@property XCTestExpectation* expectation;
2020@end
2121
2222@implementation BridgeTests {
2323 UIWebView *_uiWebView;
2424 WKWebView *_wkWebView;
25- NSMutableArray * _bridgeRefs ;
25+ NSMutableArray * _retains ;
2626}
2727
2828- (void )setUp {
@@ -39,7 +39,7 @@ - (void)setUp {
3939 _wkWebView.backgroundColor = [UIColor redColor ];
4040 [rootVC.view addSubview: _wkWebView];
4141
42- _bridgeRefs = [NSMutableArray array ];
42+ _retains = [NSMutableArray array ];
4343}
4444
4545- (void )tearDown {
@@ -50,7 +50,7 @@ - (void)tearDown {
5050
5151- (WebViewJavascriptBridge*)bridgeForWebView : (id )webView {
5252 WebViewJavascriptBridge* bridge = [WebViewJavascriptBridge bridgeForWebView: webView];
53- [_bridgeRefs addObject: bridge];
53+ [_retains addObject: bridge];
5454 return bridge;
5555}
5656
@@ -175,24 +175,26 @@ - (void)classSpecificTestJavascriptReceiveResponseWithoutSafetyTimeout:(id)webVi
175175}
176176
177177- (void )testWebpageLoad {
178- TestWebPageLoadDelegate* delegate = [self classSpecificTestWebpageLoad: _uiWebView]; // to retain it
179- // [self classSpecificTestWebpageLoad:_wkWebView];
178+ [self classSpecificTestWebpageLoad: _uiWebView];
179+ [self classSpecificTestWebpageLoad: _wkWebView];
180180 [self waitForExpectationsWithTimeout: timeoutSec handler: NULL ];
181- NSLog (@" Retain delegate %@ " , delegate);
182181}
183- - (TestWebPageLoadDelegate* )classSpecificTestWebpageLoad : (id )webView {
182+ - (void )classSpecificTestWebpageLoad : (id )webView {
184183 WebViewJavascriptBridge* bridge = [self bridgeForWebView: webView];
185184 TestWebPageLoadDelegate* delegate = [TestWebPageLoadDelegate new ];
186185 delegate.expectation = [self expectationWithDescription: @" Webpage loaded" ];
186+ [_retains addObject: delegate];
187187 [bridge setWebViewDelegate: delegate];
188188 NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString: @" https://example.com" ]];
189189 [(UIWebView*)webView loadRequest: request];
190- return delegate;
191190}
192191@end
193192
194193@implementation TestWebPageLoadDelegate
195194- (void )webViewDidFinishLoad : (UIWebView *)webView {
196195 [self .expectation fulfill ];
197196}
197+ - (void )webView : (WKWebView *)webView didFinishNavigation : (WKNavigation *)navigation {
198+ [self .expectation fulfill ];
199+ }
198200@end
0 commit comments