Skip to content

Commit 2fe8ede

Browse files
authored
Add tests for RESPRenderableHelpers (#114)
1 parent 1ef0f6e commit 2fe8ede

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// This source file is part of the valkey-swift open source project
4+
//
5+
// Copyright (c) 2025 the valkey-swift project authors
6+
// Licensed under Apache License v2.0
7+
//
8+
// See LICENSE.txt for license information
9+
// See CONTRIBUTORS.txt for the list of valkey-swift project authors
10+
//
11+
// SPDX-License-Identifier: Apache-2.0
12+
//
13+
//===----------------------------------------------------------------------===//
14+
15+
import NIOCore
16+
import Testing
17+
18+
@testable import Valkey
19+
20+
struct RESPTokenRenderableTests {
21+
@Test
22+
func testRESPPureToken() async throws {
23+
var commandEncoder = ValkeyCommandEncoder()
24+
RESPPureToken("TEST", false).encode(into: &commandEncoder)
25+
#expect(commandEncoder.buffer == ByteBuffer(string: ""))
26+
27+
commandEncoder.reset()
28+
RESPPureToken("TEST", true).encode(into: &commandEncoder)
29+
#expect(commandEncoder.buffer == RESPToken(.bulkString("TEST")).base)
30+
}
31+
32+
@Test
33+
func testRESPWithToken() async throws {
34+
var commandEncoder = ValkeyCommandEncoder()
35+
var commandEncoder2 = ValkeyCommandEncoder()
36+
RESPWithToken("TEST", 5).encode(into: &commandEncoder)
37+
"TEST".encode(into: &commandEncoder2)
38+
5.encode(into: &commandEncoder2)
39+
#expect(commandEncoder.buffer == commandEncoder2.buffer)
40+
41+
commandEncoder.reset()
42+
RESPWithToken("TEST", Int?(nil)).encode(into: &commandEncoder)
43+
#expect(commandEncoder.buffer.readableBytes == 0)
44+
RESPWithToken("TEST", [Int]()).encode(into: &commandEncoder)
45+
#expect(commandEncoder.buffer.readableBytes == 0)
46+
}
47+
48+
@Test
49+
func testRESPArrayWithCount() async throws {
50+
var commandEncoder = ValkeyCommandEncoder()
51+
var commandEncoder2 = ValkeyCommandEncoder()
52+
RESPArrayWithCount(["john", "jane"]).encode(into: &commandEncoder)
53+
2.encode(into: &commandEncoder2)
54+
"john".encode(into: &commandEncoder2)
55+
"jane".encode(into: &commandEncoder2)
56+
#expect(commandEncoder.buffer == commandEncoder2.buffer)
57+
58+
commandEncoder.reset()
59+
commandEncoder2.reset()
60+
RESPArrayWithCount([String]()).encode(into: &commandEncoder)
61+
0.encode(into: &commandEncoder2)
62+
#expect(commandEncoder.buffer == commandEncoder2.buffer)
63+
}
64+
}

0 commit comments

Comments
 (0)