========= MonthYear ========= All necessary components are set up in the testclass to make sure that we test the real configuration. Let's test the Widget: >>> import datetime >>> import z3c.form >>> import zope.schema >>> from collective.z3cform.datetimewidget import MonthYearFieldWidget >>> request = self.testrequest() >>> field = zope.schema.Date(default=datetime.date(2007, 4, 1)) >>> widget = MonthYearFieldWidget(field, request) >>> widget.id = 'foo' >>> widget.name = 'bar' >>> widget.update() >>> widget.extract() is z3c.form.interfaces.NOVALUE True INPUT_MODE ---------- >>> print widget.render() / >>> widget.request = self.testrequest( ... form={'bar-day': '1', ... 'bar-month': '4', ... 'bar-year': '2007', ... 'bar-empty-marker': '1', ... } ... ) >>> widget.extract() ('2007', '4', '1') DISPLAY_MODE ------------ >>> widget.mode = z3c.form.interfaces.DISPLAY_MODE >>> print widget.render() 4/1/07 HIDDEN_MODE ----------- >>> widget.mode = z3c.form.interfaces.HIDDEN_MODE >>> print widget.render() >>> widget.request = self.testrequest( ... form={'bar': '4/1/07'} ... ) >>> widget.extract() ('2007', '4', '1')