コード例 #1
0
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 == {}
コード例 #2
0
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"}
コード例 #3
0
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"))
    }