Add CI/CD configuration and API documentation

This commit is contained in:
2026-07-01 21:40:53 +08:00
commit c590135d68
4168 changed files with 740252 additions and 0 deletions
@@ -0,0 +1,33 @@
import XCTest
import Foundation
@testable import GRDB
private struct UseDefaultKeysRecord: PersistableRecord, Encodable {
static var databaseColumnEncodingStrategy: DatabaseColumnEncodingStrategy { .useDefaultKeys }
var recordID: String
}
private struct ConvertToSnakeCaseRecord: PersistableRecord, Encodable {
static var databaseColumnEncodingStrategy: DatabaseColumnEncodingStrategy { .convertToSnakeCase }
var recordID: String
}
class DatabaseColumnEncodingStrategyTests: GRDBTestCase {
func testUseDefaultKeys() throws {
let record = UseDefaultKeysRecord(recordID: "test")
var container = PersistenceContainer()
try record.encode(to: &container)
XCTAssertNil(container["record_id"]?.databaseValue.storage)
XCTAssertEqual(container["recordID"]?.databaseValue.storage, "test".databaseValue.storage)
}
func testConvertToSnakeCase() throws {
let record = ConvertToSnakeCaseRecord(recordID: "test")
var container = PersistenceContainer()
try record.encode(to: &container)
XCTAssertNil(container["recordID"]?.databaseValue.storage)
XCTAssertEqual(container["record_id"]?.databaseValue.storage, "test".databaseValue.storage)
}
}