diff options
author | pab <bigot@acm.org> | 2009-09-06 15:53:19 -0700 |
---|---|---|
committer | pab <bigot@acm.org> | 2009-09-06 15:53:19 -0700 |
commit | f4268c525286a7146945392d4f67c45a8675a81f (patch) | |
tree | e768b88030308ef50a8a761b7315bdbf0b9c9265 /tests | |
parent | 467511c344998390487277ad0541dae42a0b88f9 (diff) |
Raise exception on attempt to assign over reserved symbols
Diffstat (limited to 'tests')
-rw-r--r-- | tests/trac/test-trac-0051.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/trac/test-trac-0051.py b/tests/trac/test-trac-0051.py new file mode 100644 index 0000000..bde8d57 --- /dev/null +++ b/tests/trac/test-trac-0051.py @@ -0,0 +1,46 @@ +import pyxb.binding.generate +import pyxb.binding.datatypes as xs +import pyxb.binding.basis +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"> +<xs:element name="testElt"> + <xs:complexType> + <xs:sequence> + <xs:element name="content" type="xs:string"/> + </xs:sequence> + </xs:complexType> +</xs:element> +</xs:schema>''' + +#file('schema.xsd', 'w').write(xsd) +code = pyxb.binding.generate.GeneratePython(schema_text=xsd) +#file('code.py', 'w').write(code) +#print code + +rv = compile(code, 'test', 'exec') +eval(rv) + +from pyxb.exceptions_ import * + +import unittest + +class TestTrac_0051 (unittest.TestCase): + def __setContent (self, e, v): + e.content = v + + def __setToXML (self, e, v): + e.toxml = v + + def testElement (self): + e = testElt('hello') + self.assertEqual('hello', e.content_) + e.content_ = 'goodbye' + self.assertEqual('goodbye', e.content_) + self.assertRaises(pyxb.BindingError, self.__setContent, e, 'invalid') + self.assertRaises(pyxb.BindingError, self.__setToXML, e, 32) + +if __name__ == '__main__': + unittest.main() |