Fix date filter usage with multi word queries. Simplify date regex

This commit is contained in:
Debanjum Singh Solanky
2022-07-14 21:32:58 +04:00
parent 67e9366c0f
commit 9de2097182
2 changed files with 23 additions and 24 deletions

View File

@@ -94,17 +94,20 @@ def test_parse():
def test_date_filter_regex():
dtrange_match = re.search(date_filter.date_range_regex, 'head dt>"today" dt:"1984-01-01" tail')
assert dtrange_match.groups() == ('>', 'today', ':', '1984-01-01')
dtrange_match = re.findall(date_filter.date_regex, 'multi word head dt>"today" dt:"1984-01-01"')
assert dtrange_match == [('>', 'today'), (':', '1984-01-01')]
dtrange_match = re.search(date_filter.date_range_regex, 'head dt>="today" dt="1984-01-01"')
assert dtrange_match.groups() == ('>=', 'today', '=', '1984-01-01')
dtrange_match = re.findall(date_filter.date_regex, 'head dt>"today" dt:"1984-01-01" multi word tail')
assert dtrange_match == [('>', 'today'), (':', '1984-01-01')]
dtrange_match = re.search(date_filter.date_range_regex, 'head dt<"today" tail')
assert dtrange_match.groups() == ('<', 'today', None, None)
dtrange_match = re.findall(date_filter.date_regex, 'multi word head dt>="today" dt="1984-01-01"')
assert dtrange_match == [('>=', 'today'), ('=', '1984-01-01')]
dtrange_match = re.search(date_filter.date_range_regex, 'head dt<="today"')
assert dtrange_match.groups() == ('<=', 'today', None, None)
dtrange_match = re.findall(date_filter.date_regex, 'dt<"multi word date" multi word tail')
assert dtrange_match == [('<', 'multi word date')]
dtrange_match = re.search(date_filter.date_range_regex, 'head tail')
assert dtrange_match.groups() == (None, None, None, None)
dtrange_match = re.findall(date_filter.date_regex, 'head dt<="multi word date"')
assert dtrange_match == [('<=', 'multi word date')]
dtrange_match = re.findall(date_filter.date_regex, 'head tail')
assert dtrange_match == []