From 42440d6345c242ee39778045e29143fb550bd2c2 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Mon, 27 Jun 2022 23:41:13 +0000 Subject: [PATCH] Use parametrize for FTS test --- tests/test_fts.py | 52 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/test_fts.py b/tests/test_fts.py index 53a7bc2..477d599 100644 --- a/tests/test_fts.py +++ b/tests/test_fts.py @@ -180,32 +180,32 @@ def test_populate_fts_escape_table_names(fresh_db): ] == list(table.search("usa")) -def test_fts_tokenize(fresh_db): - for fts_version in ("4", "5"): - table_name = "searchable_{}".format(fts_version) - table = fresh_db[table_name] - table.insert_all(search_records) - # Test without porter stemming - table.enable_fts( - ["text", "country"], - fts_version="FTS{}".format(fts_version), - ) - assert [] == list(table.search("bite")) - # Test WITH stemming - table.disable_fts() - table.enable_fts( - ["text", "country"], - fts_version="FTS{}".format(fts_version), - tokenize="porter", - ) - rows = list(table.search("bite", order_by="rowid")) - assert len(rows) == 1 - assert { - "rowid": 2, - "text": "racoons are biting trash pandas", - "country": "USA", - "not_searchable": "bar", - }.items() <= rows[0].items() +@pytest.mark.parametrize("fts_version", ("4", "5")) +def test_fts_tokenize(fresh_db, fts_version): + table_name = "searchable_{}".format(fts_version) + table = fresh_db[table_name] + table.insert_all(search_records) + # Test without porter stemming + table.enable_fts( + ["text", "country"], + fts_version="FTS{}".format(fts_version), + ) + assert [] == list(table.search("bite")) + # Test WITH stemming + table.disable_fts() + table.enable_fts( + ["text", "country"], + fts_version="FTS{}".format(fts_version), + tokenize="porter", + ) + rows = list(table.search("bite", order_by="rowid")) + assert len(rows) == 1 + assert { + "rowid": 2, + "text": "racoons are biting trash pandas", + "country": "USA", + "not_searchable": "bar", + }.items() <= rows[0].items() def test_optimize_fts(fresh_db):