add swiftUI code

This commit is contained in:
zeus
2025-01-22 14:09:10 +08:00
parent 68e7b7347c
commit 8a99853829
2531 changed files with 486215 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)
}
}