Skip to content

Commit

Permalink
tst objects
Browse files Browse the repository at this point in the history
  • Loading branch information
lovetodream committed Sep 21, 2024
1 parent b140071 commit 5bfd89d
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions Tests/OracleNIOTests/Data/OracleJSONWriterTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -161,5 +161,57 @@ import struct Foundation.Date
let result = try OracleJSONParser.parse(from: &buffer)
#expect(result == .container(["hello": .string("there")]))
}

@Test func encodeObjectWithMultipleKeys() throws {
var buffer = ByteBuffer()
var writer = OracleJSONWriter()
try writer.encode(
.container([
"hello": .string("there"),
"foo": .string("bar")
]),
into: &buffer,
maxFieldNameSize: 255
)
let result = try OracleJSONParser.parse(from: &buffer)
#expect(result == .container([
"hello": .string("there"),
"foo": .string("bar")
]))
}

@Test func encodeObjectLongValue() throws {
var buffer = ByteBuffer()
var writer = OracleJSONWriter()
let string = String(repeating: "a", count: 66666)
try writer.encode(
.array([.string(string)]),
into: &buffer,
maxFieldNameSize: 255
)
let result = try OracleJSONParser.parse(from: &buffer)
#expect(result == .array([.string(string)]))
}

@Test func encodeObjectWithManyKeys() throws {
var buffer = ByteBuffer()
var writer = OracleJSONWriter()
var dict = [String: OracleJSONStorage]()
for i in 0..<260 {
dict["\(i)"] = .string("\(i)")
}
try writer.encode(.container(dict), into: &buffer, maxFieldNameSize: 255)
let result = try OracleJSONParser.parse(from: &buffer)
#expect(result == .container(dict))
}

@Test func encodeObjectWithLongFieldName() throws {
var buffer = ByteBuffer()
var writer = OracleJSONWriter()
let key = String(repeating: "a", count: 500)
try writer.encode(.container([key: .string("value")]), into: &buffer, maxFieldNameSize: 65535)
let result = try OracleJSONParser.parse(from: &buffer)
#expect(result == .container([key: .string("value")]))
}
}
#endif

0 comments on commit 5bfd89d

Please sign in to comment.