Пример #1
0
 def toWidgetValue(self, value):
     if IXMLTextValue.providedBy(value):
         return value
     elif isinstance(value, unicode):
         return self.field.fromUnicode(value)
     elif value is None:
         return None
     raise ValueError("Cannot convert %s to an IXMLTextValue" % repr(value))
Пример #2
0
 def toFieldValue(self, value):
     if IXMLTextValue.providedBy(value):
         if value.raw == u'':
             return self.field.missing_value
         return value
     elif isinstance(value, unicode):
         if value == u'':
             return self.field.missing_value
         return self.field.fromUnicode(value)
     raise ValueError("Cannot convert %s to an IXMLTextValue" % repr(value))
Пример #3
0
    def test_converter(self):
        _marker = object()

        class IWithText(Interface):
            
            text = XMLText(title=u"Text", missing_value = _marker)

        widget = FieldWidget(IWithText['text'], XMLTextWidget(self.request))
        widget.update()

        converter = XMLTextConverter(IWithText['text'], widget)
        self.assertTrue(converter.toFieldValue(u'') is _marker)
        self.assertTrue(converter.toFieldValue(XMLTextValue(u'')) is _marker)

        self.assertEquals(converter.toWidgetValue(None), None)
        self.assertTrue(IXMLTextValue.providedBy(
            converter.toWidgetValue(XMLTextValue(u''))))
        self.request.form['%s' % widget.name] = u"<html><body>test</body></html>"
        self.request.form['%s.mimeType' % widget.name] = 'text/xml'
        widget.update()
        self.assertTrue(IXMLTextValue.providedBy(
            converter.toWidgetValue(u"<html><body>test</body></html>")))
        with self.assertRaises(ValueError):
            converter.toWidgetValue(int)
Пример #4
0
 def test_decode(self):
     value = self.marshaler.decode(self.xmltextvalue.raw_encoded)
     self.assertTrue(IXMLTextValue.providedBy(value))
     self.assertEquals(value.raw_encoded, value.raw.encode('utf-8'))
Пример #5
0
 def test_xmltextvalue(self):
     self.assertTrue(IXMLTextValue.providedBy(self.value))