Changeset 87d7959 in trac.git
- Timestamp:
- Oct 27, 2021, 8:49:51 AM (2 years ago)
- Branches:
- 1.4-stable, 1.6-stable, trunk
- Children:
- 208c2e2
- Parents:
- 586bfd9
- Location:
- trac/ticket
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trac/ticket/templates/report_view.html
r586bfd9 r87d7959 239 239 </td> 240 240 241 # elif col in ('created', 'modified'): 242 # do td_attrs['class'].append('date') 243 <td${td_attrs|htmlattr}>${ 244 pretty_dateinfo(from_utimestamp(cell.value|int)) 245 if cell.value != '' else '--'} 246 {% if fullrow %}<hr />{% endif %} 247 </td> 248 241 249 <!--! generic fields --> 242 250 # elif col == 'time': … … 248 256 </td> 249 257 250 # elif col in ('date', 'created', 'modified'):258 # elif col == 'date': 251 259 # do td_attrs['class'].append('date') 252 260 <td${td_attrs|htmlattr}>${ -
trac/ticket/tests/report.py
r586bfd9 r87d7959 21 21 from trac.ticket.query import QueryModule 22 22 from trac.ticket.report import Report, ReportModule 23 from trac.timeline.web_ui import TimelineModule 23 24 from trac.test import EnvironmentStub, MockRequest 24 25 from trac.ticket.test import insert_ticket 25 from trac.util.datefmt import utc26 from trac.util.datefmt import time_now, to_utimestamp, utc 26 27 from trac.util.html import genshi 27 28 from trac.web.api import HTTPBadRequest, RequestDone … … 51 52 """, (title, query, description)) 52 53 return db.get_last_id(cursor, 'report') 54 55 def _process_request(self, req): 56 self.assertTrue(self.report_module.match_request(req)) 57 return self.report_module.process_request(req) 58 59 def _render_template(self, req, template, data, metadata={}): 60 template, data, metadata = TimelineModule(self.env) \ 61 .post_process_request(req, template, data, metadata) 62 metadata = metadata.copy() 63 metadata['fragment'] = False 64 metadata['iterable'] = False 65 return Chrome(self.env).render_template(req, template, data, metadata) 53 66 54 67 def test_create_report(self): … … 377 390 378 391 req = MockRequest(self.env, method='GET', path_info='/report/9') 379 self.assertTrue(self.report_module.match_request(req)) 380 rv = self.report_module.process_request(req) 381 rendered = Chrome(self.env).render_template(req, rv[0], rv[1], 382 {'fragment': False, 383 'iterable': False}) 392 template, data = self._process_request(req) 393 rendered = self._render_template(req, template, data) 384 394 self.assertRegexpMatches(rendered, 385 395 r'<tr[^>]*>\s*' … … 398 408 399 409 def test_timestamp_columns(self): 410 now = int(time_now() * 1000000) 400 411 req = MockRequest(self.env, method='POST', path_info='/report', args={ 401 412 'action': 'new', 402 413 'title': '#13134', 403 'query': "SELECT %d AS time, %d AS created, %d AS datetime" 414 'query': "SELECT %d AS time, %d AS date, %d AS datetime,\n" 415 " $C AS created, $M AS modified" 404 416 % ((1 * 86400 + 42) * 1000000, 405 417 (2 * 86400 + 43) * 1000000, 406 418 (3 * 86400 + 44) * 1000000), 407 419 'description': ''}) 408 self.assertTrue(self.report_module.match_request(req)) 409 self.assertRaises(RequestDone, self.report_module.process_request, req) 410 411 req = MockRequest(self.env, method='GET', path_info='/report/9') 412 self.assertTrue(self.report_module.match_request(req)) 413 rv = self.report_module.process_request(req) 414 rendered = Chrome(self.env).render_template(req, rv[0], rv[1], 415 {'fragment': False, 416 'iterable': False}) 420 self.assertRaises(RequestDone, self._process_request, req) 421 422 req = MockRequest(self.env, method='GET', path_info='/report/9', 423 args={'C': str(now - (1 * 86400 + 42) * 1000000), 424 'M': str(now - (2 * 86400 + 43) * 1000000)}) 425 rv = self._process_request(req) 426 rendered = self._render_template(req, *rv) 417 427 self.assertRegexpMatches(rendered, 418 428 r'<td class="date">\s*(12:00:42 AM|00:00:42)\s*</td>') … … 422 432 r'<td class="date">\s*(Jan 4, 1970, 12:00:44 AM|' 423 433 r'01/04/70 00:00:44)\s*</td>') 434 self.assertRegexpMatches(rendered, 435 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 436 r'title="See timeline at [^"]*">24 hours ago</a>\s*</td>') 437 self.assertRegexpMatches(rendered, 438 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 439 r'title="See timeline at [^"]*">2 days ago</a>\s*</td>') 440 441 ts = to_utimestamp(datetime(2021, 9, 14, 12, 13, 58, 98765, utc)) 442 req = MockRequest(self.env, method='GET', path_info='/report/9', 443 args={'C': str(ts - (1 * 86400 + 42) * 1000000), 444 'M': str(ts - (2 * 86400 + 43) * 1000000)}) 445 req.session['dateinfo'] = 'absolute' 446 rv = self._process_request(req) 447 rendered = self._render_template(req, *rv) 448 self.assertRegexpMatches(rendered, 449 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 450 r'title="See timeline [^"]+ ago">on (Sep 13, 2021|09/34/21) ' 451 r'at (12:13:16 PM|12:13:16)</a>\s*</td>') 452 self.assertRegexpMatches(rendered, 453 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 454 r'title="See timeline [^"]+ ago">on (Sep 12, 2021|09/12/21) ' 455 r'at (12:13:15 PM|12:13:15)</a>\s*</td>') 424 456 425 457
Note:
See TracChangeset
for help on using the changeset viewer.