コード例 #1
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.raw = open(os.path.join(dirname, 'test.cnxml')).read()
     self.raw = self.raw.decode('utf-8')
     xmlfile = createObject('rhaptos.xmlfile.xmlfile', id='xmlfile')
     field = XMLText()
     self.xmltextvalue = field.fromUnicode(self.raw)
     self.marshaler = XMLTextFieldMarshaler(xmlfile, field)
コード例 #2
0
class TestMarshaler(unittest.TestCase):
    """ Test marshaler module """
    layer = INTEGRATION_TESTING

    def setUp(self):
        self.portal = self.layer['portal']
        self.raw = open(os.path.join(dirname, 'test.cnxml')).read()
        self.raw = self.raw.decode('utf-8')
        xmlfile = createObject('rhaptos.xmlfile.xmlfile', id='xmlfile')
        field = XMLText()
        self.xmltextvalue = field.fromUnicode(self.raw)
        self.marshaler = XMLTextFieldMarshaler(xmlfile, field)

    def test_encode(self):
        self.assertEqual(self.marshaler.encode(self.xmltextvalue),
                         self.raw.encode('utf-8'))
        self.assertEqual(self.marshaler.encode(None), None)
        with self.assertRaises(UnicodeEncodeError):
            self.marshaler.encode(self.xmltextvalue, charset='latin-1')

    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'))