11#![ doc = include_str ! ( "../README.md" ) ]
2- #![ no_std]
2+ #![ cfg_attr ( not ( test ) , no_std) ]
33
44#[ link( name = "wsqlite_vec0" ) ]
55extern "C" {
@@ -8,62 +8,22 @@ extern "C" {
88
99#[ cfg( test) ]
1010mod tests {
11- use core :: ffi :: CStr ;
11+ use super :: * ;
1212
13- use crate :: sqlite3_vec_init;
14- use sqlite_wasm_rs:: {
15- sqlite3_auto_extension, sqlite3_close, sqlite3_column_count, sqlite3_column_text,
16- sqlite3_column_type, sqlite3_finalize, sqlite3_open_v2, sqlite3_prepare_v3, sqlite3_step,
17- SQLITE_OK , SQLITE_OPEN_CREATE , SQLITE_OPEN_READWRITE , SQLITE_ROW , SQLITE_TEXT ,
18- } ;
19- use wasm_bindgen_test:: wasm_bindgen_test;
13+ use rusqlite:: { ffi:: sqlite3_auto_extension, Connection } ;
2014
21- #[ wasm_bindgen_test]
22- fn test_auto_extension ( ) {
15+ #[ wasm_bindgen_test:: wasm_bindgen_test ]
16+ fn test_rusqlite_auto_extension ( ) {
2317 unsafe {
24- sqlite3_auto_extension ( Some ( core :: mem:: transmute ( sqlite3_vec_init as * const ( ) ) ) ) ;
18+ sqlite3_auto_extension ( Some ( std :: mem:: transmute ( sqlite3_vec_init as * const ( ) ) ) ) ;
2519 }
2620
27- let mut db = core:: ptr:: null_mut ( ) ;
28- let ret = unsafe {
29- sqlite3_open_v2 (
30- c":memory:" . as_ptr ( ) . cast ( ) ,
31- & mut db as * mut _ ,
32- SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE ,
33- core:: ptr:: null ( ) ,
34- )
35- } ;
36- assert_eq ! ( ret, SQLITE_OK ) ;
21+ let conn = Connection :: open_in_memory ( ) . unwrap ( ) ;
3722
38- let sql = c"select vec_version();" ;
39- let mut stmt = core:: ptr:: null_mut ( ) ;
40- let ret = unsafe {
41- sqlite3_prepare_v3 (
42- db,
43- sql. as_ptr ( ) . cast ( ) ,
44- -1 ,
45- 0 ,
46- & mut stmt as * mut _ ,
47- core:: ptr:: null_mut ( ) ,
48- )
49- } ;
50- assert_eq ! ( ret, SQLITE_OK ) ;
23+ let result: String = conn
24+ . query_row ( "select vec_version()" , [ ] , |x| x. get ( 0 ) )
25+ . unwrap ( ) ;
5126
52- unsafe {
53- assert_eq ! ( sqlite3_step( stmt) , SQLITE_ROW ) ;
54- let count = sqlite3_column_count ( stmt) ;
55- assert_eq ! ( count, 1 ) ;
56- let ty = sqlite3_column_type ( stmt, 0 ) ;
57- assert_eq ! ( ty, SQLITE_TEXT ) ;
58- let s = CStr :: from_ptr ( sqlite3_column_text ( stmt, 0 ) . cast ( ) )
59- . to_str ( )
60- . unwrap ( ) ;
61- assert ! ( s. starts_with( 'v' ) ) ;
62- sqlite3_finalize ( stmt) ;
63- }
64-
65- unsafe {
66- sqlite3_close ( db) ;
67- }
27+ assert ! ( result. starts_with( "v" ) ) ;
6828 }
6929}
0 commit comments