def setUp(self): from Products.Archetypes.Widget import DateWidget self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'}) self.context = Mock() self.field = Mock() self.field.getAccessor.return_value = lambda: u'' self.field.getName.return_value = 'fieldname' self.widget = DateWidget()
class DateWidgetTests(unittest.TestCase): def setUp(self): from Products.Archetypes.Widget import DateWidget self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'}) self.context = Mock() self.field = Mock() self.field.getAccessor.return_value = lambda: u'' self.field.getName.return_value = 'fieldname' self.widget = DateWidget() def test_widget(self): current_year = datetime.today().year self.assertEqual( { 'pattern': 'pickadate', 'value': u'', 'name': 'fieldname', 'pattern_options': { 'date': { 'firstDay': 0, 'min': [current_year - 100, 1, 1], 'max': [current_year + 20, 1, 1], 'clear': u'Clear', 'format': 'mmmm d, yyyy', 'monthsFull': [u'January', u'February', u'March', u'April', u'May', u'June', u'July', u'August', u'September', u'October', u'November', u'December'], 'weekdaysShort': [u'Sun', u'Mon', u'Tue', u'Wed', u'Thu', u'Fri', u'Sat'], 'weekdaysFull': [u'Sunday', u'Monday', u'Tuesday', u'Wednesday', u'Thursday', u'Friday', u'Saturday'], 'today': u'Today', 'selectYears': 200, 'placeholder': u'Enter date...', 'monthsShort': [u'Jan', u'Feb', u'Mar', u'Apr', u'May', u'Jun', u'Jul', u'Aug', u'Sep', u'Oct', u'Nov', u'Dec'] }, 'time': False } }, self.widget._base_args(self.context, self.field, self.request), ) def test_process_form(self): form = { 'fieldname': '2011-11-22', } self.assertEqual( self.widget.process_form( self.context, self.field, form)[0].asdatetime(), (datetime(2011, 11, 22)) )
def setFgShowHM(self, value, **kw): """ set show_hm """ if not type(value) == BooleanType: value = value == '1' old_widget = self.fgField.widget if not value: # BBB: changing patters options is not working so we re-init the # inner widget self.fgField.widget = DateWidget() self.fgField.widget._properties['pattern_options']['time'] = value self.fgField.widget.pattern_options['time'] = value else: self.fgField.widget = DatetimeWidget() try: del self.fgField.widget.pattern_options['time'] del self.fgField.widget._properties['pattern_options']['time'] except KeyError: pass # Copy data from the old widget for attr in ('label', 'description'): setattr(self.fgField.widget, attr, getattr(old_widget, attr)) self.fgField.widget.show_hm = value self.fgShowHM = value