Changeset 09b6ea3 in trac.git
- Timestamp:
- Oct 27, 2021, 8:59:38 AM (2 years ago)
- Branches:
- 1.6-stable, trunk
- Children:
- e7a0340
- Parents:
- 5ee660d
- Location:
- trac/ticket
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trac/ticket/templates/report_view.html
r5ee660d r09b6ea3 240 240 </td> 241 241 242 # elif col in ('created', 'modified'): 243 # do td_attrs['class'].append('date') 244 <td${td_attrs|htmlattr}>${ 245 pretty_dateinfo(from_utimestamp(cell.value|int)) 246 if cell.value != '' else '--'} 247 {% if fullrow %}<hr />{% endif %} 248 </td> 249 242 250 <!--! generic fields --> 243 251 # elif col == 'time': … … 249 257 </td> 250 258 251 # elif col in ('date', 'created', 'modified'):259 # elif col == 'date': 252 260 # do td_attrs['class'].append('date') 253 261 <td${td_attrs|htmlattr}>${ -
trac/ticket/tests/report.py
r5ee660d r09b6ea3 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.web.api import HTTPBadRequest, RequestDone 27 28 from trac.web.chrome import Chrome … … 45 46 """, (title, query, description)) 46 47 return db.get_last_id(cursor, 'report') 48 49 def _process_request(self, req): 50 self.assertTrue(self.report_module.match_request(req)) 51 return self.report_module.process_request(req) 52 53 def _render_template(self, req, template, data, metadata={}): 54 template, data, metadata = TimelineModule(self.env) \ 55 .post_process_request(req, template, data, metadata) 56 metadata = metadata.copy() 57 metadata['fragment'] = False 58 metadata['iterable'] = False 59 return Chrome(self.env).render_template(req, template, data, metadata) 47 60 48 61 def test_create_report(self): … … 374 387 375 388 req = MockRequest(self.env, method='GET', path_info='/report/9') 376 self.assertTrue(self.report_module.match_request(req)) 377 rv = self.report_module.process_request(req) 378 rendered = Chrome(self.env).render_template(req, rv[0], rv[1], 379 {'fragment': False, 380 'iterable': False}) 389 template, data = self._process_request(req) 390 rendered = self._render_template(req, template, data) 381 391 rendered = str(rendered, 'utf-8') 382 392 self.assertRegex(rendered, … … 394 404 395 405 def test_timestamp_columns(self): 406 now = int(time_now() * 1000000) 396 407 req = MockRequest(self.env, method='POST', path_info='/report', args={ 397 408 'action': 'new', 398 409 'title': '#13134', 399 'query': "SELECT %d AS time, %d AS created, %d AS datetime" 410 'query': "SELECT %d AS time, %d AS date, %d AS datetime,\n" 411 " $C AS created, $M AS modified" 400 412 % ((1 * 86400 + 42) * 1000000, 401 413 (2 * 86400 + 43) * 1000000, 402 414 (3 * 86400 + 44) * 1000000), 403 415 'description': ''}) 404 self.assertTrue(self.report_module.match_request(req)) 405 self.assertRaises(RequestDone, self.report_module.process_request, req) 406 407 req = MockRequest(self.env, method='GET', path_info='/report/9') 408 self.assertTrue(self.report_module.match_request(req)) 409 rv = self.report_module.process_request(req) 410 rendered = Chrome(self.env).render_template(req, rv[0], rv[1], 411 {'fragment': False, 412 'iterable': False}) 416 self.assertRaises(RequestDone, self._process_request, req) 417 418 req = MockRequest(self.env, method='GET', path_info='/report/9', 419 args={'C': str(now - (1 * 86400 + 42) * 1000000), 420 'M': str(now - (2 * 86400 + 43) * 1000000)}) 421 rv = self._process_request(req) 422 rendered = self._render_template(req, *rv) 413 423 rendered = str(rendered, 'utf-8') 414 424 self.assertRegex(rendered, … … 419 429 r'<td class="date">\s*(Jan 4, 1970, 12:00:44 AM|' 420 430 r'01/04/(19)?70 00:00:44)\s*</td>') 431 self.assertRegex(rendered, 432 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 433 r'title="See timeline at [^"]*">24 hours ago</a>\s*</td>') 434 self.assertRegex(rendered, 435 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 436 r'title="See timeline at [^"]*">2 days ago</a>\s*</td>') 437 438 ts = to_utimestamp(datetime(2021, 9, 14, 12, 13, 58, 98765, utc)) 439 req = MockRequest(self.env, method='GET', path_info='/report/9', 440 args={'C': str(ts - (1 * 86400 + 42) * 1000000), 441 'M': str(ts - (2 * 86400 + 43) * 1000000)}) 442 req.session['dateinfo'] = 'absolute' 443 rv = self._process_request(req) 444 rendered = self._render_template(req, *rv) 445 rendered = str(rendered, 'utf-8') 446 self.assertRegex(rendered, 447 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 448 r'title="See timeline [^"]+ ago">on (Sep 13, 2021|09/34/21) ' 449 r'at (12:13:16 PM|12:13:16)</a>\s*</td>') 450 self.assertRegex(rendered, 451 r'<td class="date">\s*<a class="timeline" href="[^"]*" ' 452 r'title="See timeline [^"]+ ago">on (Sep 12, 2021|09/12/21) ' 453 r'at (12:13:15 PM|12:13:15)</a>\s*</td>') 421 454 422 455
Note:
See TracChangeset
for help on using the changeset viewer.