diff test/db_test_base.py @ 6118:e6073c2291c6

Better Date filtering Allow filtering by multiple date ranges or empty date. Date ranges are separated by comma, an empty date is represented by '-'.
author Ralf Schlatterbeck <rsc@runtux.com>
date Mon, 02 Mar 2020 19:02:16 +0100
parents 15d1ce536c73
children 8497bf3f23a1
line wrap: on
line diff
--- a/test/db_test_base.py	Sat Feb 29 12:30:42 2020 -0500
+++ b/test/db_test_base.py	Mon Mar 02 19:02:16 2020 +0100
@@ -1883,6 +1883,18 @@
                 r = filt(None, dict(deadline='2001-%02d'%month))
                 assert len(r) == month, 'month %d != length %d'%(month, len(r))
 
+    def testFilteringDateRangeMulti(self):
+        ae, filter, filter_iter = self.filteringSetup()
+        self.db.issue.create(title='no deadline')
+        self.db.commit()
+        for filt in filter, filter_iter:
+            r = filt (None, dict(deadline='-'))
+            self.assertEqual(r, ['5'])
+            r = filt (None, dict(deadline=';2003-02-01,2004;'))
+            self.assertEqual(r, ['2', '4'])
+            r = filt (None, dict(deadline='-,;2003-02-01,2004;'))
+            self.assertEqual(r, ['2', '4', '5'])
+
     def testFilteringRangeInterval(self):
         ae, filter, filter_iter = self.filteringSetup()
         for filt in filter, filter_iter:

Roundup Issue Tracker: http://roundup-tracker.org/