add iOS
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import XCTest
|
||||
|
||||
@testable import GRDB
|
||||
|
||||
class SQLExpressionLiteralTests: GRDBTestCase {
|
||||
|
||||
func testWithArguments() throws {
|
||||
try DatabaseQueue().inDatabase { db in
|
||||
let expression = Column("foo").collating(.nocase) == "'fooéı👨👨🏿🇫🇷🇨🇮'" && Column("baz") >= 1
|
||||
let context = SQLGenerationContext(db)
|
||||
let sql = try expression.sql(context, wrappedInParenthesis: true)
|
||||
XCTAssertEqual(sql, "((\"foo\" = ? COLLATE NOCASE) AND (\"baz\" >= ?))")
|
||||
let values = context.arguments.values
|
||||
XCTAssertEqual(values.count, 2)
|
||||
XCTAssertEqual(values[0], "'fooéı👨👨🏿🇫🇷🇨🇮'".databaseValue)
|
||||
XCTAssertEqual(values[1], 1.databaseValue)
|
||||
}
|
||||
}
|
||||
|
||||
func testWithoutArguments() throws {
|
||||
try DatabaseQueue().inDatabase { db in
|
||||
let expression = Column("foo").collating(.nocase) == "'fooéı👨👨🏿🇫🇷🇨🇮'" && Column("baz") >= 1
|
||||
let context = SQLGenerationContext(db, argumentsSink: .literalValues)
|
||||
let sql = try expression.sql(context, wrappedInParenthesis: true)
|
||||
XCTAssert(context.arguments.isEmpty)
|
||||
XCTAssertEqual(sql, "((\"foo\" = '''fooéı👨👨🏿🇫🇷🇨🇮''' COLLATE NOCASE) AND (\"baz\" >= 1))")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user