Mercurial > p > roundup > code
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 6117:bfb30ed10297 | 6118:e6073c2291c6 |
|---|---|
| 1880 | 1880 |
| 1881 for month in range(1, 13): | 1881 for month in range(1, 13): |
| 1882 for filt in filter, filter_iter: | 1882 for filt in filter, filter_iter: |
| 1883 r = filt(None, dict(deadline='2001-%02d'%month)) | 1883 r = filt(None, dict(deadline='2001-%02d'%month)) |
| 1884 assert len(r) == month, 'month %d != length %d'%(month, len(r)) | 1884 assert len(r) == month, 'month %d != length %d'%(month, len(r)) |
| 1885 | |
| 1886 def testFilteringDateRangeMulti(self): | |
| 1887 ae, filter, filter_iter = self.filteringSetup() | |
| 1888 self.db.issue.create(title='no deadline') | |
| 1889 self.db.commit() | |
| 1890 for filt in filter, filter_iter: | |
| 1891 r = filt (None, dict(deadline='-')) | |
| 1892 self.assertEqual(r, ['5']) | |
| 1893 r = filt (None, dict(deadline=';2003-02-01,2004;')) | |
| 1894 self.assertEqual(r, ['2', '4']) | |
| 1895 r = filt (None, dict(deadline='-,;2003-02-01,2004;')) | |
| 1896 self.assertEqual(r, ['2', '4', '5']) | |
| 1885 | 1897 |
| 1886 def testFilteringRangeInterval(self): | 1898 def testFilteringRangeInterval(self): |
| 1887 ae, filter, filter_iter = self.filteringSetup() | 1899 ae, filter, filter_iter = self.filteringSetup() |
| 1888 for filt in filter, filter_iter: | 1900 for filt in filter, filter_iter: |
| 1889 ae(filt(None, {'foo': 'from 0:50 to 2:00'}), ['1']) | 1901 ae(filt(None, {'foo': 'from 0:50 to 2:00'}), ['1']) |
