Skip to content
This repository was archived by the owner on Jun 7, 2020. It is now read-only.

Commit ce206a6

Browse files
authored
Merge pull request #948 from RocketChat/chore/remove_unused_code
[CHORE] Removed unused code + increase test coverage
2 parents e09ffef + aa46b5e commit ce206a6

18 files changed

+141
-86
lines changed

Rocket.Chat.xcodeproj/project.pbxproj

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
802498F11F7A9BB4005477EC /* MeRequestSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 802498F01F7A9BB4005477EC /* MeRequestSpec.swift */; };
206206
802498F31F7ACD76005477EC /* ChatMessageAudioView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 802498F21F7ACD76005477EC /* ChatMessageAudioView.xib */; };
207207
802498F51F7ACDB7005477EC /* ChatMessageAudioView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 802498F41F7ACDB7005477EC /* ChatMessageAudioView.swift */; };
208+
803782B71FB4751D00DED049 /* RealmTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 803782B61FB4751D00DED049 /* RealmTestCase.swift */; };
208209
806401311FB09DE800990572 /* Permission.swift in Sources */ = {isa = PBXBuildFile; fileRef = 806401301FB09DE800990572 /* Permission.swift */; };
209210
806401331FB09EC400990572 /* PermissionModelMapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = 806401321FB09EC400990572 /* PermissionModelMapping.swift */; };
210211
806401351FB09F8A00990572 /* PermissionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 806401341FB09F8A00990572 /* PermissionManager.swift */; };
@@ -226,7 +227,7 @@
226227
80CFB5721F8D697100FC9715 /* ReplyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 80CFB5711F8D697100FC9715 /* ReplyView.xib */; };
227228
80CFB5741F8DA55C00FC9715 /* ReplyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80CFB5731F8DA55C00FC9715 /* ReplyView.swift */; };
228229
890C92C31F7BDF55006144A5 /* NewRoomViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890C92C21F7BDF55006144A5 /* NewRoomViewController.swift */; };
229-
890DA8AE1F942A35007C022B /* RoomCreateRequestSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890DA8AD1F942A35007C022B /* RoomCreateRequestSpec.swift */; };
230+
890DA8AE1F942A35007C022B /* SubscriptionCreateRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 890DA8AD1F942A35007C022B /* SubscriptionCreateRequest.swift */; };
230231
897083D31F8CF08100233561 /* CheckTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 897083CE1F8CF08100233561 /* CheckTableViewCell.swift */; };
231232
897083D41F8CF08100233561 /* CheckTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 897083CF1F8CF08100233561 /* CheckTableViewCell.xib */; };
232233
897083D51F8CF08100233561 /* TextFieldTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 897083D01F8CF08100233561 /* TextFieldTableViewCell.swift */; };
@@ -495,6 +496,7 @@
495496
802498F01F7A9BB4005477EC /* MeRequestSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeRequestSpec.swift; sourceTree = "<group>"; };
496497
802498F21F7ACD76005477EC /* ChatMessageAudioView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ChatMessageAudioView.xib; path = Views/Cells/Chat/ChatMessageAudioView.xib; sourceTree = "<group>"; };
497498
802498F41F7ACDB7005477EC /* ChatMessageAudioView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ChatMessageAudioView.swift; path = Views/Cells/Chat/ChatMessageAudioView.swift; sourceTree = "<group>"; };
499+
803782B61FB4751D00DED049 /* RealmTestCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RealmTestCase.swift; sourceTree = "<group>"; };
498500
806401301FB09DE800990572 /* Permission.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Permission.swift; path = Models/Permission.swift; sourceTree = "<group>"; };
499501
806401321FB09EC400990572 /* PermissionModelMapping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PermissionModelMapping.swift; path = Models/Mapping/PermissionModelMapping.swift; sourceTree = "<group>"; };
500502
806401341FB09F8A00990572 /* PermissionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = PermissionManager.swift; path = Managers/Model/PermissionManager.swift; sourceTree = "<group>"; };
@@ -516,7 +518,7 @@
516518
80CFB5711F8D697100FC9715 /* ReplyView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ReplyView.xib; path = Views/Chat/ReplyView.xib; sourceTree = "<group>"; };
517519
80CFB5731F8DA55C00FC9715 /* ReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ReplyView.swift; path = Views/Chat/ReplyView.swift; sourceTree = "<group>"; };
518520
890C92C21F7BDF55006144A5 /* NewRoomViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewRoomViewController.swift; sourceTree = "<group>"; };
519-
890DA8AD1F942A35007C022B /* RoomCreateRequestSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomCreateRequestSpec.swift; sourceTree = "<group>"; };
521+
890DA8AD1F942A35007C022B /* SubscriptionCreateRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubscriptionCreateRequest.swift; sourceTree = "<group>"; };
520522
897083CE1F8CF08100233561 /* CheckTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckTableViewCell.swift; sourceTree = "<group>"; };
521523
897083CF1F8CF08100233561 /* CheckTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CheckTableViewCell.xib; sourceTree = "<group>"; };
522524
897083D01F8CF08100233561 /* TextFieldTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldTableViewCell.swift; sourceTree = "<group>"; };
@@ -1074,6 +1076,7 @@
10741076
41DF76F61D2C50720028DBF8 /* Rocket.ChatTests */ = {
10751077
isa = PBXGroup;
10761078
children = (
1079+
803782B61FB4751D00DED049 /* RealmTestCase.swift */,
10771080
D18675E71F70A55D00406FB4 /* API */,
10781081
D1DA25261F695AC700DB6ABB /* Controllers */,
10791082
416133361D46DB0900E09DA2 /* Models */,
@@ -1211,6 +1214,7 @@
12111214
children = (
12121215
80A63C501F719FB300FE5AC4 /* SubscriptionInfoRequestSpec.swift */,
12131216
80235D211F7442F700A56CA5 /* SubscriptionMembersRequestSpec.swift */,
1217+
890DA8AD1F942A35007C022B /* SubscriptionCreateRequest.swift */,
12141218
);
12151219
path = Subscription;
12161220
sourceTree = "<group>";
@@ -1233,14 +1237,6 @@
12331237
path = Authentication;
12341238
sourceTree = "<group>";
12351239
};
1236-
890DA8AC1F942A0E007C022B /* Room */ = {
1237-
isa = PBXGroup;
1238-
children = (
1239-
890DA8AD1F942A35007C022B /* RoomCreateRequestSpec.swift */,
1240-
);
1241-
path = Room;
1242-
sourceTree = "<group>";
1243-
};
12441240
897083CC1F8CF08100233561 /* Form */ = {
12451241
isa = PBXGroup;
12461242
children = (
@@ -1285,7 +1281,6 @@
12851281
children = (
12861282
802498EF1F7A9B92005477EC /* Authentication */,
12871283
80235D201F7442C100A56CA5 /* Subscription */,
1288-
890DA8AC1F942A0E007C022B /* Room */,
12891284
D18675E91F70A58B00406FB4 /* InfoRequestSpec.swift */,
12901285
80A63C541F71BF3A00FE5AC4 /* UserInfoRequestSpec.swift */,
12911286
);
@@ -2017,10 +2012,11 @@
20172012
417A70031D47918200FF46EE /* ResponseMessageSpec.swift in Sources */,
20182013
D18675EE1F716FBC00406FB4 /* LoginRequestSpec.swift in Sources */,
20192014
41BA89241D303D8B00CBF526 /* AuthManagerSpec.swift in Sources */,
2015+
803782B71FB4751D00DED049 /* RealmTestCase.swift in Sources */,
20202016
41DC7A241D386CA800896FC0 /* DateExtensionsSpec.swift in Sources */,
20212017
41552F681D3035D80081438D /* SocketManagerSpec.swift in Sources */,
20222018
807A8F6B1F9E4D0C00CC78DB /* OAuthManagerSpec.swift in Sources */,
2023-
890DA8AE1F942A35007C022B /* RoomCreateRequestSpec.swift in Sources */,
2019+
890DA8AE1F942A35007C022B /* SubscriptionCreateRequest.swift in Sources */,
20242020
80235D221F7442F700A56CA5 /* SubscriptionMembersRequestSpec.swift in Sources */,
20252021
41F8487E1FA38B0A00C9AE84 /* SettingsViewModelTests.swift in Sources */,
20262022
808792381FB14B3300EFE77F /* PermissionSpec.swift in Sources */,

Rocket.Chat/Controllers/Auth/RegisterUsernameViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ final class RegisterUsernameViewController: BaseViewController {
3939
self?.stopLoading()
4040

4141
if !response.isError() {
42-
self?.textFieldUsername.text = response.result["result"].string ?? ""
42+
self?.textFieldUsername.text = response.result["result"].stringValue
4343
}
4444
}
4545
}

Rocket.Chat/Extensions/URLExtension.swift

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,6 @@ extension URL {
6565
return newURL
6666
}
6767

68-
func validateURL() -> URL? {
69-
var components = URLComponents()
70-
components.scheme = "https"
71-
components.host = self.host != nil ? self.host : self.path
72-
components.path = self.host != nil ? self.path : ""
73-
components.port = self.port != nil ? self.port : nil
74-
75-
var newURL = components.url
76-
newURL = newURL?.appendingPathComponent("api/info")
77-
return newURL
78-
}
79-
8068
func socketURL() -> URL? {
8169
let pathComponents = self.pathComponents
8270
var components = URLComponents()

Rocket.Chat/Managers/Model/PermissionManager.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,15 @@ struct PermissionManager {
7070
}
7171
}
7272

73-
static func roles(for permission: PermissionType) -> List<String>? {
74-
let object = Realm.shared?.object(ofType: Permission.self, forPrimaryKey: permission.rawValue)
73+
static func roles(for permission: PermissionType, realm: Realm? = Realm.shared) -> List<String>? {
74+
let object = realm?.object(ofType: Permission.self, forPrimaryKey: permission.rawValue)
7575
return object?.roles
7676
}
7777
}
7878

7979
extension User {
80-
func hasPermission(_ permission: PermissionType) -> Bool {
81-
guard let permissionRoles = PermissionManager.roles(for: permission) else { return false }
80+
func hasPermission(_ permission: PermissionType, realm: Realm? = Realm.shared) -> Bool {
81+
guard let permissionRoles = PermissionManager.roles(for: permission, realm: realm) else { return false }
8282
for userRole in self.roles {
8383
for permissionRole in permissionRoles where userRole == permissionRole {
8484
return true

Rocket.Chat/Managers/Uploader/UploadManager.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ class UploadManager {
101101
let result = response.result
102102

103103
guard let auth = AuthManager.isAuthenticated() else { return }
104-
guard let uploadURL = URL(string: result["result"]["url"].string ?? "") else { return }
104+
guard let uploadURL = URL(string: result["result"]["url"].stringValue) else { return }
105105
guard let fileToken = result["result"]["token"].string else { return }
106106
guard let fileIdentifier = result["result"]["fileId"].string else { return }
107107

@@ -137,7 +137,7 @@ class UploadManager {
137137
"size": file.size,
138138
"name": file.name,
139139
"_id": fileIdentifier,
140-
"url": response.result["result"]["path"].string ?? ""
140+
"url": response.result["result"]["path"].stringValue
141141
]
142142
], completion: completion)
143143
}
@@ -172,7 +172,7 @@ class UploadManager {
172172
}
173173

174174
let result = response.result
175-
guard let uploadURL = URL(string: result["result"]["upload"].string ?? "") else { return }
175+
guard let uploadURL = URL(string: result["result"]["upload"].stringValue) else { return }
176176
guard let downloadURL = result["result"]["download"].string else { return }
177177

178178
let request = self.requestUpload(uploadURL, file: file, formData: result["result"]["postData"])

Rocket.Chat/Models/Mapping/ChannelModelMapping.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ extension Channel: ModelMappeable {
1616
self.identifier = String.random()
1717
}
1818

19-
self.name = values["name"].string ?? ""
19+
self.name = values["name"].stringValue
2020
}
2121
}

Rocket.Chat/Models/Mapping/LoginServiceModelMapping.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ import RealmSwift
1212

1313
extension LoginService: ModelMappeable {
1414
func map(_ values: JSON, realm: Realm?) {
15-
self.service = values["service"].string ?? ""
16-
self.clientId = values["clientId"].string ?? ""
17-
self.custom = values["custom"].bool ?? false
18-
self.serverURL = values["serverURL"].string ?? ""
19-
self.tokenPath = values["tokenPath"].string ?? ""
20-
self.identityPath = values["identityPath"].string ?? ""
21-
self.authorizePath = values["authorizePath"].string ?? ""
22-
self.scope = values["scope"].string ?? ""
23-
self.buttonLabelText = values["buttonLabelText"].string ?? ""
24-
self.buttonLabelColor = values["buttonLabelColor"].string ?? ""
25-
self.tokenSentVia = values["tokenSentVia"].string ?? ""
26-
self.usernameField = values["usernameField"].string ?? ""
27-
self.mergeUsers = values["mergeUsers"].bool ?? false
15+
self.service = values["service"].stringValue
16+
self.clientId = values["clientId"].stringValue
17+
self.custom = values["custom"].boolValue
18+
self.serverURL = values["serverURL"].stringValue
19+
self.tokenPath = values["tokenPath"].stringValue
20+
self.identityPath = values["identityPath"].stringValue
21+
self.authorizePath = values["authorizePath"].stringValue
22+
self.scope = values["scope"].stringValue
23+
self.buttonLabelText = values["buttonLabelText"].stringValue
24+
self.buttonLabelColor = values["buttonLabelColor"].stringValue
25+
self.tokenSentVia = values["tokenSentVia"].stringValue
26+
self.usernameField = values["usernameField"].stringValue
27+
self.mergeUsers = values["mergeUsers"].boolValue
2828
self.loginStyle = values["loginStyle"].string
2929
self.buttonColor = values["buttonColor"].string
3030
}

Rocket.Chat/Models/Mapping/MentionModelMapping.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ extension Mention: ModelMappeable {
1616
self.identifier = String.random()
1717
}
1818

19-
self.username = values["username"].string ?? ""
19+
self.username = values["username"].stringValue
2020
}
2121
}

Rocket.Chat/Models/Mapping/MessageModelMapping.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ extension Message: ModelMappeable {
1414
//swiftlint:disable cyclomatic_complexity function_body_length
1515
func map(_ values: JSON, realm: Realm?) {
1616
if self.identifier == nil {
17-
self.identifier = values["_id"].string ?? ""
17+
self.identifier = values["_id"].stringValue
1818
}
1919

20-
self.rid = values["rid"].string ?? ""
21-
self.text = values["msg"].string ?? ""
22-
self.avatar = values["avatar"].string ?? ""
23-
self.alias = values["alias"].string ?? ""
20+
self.rid = values["rid"].stringValue
21+
self.text = values["msg"].stringValue
22+
self.avatar = values["avatar"].stringValue
23+
self.alias = values["alias"].stringValue
2424
self.internalType = values["t"].string ?? "t"
25-
self.role = values["role"].string ?? ""
25+
self.role = values["role"].stringValue
2626
self.pinned = values["pinned"].bool ?? false
2727
self.groupable = values["groupable"].bool ?? true
2828

Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ import RealmSwift
1313
extension Subscription: ModelMappeable {
1414
func map(_ values: JSON, realm: Realm?) {
1515
if self.identifier == nil {
16-
self.identifier = values["_id"].string ?? ""
16+
self.identifier = values["_id"].stringValue
1717
}
1818

19-
self.rid = values["rid"].string ?? ""
20-
self.name = values["name"].string ?? ""
21-
self.fname = values["fname"].string ?? ""
19+
self.rid = values["rid"].stringValue
20+
self.name = values["name"].stringValue
21+
self.fname = values["fname"].stringValue
2222
self.unread = values["unread"].int ?? 0
2323
self.open = values["open"].bool ?? false
2424
self.alert = values["alert"].bool ?? false
@@ -29,7 +29,7 @@ extension Subscription: ModelMappeable {
2929
}
3030

3131
if self.type == .directMessage {
32-
let userId = values["u"]["_id"].string ?? ""
32+
let userId = values["u"]["_id"].stringValue
3333
self.otherUserId = self.rid.replacingOccurrences(of: userId, with: "")
3434
}
3535

@@ -43,8 +43,8 @@ extension Subscription: ModelMappeable {
4343
}
4444

4545
func mapRoom(_ values: JSON) {
46-
self.roomDescription = values["description"].string ?? ""
47-
self.roomTopic = values["topic"].string ?? ""
46+
self.roomDescription = values["description"].stringValue
47+
self.roomTopic = values["topic"].stringValue
4848

4949
self.roomMuted.removeAll()
5050
if let roomMuted = values["muted"].array?.flatMap({ $0.string }) {
@@ -58,9 +58,5 @@ extension Subscription: ModelMappeable {
5858
if let ownerId = values["u"]["_id"].string {
5959
self.roomOwnerId = ownerId
6060
}
61-
62-
if let updatedAt = values["_updatedAt"]["$date"].double {
63-
self.roomUpdatedAt = Date.dateFromInterval(updatedAt)
64-
}
6561
}
6662
}

Rocket.Chat/Models/MessageURL.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ class MessageURL: BaseModel {
1717
@objc dynamic var imageURL: String?
1818

1919
func isValid() -> Bool {
20-
return title?.count ?? 0 > 0 && textDescription?.count ?? 0 > 0
20+
guard
21+
let titleCount = title?.count,
22+
let descriptionCount = textDescription?.count
23+
else {
24+
return false
25+
}
26+
27+
return titleCount > 0 && descriptionCount > 0
2128
}
2229
}

Rocket.Chat/Models/Subscription.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ class Subscription: BaseModel {
4545

4646
@objc dynamic var roomTopic: String?
4747
@objc dynamic var roomDescription: String?
48-
@objc dynamic var roomUpdatedAt: Date?
4948
@objc dynamic var roomReadOnly = false
5049

5150
let roomMuted = RealmSwift.List<String>()
@@ -107,7 +106,7 @@ extension Subscription {
107106
SubscriptionManager.createDirectMessage(name, completion: { [weak self] (response) in
108107
guard !response.isError() else { return }
109108

110-
let rid = response.result["result"]["rid"].string ?? ""
109+
let rid = response.result["result"]["rid"].stringValue
111110
Realm.executeOnMainThread({ realm in
112111
if let obj = self {
113112
obj.rid = rid

Rocket.ChatTests/API/Requests/Room/RoomCreateRequestSpec.swift renamed to Rocket.ChatTests/API/Requests/Subscription/SubscriptionCreateRequest.swift

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import SwiftyJSON
1111

1212
@testable import Rocket_Chat
1313

14-
class RoomCreateRequestSpec: XCTestCase {
15-
func testRequestCreateChannel() {
14+
class SubscriptionCreateRequestSpec: XCTestCase {
15+
func testRequest() {
1616
let paramRoomName = "foo"
1717
let paramReadOnly = false
1818

@@ -32,10 +32,48 @@ class RoomCreateRequestSpec: XCTestCase {
3232
return XCTFail("body is invalid json")
3333
}
3434

35-
XCTAssertEqual(request.url?.path, "/api/v1/channels.create", "url is correct")
35+
XCTAssertEqual(request.url?.path, "/api/v1/channels.create", "path is correct")
3636
XCTAssertEqual(request.httpMethod, "POST", "http method is correct")
3737
XCTAssertEqual(request.value(forHTTPHeaderField: "Content-Type"), "application/json", "content type is correct")
3838
XCTAssertEqual(bodyJson["name"].string, paramRoomName, "parameter read only is correct")
3939
XCTAssertEqual(bodyJson["readOnly"].bool, paramReadOnly, "read only was set as false")
40+
41+
let _requestGroup = SubscriptionCreateRequest(
42+
name: paramRoomName,
43+
type: .group,
44+
readOnly: paramReadOnly
45+
)
46+
47+
guard let requestGroup = _requestGroup.request(for: API.shared) else {
48+
return XCTFail("request is not nil")
49+
}
50+
51+
XCTAssertEqual(requestGroup.url?.path, "/api/v1/groups.create", "path is correct")
52+
}
53+
54+
func testResult() {
55+
let _result = JSON([
56+
"channel": [
57+
"_id": "ByehQjC44FwMeiLbX",
58+
"name": "channelname",
59+
"t": "c",
60+
"usernames": [
61+
"example"
62+
],
63+
"msgs": 0,
64+
"u": [
65+
"_id": "aobEdbYhXfu5hkeqG",
66+
"username": "example"
67+
],
68+
"ts": "2016-05-30T13:42:25.304Z"
69+
],
70+
"success": true,
71+
"error": "error-test"
72+
])
73+
74+
let result = APIResult<SubscriptionCreateRequest>(raw: _result)
75+
76+
XCTAssertEqual(result.success, true, "success is correct")
77+
XCTAssertEqual(result.error, "error-test", "error is correct")
4078
}
4179
}

0 commit comments

Comments
 (0)