def test_inline_month_columns(self): column = CalendarColumn(None, date(2012, 12, 18), date(2013, 3, 1)) self.assertEqual(len(column), 4 + 74 + 74) self.assertEqual(column.months_column.headers, ['December', 'January', 'February', 'March']) self.assertEqual(column.months_column[0].header.base_attrs['colspan'], '14') self.assertEqual(column.months_column[1].header.base_attrs['colspan'], '31') self.assertEqual(column.months_column[2].header.base_attrs['colspan'], '28') self.assertEqual(column.months_column[3].header.base_attrs['colspan'], '1') column = CalendarColumn(None, date(2014, 5, 4), date(2014, 5, 9)) self.assertEqual(len(column), 1 + 6 + 6) self.assertEqual(column.months_column.headers, ['May']) self.assertEqual(column.months_column[0].header.base_attrs['colspan'], '6')
class CalendarColumnTable(Table): id = Column(field='id', header=u'#', header_attrs={'rowspan': '3'}) name = Column(field='name', header=u'NAME', header_attrs={'rowspan': '3'}) calendar = CalendarColumn(field='calendar', start_date=date(2014, 4, 27), end_date=date(2014, 5, 9))