Commit 25dcd70c authored by Jérome Perrin's avatar Jérome Perrin

testDynamicClassGeneration WIP

parent e62f9e63
...@@ -2819,8 +2819,8 @@ class TestWithImport(TestImported): ...@@ -2819,8 +2819,8 @@ class TestWithImport(TestImported):
from ITestGC import ITestGC from ITestGC import ITestGC
import zope.interface import zope.interface
@zope.interface.implementer(ITestGC)
class TestGC(XMLObject): class TestGC(XMLObject):
zope.interface.implements(ITestGC)
def foo(self): def foo(self):
pass pass
""") """)
...@@ -2939,11 +2939,11 @@ from erp5.component.document.Person import Person ...@@ -2939,11 +2939,11 @@ from erp5.component.document.Person import Person
from ITestPortalType import ITestPortalType from ITestPortalType import ITestPortalType
import zope.interface import zope.interface
zope.interface.implementer(ITestPortalType)
class TestPortalType(Person): class TestPortalType(Person):
def test42(self): def test42(self):
return 42 return 42
zope.interface.implements(ITestPortalType)
def foo(self): def foo(self):
pass pass
""") """)
...@@ -3135,7 +3135,7 @@ InitializeClass(%(class_name)s) ...@@ -3135,7 +3135,7 @@ InitializeClass(%(class_name)s)
'%s/manage_addProduct/ERP5/manage_addToolForm' % self.portal.getPath(), '%s/manage_addProduct/ERP5/manage_addToolForm' % self.portal.getPath(),
'ERP5TypeTestCase:') 'ERP5TypeTestCase:')
self.assertEqual(response.getStatus(), 200) self.assertEqual(response.getStatus(), 200)
self.assertNotIn('ERP5 Test Hook After Load Tool', response.getBody()) self.assertNotIn(b'ERP5 Test Hook After Load Tool', response.getBody())
component.validate() component.validate()
self.tic() self.tic()
...@@ -3147,7 +3147,7 @@ InitializeClass(%(class_name)s) ...@@ -3147,7 +3147,7 @@ InitializeClass(%(class_name)s)
'%s/manage_addProduct/ERP5/manage_addToolForm' % self.portal.getPath(), '%s/manage_addProduct/ERP5/manage_addToolForm' % self.portal.getPath(),
'ERP5TypeTestCase:') 'ERP5TypeTestCase:')
self.assertEqual(response.getStatus(), 200) self.assertEqual(response.getStatus(), 200)
self.assertIn('ERP5 Test Hook After Load Tool', response.getBody()) self.assertIn(b'ERP5 Test Hook After Load Tool', response.getBody())
from Products.ERP5Type.Core.TestComponent import TestComponent from Products.ERP5Type.Core.TestComponent import TestComponent
...@@ -3371,9 +3371,9 @@ ImportError: No module named non.existing.module ...@@ -3371,9 +3371,9 @@ ImportError: No module named non.existing.module
name = self._testMethodName name = self._testMethodName
types_tool = self.portal.portal_types types_tool = self.portal.portal_types
ptype = types_tool.newContent(name, type_class="File", portal_type='Base Type') ptype = types_tool.newContent(name, type_class="File", portal_type='Base Type')
file = ptype.constructInstance(self.portal, name, data="foo") file = ptype.constructInstance(self.portal, name, data=b"foo")
file_uid = file.getUid() file_uid = file.getUid()
self.assertEqual(file.size, len("foo")) self.assertEqual(file.size, len(b"foo"))
self.commit() self.commit()
try: try:
self.portal._p_jar.cacheMinimize() self.portal._p_jar.cacheMinimize()
...@@ -3389,7 +3389,7 @@ ImportError: No module named non.existing.module ...@@ -3389,7 +3389,7 @@ ImportError: No module named non.existing.module
# Check that the class is unghosted before resolving __setattr__ # Check that the class is unghosted before resolving __setattr__
self.assertRaises(BrokenModified, setattr, file, "size", 0) self.assertRaises(BrokenModified, setattr, file, "size", 0)
self.assertIsInstance(file, ERP5BaseBroken) self.assertIsInstance(file, ERP5BaseBroken)
self.assertEqual(file.size, len("foo")) self.assertEqual(file.size, len(b"foo"))
# Now if we repair the portal type definition, instances will # Now if we repair the portal type definition, instances will
# no longer be broken and be modifiable again. # no longer be broken and be modifiable again.
...@@ -3399,9 +3399,9 @@ ImportError: No module named non.existing.module ...@@ -3399,9 +3399,9 @@ ImportError: No module named non.existing.module
file = self.portal[name] file = self.portal[name]
self.assertNotIsInstance(file, ERP5BaseBroken) self.assertNotIsInstance(file, ERP5BaseBroken)
self.assertEqual(file.getUid(), file_uid) self.assertEqual(file.getUid(), file_uid)
self.assertEqual(file.getData(), "foo") self.assertEqual(file.getData(), b"foo")
file.setData("something else") file.setData(b"something else")
self.assertEqual(file.getData(), "something else") self.assertEqual(file.getData(), b"something else")
self.assertNotIn("__Broken_state__", file.__dict__) self.assertNotIn("__Broken_state__", file.__dict__)
finally: finally:
self.portal._delObject(name) self.portal._delObject(name)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment