Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 5c9ffc7

Browse files
[webview_flutter_wkwebview] Implementation of Objective-C WKWebView Host Apis (#5341)
1 parent 355b6d7 commit 5c9ffc7

19 files changed

Lines changed: 3511 additions & 63 deletions

packages/webview_flutter/webview_flutter_wkwebview/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 50;
6+
objectVersion = 46;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -12,6 +12,8 @@
1212
334734022669319400DCC49E /* FLTWKNavigationDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 686B4BF82548DBC7000AEA36 /* FLTWKNavigationDelegateTests.m */; };
1313
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1414
8FA6A87928062CD000A4B183 /* FWFInstanceManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */; };
15+
8FB79B5328134C3100C101D3 /* FWFWebViewHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */; };
16+
8FB79B55281B24F600C101D3 /* FWFDataConvertersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */; };
1517
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
1618
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
1719
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
@@ -69,6 +71,8 @@
6971
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
7072
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
7173
8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFInstanceManagerTests.m; sourceTree = "<group>"; };
74+
8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFWebViewHostApiTests.m; sourceTree = "<group>"; };
75+
8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFDataConvertersTests.m; sourceTree = "<group>"; };
7276
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
7377
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
7478
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -129,6 +133,8 @@
129133
68BDCAED23C3F7CB00D9C032 /* Info.plist */,
130134
E43693B427512C0F00382F85 /* FLTCookieManagerTests.m */,
131135
8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */,
136+
8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */,
137+
8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */,
132138
);
133139
path = RunnerTests;
134140
sourceTree = "<group>";
@@ -427,8 +433,10 @@
427433
buildActionMask = 2147483647;
428434
files = (
429435
8FA6A87928062CD000A4B183 /* FWFInstanceManagerTests.m in Sources */,
436+
8FB79B5328134C3100C101D3 /* FWFWebViewHostApiTests.m in Sources */,
430437
334734012669319100DCC49E /* FLTWebViewTests.m in Sources */,
431438
334734022669319400DCC49E /* FLTWKNavigationDelegateTests.m in Sources */,
439+
8FB79B55281B24F600C101D3 /* FWFDataConvertersTests.m in Sources */,
432440
E43693B527512C0F00382F85 /* FLTCookieManagerTests.m in Sources */,
433441
);
434442
runOnlyForDeploymentPostprocessing = 0;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
@import Flutter;
6+
@import XCTest;
7+
@import webview_flutter_wkwebview;
8+
9+
@interface FWFDataConvertersTests : XCTestCase
10+
@end
11+
12+
@implementation FWFDataConvertersTests
13+
- (void)testFNSURLRequestFromRequestData {
14+
NSURLRequest *request = FWFNSURLRequestFromRequestData([FWFNSUrlRequestData
15+
makeWithUrl:@"https://flutter.dev"
16+
httpMethod:@"post"
17+
httpBody:[FlutterStandardTypedData typedDataWithBytes:[NSData data]]
18+
allHttpHeaderFields:@{@"a" : @"header"}]);
19+
20+
XCTAssertEqualObjects(request.URL, [NSURL URLWithString:@"https://flutter.dev"]);
21+
XCTAssertEqualObjects(request.HTTPMethod, @"POST");
22+
XCTAssertEqualObjects(request.HTTPBody, [NSData data]);
23+
XCTAssertEqualObjects(request.allHTTPHeaderFields, @{@"a" : @"header"});
24+
}
25+
@end

0 commit comments

Comments
 (0)