summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorpab <bigot@acm.org>2009-09-06 15:53:19 -0700
committerpab <bigot@acm.org>2009-09-06 15:53:19 -0700
commitf4268c525286a7146945392d4f67c45a8675a81f (patch)
treee768b88030308ef50a8a761b7315bdbf0b9c9265 /tests
parent467511c344998390487277ad0541dae42a0b88f9 (diff)
Raise exception on attempt to assign over reserved symbols
Diffstat (limited to 'tests')
-rw-r--r--tests/trac/test-trac-0051.py46
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()