import Foundation import XCTest import URLQueryItemCoder final class ArrayEncodingTests: XCTestCase { struct Query: Encodable { var ids: [String] } func testRepeatedKeysPreserveEveryArrayElement() throws { let items = try URLQueryItemEncoder(arrayStrategy: .repeated) .encode(Query(ids: ["first", "second"])) XCTAssertEqual(items, [ URLQueryItem(name: "ids", value: "first"), URLQueryItem(name: "ids", value: "second"), ]) } func testDefaultEncodingKeepsIndexedKeys() throws { let items = try URLQueryItemEncoder().encode(Query(ids: ["first", "second"])) XCTAssertEqual(items, [ URLQueryItem(name: "ids.0", value: "first"), URLQueryItem(name: "ids.1", value: "second"), ]) } }