blob: 7e8d2ad0f1291606fe6b2962284c83c6fba2c74b [file] [log] [blame]
// 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 FWFURLTests : XCTestCase
@end
@implementation FWFURLTests
- (void)testAbsoluteString {
NSURL *mockUrl = OCMClassMock([NSURL class]);
OCMStub([mockUrl absoluteString]).andReturn(@"https://www.google.com");
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
[instanceManager addDartCreatedInstance:mockUrl withIdentifier:0];
FWFURLHostApiImpl *hostApi = [[FWFURLHostApiImpl alloc]
initWithBinaryMessenger:OCMProtocolMock(@protocol(FlutterBinaryMessenger))
instanceManager:instanceManager];
FlutterError *error;
XCTAssertEqualObjects([hostApi absoluteStringForNSURLWithIdentifier:0 error:&error],
@"https://www.google.com");
XCTAssertNil(error);
}
- (void)testFlutterApiCreate {
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
FWFURLFlutterApiImpl *flutterApi = [[FWFURLFlutterApiImpl alloc]
initWithBinaryMessenger:OCMProtocolMock(@protocol(FlutterBinaryMessenger))
instanceManager:instanceManager];
flutterApi.api = OCMClassMock([FWFNSUrlFlutterApi class]);
NSURL *url = [[NSURL alloc] initWithString:@"https://www.google.com"];
[flutterApi create:url
completion:^(FlutterError *error){
}];
long identifier = [instanceManager identifierWithStrongReferenceForInstance:url];
OCMVerify([flutterApi.api createWithIdentifier:identifier completion:OCMOCK_ANY]);
}
@end