diff options
author | pab <bigot@acm.org> | 2010-01-27 20:18:21 -0700 |
---|---|---|
committer | pab <bigot@acm.org> | 2010-01-27 20:18:21 -0700 |
commit | 4126439fadd06029a997aff2b297f113b31efe9c (patch) | |
tree | 7c3898022ed1ce7213279c82a48c0fdf901d53a8 /tests | |
parent | 7b95f52e4f30fad379f250cbb43f7980e9c645a2 (diff) |
Clean up, isolating problem to lack of conversion of pyxb.BIND
Diffstat (limited to 'tests')
-rw-r--r-- | tests/trac/test-trac-0071.py | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/tests/trac/test-trac-0071.py b/tests/trac/test-trac-0071.py index bb42f52..b66af96 100644 --- a/tests/trac/test-trac-0071.py +++ b/tests/trac/test-trac-0071.py @@ -5,7 +5,7 @@ import pyxb.utils.domutils import os.path xsd='''<?xml version="1.0" encoding="UTF-8"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="validnamespaceprovider" targetNamespace="validnamespaceprovider"> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:trac-0071" targetNamespace="urn:trac-0071"> <xs:element name="MetadataDocument" type="tns:MetadataType"/> <xs:complexType name="MetadataType"> <xs:sequence maxOccurs="1" minOccurs="1"> @@ -62,26 +62,62 @@ class TestTrac_0071 (unittest.TestCase): timespan_type = timespan_element.typeDefinition() field_element = timespan_type._ElementMap['field'].elementBinding() field_type = field_element.typeDefinition() + value_element = field_type._ElementMap['value'].elementBinding() + value_type = value_element.typeDefinition() newdoc.template = 'anewtemplate' + field = field_type('title', pyxb.BIND('foo', lang='ENG'), _element=field_element) + self.assertTrue(isinstance(field.value_, list)) + self.assertEqual(1, len(field.value_)) + self.assertTrue(isinstance(field.value_[0], value_type)) field.validateBinding() - print field.value_ - print field.toxml() - field = field_type(title='title', _element=field_element) - print type(field.value_) + self.assertEqual('<field><name>title</name><value lang="ENG">foo</value></field>', field.toxml(root_only=True)) + + field = field_type(name='title', _element=field_element) field.value_.append(pyxb.BIND('foo', lang='ENG')) + self.assertTrue(isinstance(field.value_, list)) + self.assertEqual(1, len(field.value_)) + self.assertTrue(isinstance(field.value_[0], pyxb.BIND)) field.validateBinding() - print field.toxml() + self.assertTrue(isinstance(field.value_[0], pyxb.BIND)) + self.assertEqual('<field><name>title</name><value lang="ENG">foo</value></field>', field.toxml(root_only=True)) + newdoc.timespan.append(pyxb.BIND( # Single timespan pyxb.BIND( # First field instance 'title', pyxb.BIND('foo', lang='ENG') ), start='-INF', end='+INF')) + newdoc.validateBinding() timespan = newdoc.timespan[0] - self.assertTrue(isinstance(timespan, timespan_type)) - print timespan.toxml() + #self.assertTrue(isinstance(timespan, timespan_type)) + print newdoc.toxml() + newdoc.timespan[:] = [] + newdoc.timespan.append(pyxb.BIND( # Single timespan + pyxb.BIND( # First field instance + name='title', + value=pyxb.BIND('foo', lang='ENG') + ), + start='-INF', end='+INF')) + newdoc.validateBinding() + timespan = newdoc.timespan[0] + #self.assertTrue(isinstance(timespan, timespan_type)) + print newdoc.toxml() + newdoc.timespan[:] = [] + + newdoc.timespan.append(pyxb.BIND( # Single timespan + pyxb.BIND( # First field instance + name='title', + value_=pyxb.BIND('foo', lang='ENG') + ), + start='-INF', end='+INF')) + newdoc.validateBinding() + timespan = newdoc.timespan[0] + #self.assertTrue(isinstance(timespan, timespan_type)) + print newdoc.toxml() + newdoc.timespan[:] = [] + if __name__ == '__main__': unittest.main() |