def test_highlight_match_case_insensitive(): # Testing issue #69 text = "Turn-taking" entry = {"fields": {"title": "Turn-Taking"}} match = {"fields": {"title": set(["Turn-Taking"])}} result = models.SearchResult(entry, match) text, extra_match_info = internals.highlight_match(text, result) assert text == internals.bold("Turn-taking") assert extra_match_info == {}
def test_update_result(): entry = { "a": "1234", "props": { "b": "ABCD" }, } r1 = models.SearchResult(entry, {}) assert query._update_result(r1, {}) == None r2 = query._update_result(r1, {"a": set(["1"])}) assert "a" in r2.match assert r2.match["a"] == set(["1"]) r3 = query._update_result(r2, {"props": {"b": set(["ABC"])}}) assert r3.match["props"]["b"] == set(["ABC"]) r4 = query._update_result(r3, {"props": {"b": set(["D"])}}) assert r4.match["props"]["b"] == {"ABC", "D"}
def test_highlight_match(): text = "my name is Moshe, 40" entry = { "name": "Moshe", "fields": { "age": "40", "address": "London, UK", }, } match = { "name": ["Mosh"], "fields": { "address": ["London"], }, } result = models.SearchResult(entry, match) text, extra_match_info = internals.highlight_match(text, result) assert text == "my name is {}e, 40".format(internals.bold("Mosh")) assert extra_match_info == { "address": "{}, UK".format(internals.bold("London")) }