31 lines
896 B
Swift
31 lines
896 B
Swift
import Foundation
|
|
import Testing
|
|
|
|
@testable import aria
|
|
|
|
@Test func addUriParamsEncodesPositionalArray() throws {
|
|
let params = Aria2.AddUriParams(
|
|
secret: "s3cret",
|
|
uris: ["https://example.com/file.zip"],
|
|
options: ["dir": "/tmp"]
|
|
)
|
|
|
|
let data = try JSONEncoder().encode(params)
|
|
let value = try JSONSerialization.jsonObject(with: data) as! [Any]
|
|
|
|
#expect(value.count == 3)
|
|
#expect(value[0] as? String == "token:s3cret")
|
|
#expect(value[1] as? [String] == ["https://example.com/file.zip"])
|
|
#expect(value[2] as? [String: String] == ["dir": "/tmp"])
|
|
}
|
|
|
|
@Test func addUriParamsOmitsSecretAndOptions() throws {
|
|
let params = Aria2.AddUriParams(secret: nil, uris: ["magnet:?xt=1"], options: [:])
|
|
|
|
let data = try JSONEncoder().encode(params)
|
|
let value = try JSONSerialization.jsonObject(with: data) as! [Any]
|
|
|
|
#expect(value.count == 1)
|
|
#expect(value[0] as? [String] == ["magnet:?xt=1"])
|
|
}
|