def test_description(self): dummy = self._dummy field = dummy.getField('description') self.assertTrue(ILayerContainer.providedBy(field)) self.assertEqual(field.required, False) self.assertEqual(field.default, '') self.assertEqual(field.searchable, True) self.assertEqual(field.primary, False) vocab = field.vocabulary self.assertEqual(vocab, ()) self.assertEqual(field.enforceVocabulary, False) self.assertEqual(field.multiValued, False) self.assertEqual(field.isMetadata, True) self.assertEqual(field.accessor, 'Description') self.assertEqual(field.mutator, 'setDescription') self.assertEqual(field.edit_accessor, 'getRawDescription') self.assertEqual(field.read_permission, View) self.assertEqual(field.write_permission, ModifyPortalContent) self.assertEqual(field.generateMode, 'mVc') #self.assertTrue(field.generateMode == 'veVc', field.generateMode) self.assertEqual(field.force, '') self.assertEqual(field.type, 'text') self.assertTrue(isinstance(field.storage, MetadataStorage)) self.assertTrue(field.getLayerImpl('storage') == MetadataStorage()) self.assertEqual(field.validators, EmptyValidator) self.assertTrue(isinstance(field.widget, TextAreaWidget)) vocab = field.Vocabulary(dummy) self.assertTrue(isinstance(vocab, DisplayList)) self.assertEqual(tuple(vocab), ())
def test_changestorage(self): dummy = self._dummy dummy.setAtextfield('sometext', mimetype="text/plain") dummy.setAdatefield('2003-01-01') dummy.setAlinesfield(['bla', 'bla', 'bla']) dummy.setAnobjectfield('someothertext') out = ('bla', 'bla', 'bla') self.assertEqual(str(dummy.getAtextfield()), 'sometext') self.assertTrue( dummy.getAdatefield().ISO8601().startswith('2003-01-01T00:00:00')) self.assertEqual(dummy.getAlinesfield(), out) self.assertEqual(dummy.getAnobjectfield(), 'someothertext') for field in dummy.schema.fields(): if field.getName() in [ 'atextfield', 'adatefield', 'alinesfield', 'anobjectfield' ]: self._old_storages[field.getName()] = field.getStorage() field.setStorage(dummy, AttributeStorage()) self.assertEqual(field.getStorage().getName(), 'AttributeStorage') field.setStorage(dummy, MetadataStorage()) self.assertEqual(field.getStorage().getName(), 'MetadataStorage') self.assertEqual(str(dummy.getAtextfield()), 'sometext') self.assertTrue( dummy.getAdatefield().ISO8601().startswith('2003-01-01T00:00:00')) self.assertEqual(dummy.getAlinesfield(), out) self.assertEqual(dummy.getAnobjectfield(), 'someothertext')
def test_get_metadata_storage(self): text = 'x' * (1 << 19) self.field.storage = MetadataStorage() self.field.set(instance=self.instance, value=text) result = self.field.get(instance=self.instance) # For TextField, we should really return a string for # backwards compatibility. self.assertTrue(isinstance(result, str), type(result))
def test_get_metadata_storage(self): text = 'x' * (1 << 19) self.field.storage = MetadataStorage() self.field.set(instance=self.instance, value=text) result = self.field.get(instance=self.instance) # For FileField, we should return a File for backwards # compatibility. self.assertTrue(isinstance(result, self.factory), (type(result), self.factory))
def afterSetUp(self): gen_dummy() self._dummy = dummy = Dummy(oid='dummy') self._dummy.initializeArchetype() for field in dummy.schema.fields(): if field.getName() in [ 'atextfield', 'adatefield', 'alinesfield', 'anobjectfield' ]: field.setStorage(dummy, MetadataStorage())
def test_unset(self): dummy = self._dummy dummy.setAtextfield('sometext') field = dummy.getField('atextfield') field.setStorage(dummy, AttributeStorage()) self.assertTrue(hasattr(dummy, 'atextfield')) field.setStorage(dummy, MetadataStorage()) self.assertFalse(hasattr(dummy, 'atextfield')) self.assertTrue('atextfield' in dummy._md) field.setStorage(dummy, AttributeStorage()) self.assertTrue('atextfield' not in dummy._md) self.assertTrue(hasattr(dummy, 'atextfield'))