Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7dde204
bunch of work for other apis
bparrishMines May 2, 2022
cdd76b0
compiles again
bparrishMines May 2, 2022
56351ea
working tests
bparrishMines May 2, 2022
d045afc
formatting
bparrishMines May 2, 2022
e10b1fb
fix cookie host api
bparrishMines May 2, 2022
b09d7a6
first create tests
bparrishMines May 2, 2022
a13148b
create tests
bparrishMines May 2, 2022
be098ef
more class implemented
bparrishMines May 2, 2022
76cb1b8
uidelegate and navigation delgate and formatting
bparrishMines May 2, 2022
650e731
converter tests
bparrishMines May 2, 2022
c0e7166
uiview and scrollview
bparrishMines May 3, 2022
5bd77f2
finished nsobject
bparrishMines May 3, 2022
3961002
formatting
bparrishMines May 3, 2022
8f0ba5b
small spaces
bparrishMines May 3, 2022
fc6a356
delete generated files
bparrishMines May 3, 2022
d2c8762
remove simple ast and fix tests
bparrishMines May 3, 2022
fe35717
remove template files
bparrishMines May 3, 2022
8509944
lints bro
bparrishMines May 3, 2022
b721b68
shorthand
bparrishMines May 3, 2022
bdcfff9
fix message
bparrishMines May 4, 2022
de645bd
review comments
bparrishMines May 10, 2022
8bca337
cant test lower version
bparrishMines May 10, 2022
1764362
Merge branch 'main' of github.com:flutter/plugins into test_ground
bparrishMines May 10, 2022
9e88548
PR comments
bparrishMines May 10, 2022
a747430
Merge branch 'main' of github.com:flutter/plugins into test_ground
bparrishMines May 10, 2022
45744b7
Merge branch 'main' of github.com:flutter/plugins into test_ground
bparrishMines May 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
uidelegate and navigation delgate and formatting
  • Loading branch information
bparrishMines committed May 2, 2022
commit 76cb1b8de286930aa9e1983a9e0b3dea577c1a15
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
8FB79B6D2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */; };
8FB79B73282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */; };
8FB79B7928209D1300C101D3 /* FWFUserContentControllerHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */; };
8FB79B832820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */; };
8FB79B852820A3A400C101D3 /* FWFUIDelegateHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */; };
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
Expand Down Expand Up @@ -85,6 +87,8 @@
8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFWebViewConfigurationHostApiTests.m; sourceTree = "<group>"; };
8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFScriptMessageHandlerHostApiTests.m; sourceTree = "<group>"; };
8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFUserContentControllerHostApiTests.m; sourceTree = "<group>"; };
8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFNavigationDelegateHostApiTests.m; sourceTree = "<group>"; };
8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFUIDelegateHostApiTests.m; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -153,6 +157,8 @@
8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */,
8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */,
8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */,
8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */,
8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */,
);
path = RunnerTests;
sourceTree = "<group>";
Expand Down Expand Up @@ -451,6 +457,7 @@
buildActionMask = 2147483647;
files = (
8FA6A87928062CD000A4B183 /* FWFInstanceManagerTests.m in Sources */,
8FB79B852820A3A400C101D3 /* FWFUIDelegateHostApiTests.m in Sources */,
8FB79B672820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m in Sources */,
8FB79B5328134C3100C101D3 /* FWFWebViewHostApiTests.m in Sources */,
8FB79B73282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m in Sources */,
Expand All @@ -460,6 +467,7 @@
334734022669319400DCC49E /* FLTWKNavigationDelegateTests.m in Sources */,
8FB79B55281B24F600C101D3 /* FWFDataConvertersTests.m in Sources */,
8FB79B6D2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m in Sources */,
8FB79B832820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m in Sources */,
E43693B527512C0F00382F85 /* FLTCookieManagerTests.m in Sources */,
8FB79B6928204E8700C101D3 /* FWFPreferencesHostApiTests.m in Sources */,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ @interface FWFHTTPCookieStoreHostApiTests : XCTestCase
@end

@implementation FWFHTTPCookieStoreHostApiTests
- (void)testCreateFromWebsiteDataStoreWithIdentifier API_AVAILABLE(ios(11.0)) {
- (void)testCreateFromWebsiteDataStoreWithIdentifier API_AVAILABLE(ios(11.0)) {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFHTTPCookieStoreHostApiImpl *hostApi =
[[FWFHTTPCookieStoreHostApiImpl alloc] initWithInstanceManager:instanceManager];

WKWebsiteDataStore *mockDataStore = OCMClassMock([WKWebsiteDataStore class]);
OCMStub([mockDataStore httpCookieStore]).andReturn(OCMClassMock([WKHTTPCookieStore class]));
[instanceManager addInstance:mockDataStore withIdentifier:0];

FlutterError *error;
[hostApi createFromWebsiteDataStoreWithIdentifier:@1 dataStoreIdentifier:@0 error:&error];
WKHTTPCookieStore *cookieStore = (WKHTTPCookieStore *) [instanceManager instanceForIdentifier:1];
WKHTTPCookieStore *cookieStore = (WKHTTPCookieStore *)[instanceManager instanceForIdentifier:1];
XCTAssertTrue([cookieStore isKindOfClass:[WKHTTPCookieStore class]]);
XCTAssertNil(error);
}
Expand All @@ -37,7 +37,10 @@ - (void)testSetCookie API_AVAILABLE(ios(11.0)) {
FWFHTTPCookieStoreHostApiImpl *hostApi =
[[FWFHTTPCookieStoreHostApiImpl alloc] initWithInstanceManager:instanceManager];

FWFNSHttpCookieData *cookieData = [FWFNSHttpCookieData makeWithPropertyKeys:@[[FWFNSHttpCookiePropertyKeyEnumData makeWithValue:FWFNSHttpCookiePropertyKeyEnumName]] propertyValues:@[@"hello"]];
FWFNSHttpCookieData *cookieData = [FWFNSHttpCookieData
makeWithPropertyKeys:@[ [FWFNSHttpCookiePropertyKeyEnumData
makeWithValue:FWFNSHttpCookiePropertyKeyEnumName] ]
propertyValues:@[ @"hello" ]];
FlutterError *__block blockError;
[hostApi setCookieForStoreWithIdentifier:@0
cookie:cookieData
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@import Flutter;
@import XCTest;
@import webview_flutter_wkwebview;

#import <OCMock/OCMock.h>

@interface FWFNavigationDelegateHostApiTests : XCTestCase
@end

@implementation FWFNavigationDelegateHostApiTests
- (void)testCreateWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFNavigationDelegateHostApiImpl *hostApi =
[[FWFNavigationDelegateHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi createWithIdentifier:@0 error:&error];
FWFNavigationDelegate *navigationDelegate =
(FWFNavigationDelegate *)[instanceManager instanceForIdentifier:0];

XCTAssertTrue([navigationDelegate conformsToProtocol:@protocol(WKNavigationDelegate)]);
XCTAssertNil(error);
}
@end
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ - (void)testCreateFromWebViewConfigurationWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFPreferencesHostApiImpl *hostApi =
[[FWFPreferencesHostApiImpl alloc] initWithInstanceManager:instanceManager];

[instanceManager addInstance:[[WKWebViewConfiguration alloc] init] withIdentifier:0];

FlutterError *error;
[hostApi createFromWebViewConfigurationWithIdentifier:@1 configurationIdentifier:@0 error:&error];
WKPreferences *preferences = (WKPreferences *) [instanceManager instanceForIdentifier:1];
WKPreferences *preferences = (WKPreferences *)[instanceManager instanceForIdentifier:1];
XCTAssertTrue([preferences isKindOfClass:[WKPreferences class]]);
XCTAssertNil(error);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ - (void)testCreateWithIdentifier {

FlutterError *error;
[hostApi createWithIdentifier:@0 error:&error];
FWFScriptMessageHandler *scriptMessageHandler = (FWFScriptMessageHandler*)
[instanceManager instanceForIdentifier:0];

FWFScriptMessageHandler *scriptMessageHandler =
(FWFScriptMessageHandler *)[instanceManager instanceForIdentifier:0];

XCTAssertTrue([scriptMessageHandler conformsToProtocol:@protocol(WKScriptMessageHandler)]);
XCTAssertNil(error);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@import Flutter;
@import XCTest;
@import webview_flutter_wkwebview;

#import <OCMock/OCMock.h>

@interface FWFUIDelegateHostApiTests : XCTestCase
@end

@implementation FWFUIDelegateHostApiTests
- (void)testCreateWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFUIDelegateHostApiImpl *hostApi =
[[FWFUIDelegateHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi createWithIdentifier:@0 error:&error];
FWFUIDelegate *delegate = (FWFUIDelegate *)[instanceManager instanceForIdentifier:0];

XCTAssertTrue([delegate conformsToProtocol:@protocol(WKUIDelegate)]);
XCTAssertNil(error);
}

@end
Original file line number Diff line number Diff line change
Expand Up @@ -16,120 +16,115 @@ - (void)testCreateFromWebViewConfigurationWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

[instanceManager addInstance:[[WKWebViewConfiguration alloc] init] withIdentifier:0];

FlutterError *error;
[hostApi createFromWebViewConfigurationWithIdentifier:@1 configurationIdentifier:@0 error:&error];
WKUserContentController *userContentController = (WKUserContentController *) [instanceManager instanceForIdentifier:1];
WKUserContentController *userContentController =
(WKUserContentController *)[instanceManager instanceForIdentifier:1];
XCTAssertTrue([userContentController isKindOfClass:[WKUserContentController class]]);
XCTAssertNil(error);
}

- (void)testAddScriptMessageHandler {
WKUserContentController*mockUserContentController = OCMClassMock([WKUserContentController class]);
WKUserContentController *mockUserContentController =
OCMClassMock([WKUserContentController class]);

FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addInstance:mockUserContentController withIdentifier:0];

FWFUserContentControllerHostApiImpl *hostApi = [[FWFUserContentControllerHostApiImpl alloc]
initWithInstanceManager:instanceManager];

id<WKScriptMessageHandler> mockMessageHandler = OCMProtocolMock(@protocol(WKScriptMessageHandler));
FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

id<WKScriptMessageHandler> mockMessageHandler =
OCMProtocolMock(@protocol(WKScriptMessageHandler));
[instanceManager addInstance:mockMessageHandler withIdentifier:1];

FlutterError *error;
[hostApi addScriptMessageHandlerForControllerWithIdentifier:@0
handlerIdentifier:@1
ofName:@"apple"
error:&error];
OCMVerify([mockUserContentController addScriptMessageHandler
:mockMessageHandler
name:@"apple"
]);
handlerIdentifier:@1
ofName:@"apple"
error:&error];
OCMVerify([mockUserContentController addScriptMessageHandler:mockMessageHandler name:@"apple"]);
XCTAssertNil(error);
}

- (void)testRemoveScriptMessageHandler {
WKUserContentController
*mockUserContentController = OCMClassMock([WKUserContentController class]);
WKUserContentController *mockUserContentController =
OCMClassMock([WKUserContentController class]);

FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addInstance:mockUserContentController withIdentifier:0];

FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc]
initWithInstanceManager:instanceManager];
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi removeScriptMessageHandlerForControllerWithIdentifier:@0
name:@"apple"
error:&error];
[hostApi removeScriptMessageHandlerForControllerWithIdentifier:@0 name:@"apple" error:&error];
OCMVerify([mockUserContentController removeScriptMessageHandlerForName:@"apple"]);
XCTAssertNil(error);
}

- (void)testRemoveAllScriptMessageHandlers API_AVAILABLE(ios(14.0)) {
WKUserContentController
*mockUserContentController = OCMClassMock([
WKUserContentController
class]);
WKUserContentController *mockUserContentController =
OCMClassMock([WKUserContentController class]);

FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addInstance:mockUserContentController withIdentifier:0];

FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc]
initWithInstanceManager:instanceManager];
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi removeAllScriptMessageHandlersForControllerWithIdentifier:@0

error:&error];
error:&error];
OCMVerify([mockUserContentController removeAllScriptMessageHandlers]);
XCTAssertNil(error);
}

- (void)testAddUserScript {
WKUserContentController
*mockUserContentController = OCMClassMock([
WKUserContentController
class]);
WKUserContentController *mockUserContentController =
OCMClassMock([WKUserContentController class]);

FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addInstance:mockUserContentController withIdentifier:0];

FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc]
initWithInstanceManager:instanceManager];
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi addUserScriptForControllerWithIdentifier:@0
userScript:[FWFWKUserScriptData makeWithSource:@"runAScript" injectionTime:[FWFWKUserScriptInjectionTimeEnumData makeWithValue:FWFWKUserScriptInjectionTimeEnumAtDocumentEnd] isMainFrameOnly:@YES]
error:&error];

OCMVerify([mockUserContentController addUserScript
:[OCMArg isKindOfClass:[WKUserScript class]]]);
[hostApi
addUserScriptForControllerWithIdentifier:@0
userScript:
[FWFWKUserScriptData
makeWithSource:@"runAScript"
injectionTime:
[FWFWKUserScriptInjectionTimeEnumData
makeWithValue:
FWFWKUserScriptInjectionTimeEnumAtDocumentEnd]
isMainFrameOnly:@YES]
error:&error];

OCMVerify([mockUserContentController addUserScript:[OCMArg isKindOfClass:[WKUserScript class]]]);
XCTAssertNil(error);
}

- (void)testRemoveAllUserScripts {
WKUserContentController
*mockUserContentController = OCMClassMock([
WKUserContentController
class]);
WKUserContentController *mockUserContentController =
OCMClassMock([WKUserContentController class]);

FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addInstance:mockUserContentController withIdentifier:0];

FWFUserContentControllerHostApiImpl *hostApi =
[[FWFUserContentControllerHostApiImpl alloc]
initWithInstanceManager:instanceManager];
[[FWFUserContentControllerHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi removeAllUserScriptsForControllerWithIdentifier:@0

error:&error];
error:&error];
OCMVerify([mockUserContentController removeAllUserScripts]);
XCTAssertNil(error);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ - (void)testCreateWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFWebViewConfigurationHostApiImpl *hostApi =
[[FWFWebViewConfigurationHostApiImpl alloc] initWithInstanceManager:instanceManager];

FlutterError *error;
[hostApi createWithIdentifier:@0 error:&error];
WKWebViewConfiguration *configuration = (WKWebViewConfiguration *) [instanceManager instanceForIdentifier:0];
WKWebViewConfiguration *configuration =
(WKWebViewConfiguration *)[instanceManager instanceForIdentifier:0];
XCTAssertTrue([configuration isKindOfClass:[WKWebViewConfiguration class]]);
XCTAssertNil(error);
}
Expand All @@ -28,14 +29,15 @@ - (void)testCreateFromWebViewWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFWebViewConfigurationHostApiImpl *hostApi =
[[FWFWebViewConfigurationHostApiImpl alloc] initWithInstanceManager:instanceManager];

WKWebView *mockWebView = OCMClassMock([WKWebView class]);
OCMStub([mockWebView configuration]).andReturn(OCMClassMock([WKWebViewConfiguration class]));
[instanceManager addInstance:mockWebView withIdentifier:0];

FlutterError *error;
[hostApi createFromWebViewWithIdentifier:@1 webViewIdentifier:@0 error:&error];
WKWebViewConfiguration *configuration = (WKWebViewConfiguration *) [instanceManager instanceForIdentifier:1];
WKWebViewConfiguration *configuration =
(WKWebViewConfiguration *)[instanceManager instanceForIdentifier:1];
XCTAssertTrue([configuration isKindOfClass:[WKWebViewConfiguration class]]);
XCTAssertNil(error);
}
Expand All @@ -53,7 +55,7 @@ - (void)testSetAllowsInlineMediaPlayback {
[hostApi setAllowsInlineMediaPlaybackForConfigurationWithIdentifier:@0
isAllowed:@NO
error:&error];
OCMVerify([mockWebViewConfiguration setAllowsInlineMediaPlayback:NO ]);
OCMVerify([mockWebViewConfiguration setAllowsInlineMediaPlayback:NO]);
XCTAssertNil(error);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ - (void)testCreateWithIdentifier {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFWebViewHostApiImpl *hostApi =
[[FWFWebViewHostApiImpl alloc] initWithInstanceManager:instanceManager];

[instanceManager addInstance:[[WKWebViewConfiguration alloc] init] withIdentifier:0];

FlutterError *error;
[hostApi createWithIdentifier:@1 configurationIdentifier:@0 error:&error];
WKWebView *webView = (WKWebView *) [instanceManager instanceForIdentifier:1];
WKWebView *webView = (WKWebView *)[instanceManager instanceForIdentifier:1];
XCTAssertTrue([webView isKindOfClass:[WKWebView class]]);
XCTAssertNil(error);
}
Expand Down
Loading