def test_export_with_dict(self): xml = """\ <registry> <record name="test.export.dict"> <field type="plone.registry.field.Dict"> <default /> <key_type type="plone.registry.field.ASCIILine"> <title>Key</title> </key_type> <title>Dict</title> <value_type type="plone.registry.field.Int"> <title>Value</title> </value_type> </field> <value> <element key="a">1</element> </value> </record> </registry>""" self.registry.records['test.export.dict'] = \ Record(field.Dict(title=u"Dict", default={}, key_type=field.ASCIILine(title=u"Key"), value_type=field.Int(title=u"Value")), value={'a': 1}) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_field_ref(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> <record name="test.export.simple.override"> <field ref="test.export.simple" /> <value>Another value</value> </record> </registry>""" self.registry.records['test.export.simple'] = refRecord = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") self.registry.records['test.export.simple.override'] = \ Record(FieldRef(refRecord.__name__, refRecord.field), value=u"Another value") context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_collection(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.List"> <title>Simple record</title> <value_type type="plone.registry.field.Int"> <title>Val</title> </value_type> </field> <value> <element>2</element> </value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.List(title=u"Simple record", value_type=field.Int(title=u"Val")), value=[2]) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_dict(self): xml = """\ <registry> <record name="test.export.dict"> <field type="plone.registry.field.Dict"> <default /> <key_type type="plone.registry.field.ASCIILine"> <title>Key</title> </key_type> <title>Dict</title> <value_type type="plone.registry.field.Int"> <title>Value</title> </value_type> </field> <value> <element key="a">1</element> </value> </record> </registry>""" self.registry.records['test.export.dict'] = \ Record(field.Dict(title=u"Dict", default={}, key_type=field.ASCIILine(title=u"Key"), value_type=field.Int(title=u"Value")), value={'a': 1}) context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_missing_schema_does_not_error(self): xml = """\ <registry> <record name="test.export.simple" interface="non.existant.ISchema" field="blah"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") # Note: These are nominally read-only! self.registry.records['test.export.simple'].field.interfaceName = 'non.existant.ISchema' self.registry.records['test.export.simple'].field.fieldName = 'blah' alsoProvides(self.registry.records['test.export.simple'], IInterfaceAwareRecord) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_missing_schema_does_not_error(self): xml = """\ <registry> <record name="test.export.simple" interface="non.existant.ISchema" field="blah"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = Record( field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value" ) # Note: These are nominally read-only! self.registry.records['test.export.simple'].field.interfaceName = 'non.existant.ISchema' # noqa self.registry.records['test.export.simple'].field.fieldName = 'blah' alsoProvides( self.registry.records['test.export.simple'], IInterfaceAwareRecord ) context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_field_ref(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> <record name="test.export.simple.override"> <field ref="test.export.simple" /> <value>Another value</value> </record> </registry>""" self.registry.records['test.export.simple'] = refRecord = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") self.registry.records['test.export.simple.override'] = \ Record(FieldRef(refRecord.__name__, refRecord.field), value=u"Another value") context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_collection(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.List"> <title>Simple record</title> <value_type type="plone.registry.field.Int"> <title>Val</title> </value_type> </field> <value> <element>2</element> </value> </record> </registry>""" self.registry.records['test.export.simple'] = Record( field.List( title=u"Simple record", value_type=field.Int(title=u"Val") ), value=[2] ) context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_empty(self): xml = """<registry />""" context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_empty(self): xml = """<registry />""" context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_choice(self): xml = """\ <registry> <record name="test.export.choice"> <field type="plone.registry.field.Choice"> <title>Simple record</title> <vocabulary>dummy.vocab</vocabulary> </field> <value /> </record> </registry>""" self.registry.records['test.export.choice'] = \ Record(field.Choice(title=u"Simple record", vocabulary=u"dummy.vocab")) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_choice(self): xml = """\ <registry> <record name="test.export.choice"> <field type="plone.registry.field.Choice"> <title>Simple record</title> <vocabulary>dummy.vocab</vocabulary> </field> <value /> </record> </registry>""" self.registry.records['test.export.choice'] = Record( field.Choice(title=u"Simple record", vocabulary=u"dummy.vocab")) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_simple(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_simple(self): xml = """\ <registry> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_interface(self): xml = """\ <registry> <record name="plone.app.registry.tests.data.ITestSettings.age" interface="plone.app.registry.tests.data.ITestSettings" field="age"> <field type="plone.registry.field.Int"> <min>0</min> <title>Age</title> </field> <value /> </record> <record name="plone.app.registry.tests.data.ITestSettings.name" interface="plone.app.registry.tests.data.ITestSettings" field="name"> <field type="plone.registry.field.TextLine"> <default>Mr. Registry</default> <title>Name</title> </field> <value>Mr. Registry</value> </record> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") self.registry.registerInterface(data.ITestSettings) context = DummyExportContext(self.site) exportRegistry(context) self.assertEquals('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])
def test_export_with_interface(self): xml = """\ <registry> <record name="plone.app.registry.tests.data.ITestSettings.age" interface="plone.app.registry.tests.data.ITestSettings" field="age"> <field type="plone.registry.field.Int"> <min>0</min> <title>Age</title> </field> <value /> </record> <record name="plone.app.registry.tests.data.ITestSettings.name" interface="plone.app.registry.tests.data.ITestSettings" field="name"> <field type="plone.registry.field.TextLine"> <default>Mr. Registry</default> <title>Name</title> </field> <value>Mr. Registry</value> </record> <record name="test.export.simple"> <field type="plone.registry.field.TextLine"> <default>N/A</default> <title>Simple record</title> </field> <value>Sample value</value> </record> </registry>""" self.registry.records['test.export.simple'] = \ Record(field.TextLine(title=u"Simple record", default=u"N/A"), value=u"Sample value") self.registry.registerInterface(data.ITestSettings) context = DummyExportContext(self.site) exportRegistry(context) self.assertEqual('registry.xml', context._wrote[0][0]) self.assertXmlEquals(xml, context._wrote[0][1])