forked from blinksh/blink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SessionParamsTests.swift
86 lines (72 loc) · 3.01 KB
/
SessionParamsTests.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//////////////////////////////////////////////////////////////////////////////////
//
// B L I N K
//
// Copyright (C) 2016-2019 Blink Mobile Shell Project
//
// This file is part of Blink.
//
// Blink is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Blink is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Blink. If not, see <http://www.gnu.org/licenses/>.
//
// In addition, Blink is also subject to certain additional terms under
// GNU GPL version 3 section 7.
//
// You should have received a copy of these additional terms immediately
// following the terms and conditions of the GNU General Public License
// which accompanied the Blink Source Code. If not, see
// <http://www.github.com/blinksh/blink>.
//
////////////////////////////////////////////////////////////////////////////////
import XCTest
class SessionParamsTests: XCTestCase {
override func setUp() {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testSerialization() {
let mcpParams = MCPParams()
mcpParams.rows = 10
mcpParams.cols = 20
mcpParams.boldAsBright = true
mcpParams.childSessionType = "test"
mcpParams.viewSize = CGSize(width: 10, height: 10)
mcpParams.layoutLockedFrame = CGRect(x: 10, y: 10, width: 10, height: 10)
let moshParams = MoshParams()
moshParams.ip = "192.168.1.1"
mcpParams.childSessionParams = moshParams
let copy = _dumpAndRestore(params: mcpParams)
XCTAssertEqual(mcpParams.cols, copy?.cols)
XCTAssertEqual(mcpParams.rows, copy?.rows)
XCTAssertEqual(mcpParams.boldAsBright, copy?.boldAsBright)
XCTAssertEqual(mcpParams.childSessionType, copy?.childSessionType)
XCTAssertEqual(mcpParams.viewSize, copy?.viewSize)
XCTAssertEqual(mcpParams.layoutLockedFrame, copy?.layoutLockedFrame)
XCTAssertEqual(moshParams.ip, (copy?.childSessionParams as? MoshParams)?.ip)
}
func _dumpAndRestore(params: MCPParams) -> MCPParams? {
let archiver = NSKeyedArchiver(requiringSecureCoding: true)
archiver.encode(params, forKey: "params")
let data = archiver.encodedData
let unarchiver = try? NSKeyedUnarchiver(forReadingFrom: data)
return unarchiver?.decodeObject(of: MCPParams.self, forKey: "params")
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}