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), ())
예제 #2
0
    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')
예제 #3
0
 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))
예제 #4
0
 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))
예제 #5
0
 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())
예제 #6
0
 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'))