feat: add sqlite extersion
This commit is contained in:
52
__database/sqlite_extersion/test.py
Normal file
52
__database/sqlite_extersion/test.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sqlite3
|
||||
|
||||
conn = sqlite3.connect("test.db", isolation_level=None)
|
||||
|
||||
print(f"Loading SQLite extension in connection: {conn}")
|
||||
conn.enable_load_extension(True)
|
||||
conn.execute(
|
||||
"SELECT load_extension('target/release/libsqlite_regex_ext.dylib', 'sqlite3_regex_init');"
|
||||
)
|
||||
|
||||
print("Running tests...")
|
||||
|
||||
print("Testing pattern 'x(ab)' WITHOUT capture group")
|
||||
row = conn.execute("SELECT regex_extract('x(ab)', 'xxabaa')").fetchone()
|
||||
assert row[0] == "xab", row[0]
|
||||
|
||||
print("Testing pattern 'x(ab)' WITH capture group = 1")
|
||||
row = conn.execute("SELECT regex_extract('x(ab)', 'xxabaa', 1)").fetchone()
|
||||
assert row[0] == "ab", row[0]
|
||||
|
||||
print("Testing pattern 'x(ab)' WITH capture group = 0")
|
||||
row = conn.execute("SELECT regex_extract('x(ab)', 'xxabaa', 0)").fetchone()
|
||||
assert row[0] == "xab", row[0]
|
||||
|
||||
print("Testing pattern 'g(oog)+le' WITHOUT capture group")
|
||||
row = conn.execute("SELECT regex_extract('g(oog)+le', 'googoogoogle')").fetchone()
|
||||
assert row[0] == "googoogoogle", row[0]
|
||||
|
||||
print("Testing pattern 'g(oog)+le' WITH capture group = 1")
|
||||
row = conn.execute("SELECT regex_extract('g(oog)+le', 'googoogoogle', 1)").fetchone()
|
||||
assert row[0] == "oog", row[0]
|
||||
|
||||
print("Testing pattern '[Cc]at' WITHOUT capture group")
|
||||
row = conn.execute("SELECT regex_extract('[Cc]at', 'cat')").fetchone()
|
||||
assert row[0] == "cat", row[0]
|
||||
|
||||
print("Testing pattern '[Cc]at' WITHOUT capture group, expecting empty return")
|
||||
row = conn.execute("SELECT regex_extract('[Cc]at', 'hello')").fetchone()
|
||||
assert row[0] is None, row[0]
|
||||
|
||||
conn.close()
|
||||
|
||||
|
||||
conn2 = sqlite3.connect("test.db", isolation_level=None)
|
||||
print(f"Testing connection 2: {conn2}")
|
||||
row = conn2.execute("SELECT regex_extract('x(ab)', 'xxabaa')").fetchone()
|
||||
assert row[0] == "xab", row[0]
|
||||
|
||||
|
||||
print("All tests passed")
|
||||
Reference in New Issue
Block a user