Skip to content

Commit d6aa95c

Browse files
committed
Add support for ObjC interface and tests
1 parent 4008400 commit d6aa95c

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

LineSDK/LineSDKObjC/Login/LineSDKLoginManagerParameters.swift

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@ public class LineSDKLoginManagerParameters: NSObject {
4444
get { return _value.promptBotID }
4545
set { _value.promptBotID = newValue }
4646
}
47-
47+
48+
public var initialWebAuthenticationMethod: LineSDKLoginManagerWebAuthenticationMethod {
49+
get { return LineSDKLoginManagerWebAuthenticationMethod(_value.initialWebAuthenticationMethod) }
50+
set { _value.initialWebAuthenticationMethod = newValue._value }
51+
}
52+
4853
public var preferredWebPageLanguage: String? {
4954
get { return _value.preferredWebPageLanguage?.rawValue }
5055
set { _value.preferredWebPageLanguage = newValue.map { .init(rawValue: $0) } }
5156
}
52-
57+
5358
public var IDTokenNonce: String? {
5459
get { return _value.IDTokenNonce }
5560
set { _value.IDTokenNonce = newValue }
@@ -67,3 +72,15 @@ public class LineSDKLoginManagerBotPrompt: NSObject {
6772

6873
public var rawValue: String { return _value.rawValue }
6974
}
75+
76+
@objcMembers
77+
public class LineSDKLoginManagerWebAuthenticationMethod: NSObject {
78+
79+
let _value: LoginManager.WebAuthenticationMethod
80+
init(_ value: LoginManager.WebAuthenticationMethod) { _value = value }
81+
82+
public static let email = LineSDKLoginManagerWebAuthenticationMethod(.email)
83+
public static let qrCode = LineSDKLoginManagerWebAuthenticationMethod(.qrCode)
84+
85+
public var rawValue: String { return _value.rawValue }
86+
}

LineSDK/LineSDKObjCInterfaceTests/LineSDKModelInterfaceTests.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,13 @@ - (void)testLoginManagerParametersInterface {
104104
param.preferredWebPageLanguage = @"ja";
105105
param.IDTokenNonce = @"test";
106106
param.promptBotID = @"@abc123";
107-
107+
param.initialWebAuthenticationMethod = [LineSDKLoginManagerWebAuthenticationMethod qrCode];
108+
108109
XCTAssertTrue([param onlyWebLogin]);
109110
XCTAssertTrue([[param.botPromptStyle rawValue] isEqualToString: @"normal"]);
110111
XCTAssertTrue([param.preferredWebPageLanguage isEqualToString: @"ja"]);
111112
XCTAssertTrue([param.IDTokenNonce isEqualToString: @"test"]);
113+
XCTAssertTrue([[param.initialWebAuthenticationMethod rawValue] isEqualToString:@"qrCode"]);
112114
}
113115

114116
- (void)testLoginResultInterface {

0 commit comments

Comments
 (0)