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