mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 10:27:57 +00:00
32 lines
893 B
Python
32 lines
893 B
Python
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
#
|
|
# This file is part of Nominatim. (https://nominatim.org)
|
|
#
|
|
# Copyright (C) 2025 by the Nominatim developer community.
|
|
# For a full list of authors see the git log.
|
|
"""
|
|
Tests for normalizing search queries.
|
|
"""
|
|
from icu import Transliterator
|
|
|
|
import nominatim_api.search.query as qmod
|
|
from nominatim_api.query_preprocessing.config import QueryConfig
|
|
from nominatim_api.query_preprocessing import normalize
|
|
|
|
|
|
def run_preprocessor_on(query, norm):
|
|
normalizer = Transliterator.createFromRules("normalization", norm)
|
|
proc = normalize.create(QueryConfig().set_normalizer(normalizer))
|
|
|
|
return proc(query)
|
|
|
|
|
|
def test_normalize_simple():
|
|
norm = ':: lower();'
|
|
query = [qmod.Phrase(qmod.PHRASE_ANY, 'Hallo')]
|
|
|
|
out = run_preprocessor_on(query, norm)
|
|
|
|
assert len(out) == 1
|
|
assert out == [qmod.Phrase(qmod.PHRASE_ANY, 'hallo')]
|