use fsqlite_core::connection::Connection;
async fn err_of(ddl: &str) -> String {
let c = Connection::open(":memory:").await.unwrap();
c.execute(ddl)
.await
.expect_err("unknown collation must be rejected")
.to_string()
}
async fn ok(ddl: &str) {
let c = Connection::open(":memory:").await.unwrap();
c.execute(ddl)
.await
.expect("valid collation DDL must succeed");
}
#[test]
fn create_table_unknown_collation_rejected() {
asupersync::test_utils::run_test(|| async {
assert_eq!(
err_of("CREATE TABLE t(a TEXT COLLATE nope)").await,
"no such collation sequence: nope",
);
ok("CREATE TABLE t(a TEXT COLLATE NOCASE)").await;
ok("CREATE TABLE t(a TEXT COLLATE binary)").await;
ok("CREATE TABLE t(a TEXT COLLATE RTRIM)").await;
ok("CREATE TABLE t(a TEXT)").await;
});
}