[Lxml-checkins] r46229 - lxml/trunk/src/lxml/tests

scoder at codespeak.net scoder at codespeak.net
Fri Aug 31 21:49:30 CEST 2007


Author: scoder
Date: Fri Aug 31 21:49:29 2007
New Revision: 46229

Modified:
   lxml/trunk/src/lxml/tests/test_objectify.py
Log:
some more test cases for objectify

Modified: lxml/trunk/src/lxml/tests/test_objectify.py
==============================================================================
--- lxml/trunk/src/lxml/tests/test_objectify.py	(original)
+++ lxml/trunk/src/lxml/tests/test_objectify.py	Fri Aug 31 21:49:29 2007
@@ -560,36 +560,60 @@
         Element = self.Element
         SubElement = self.etree.SubElement
         root = Element("{objectified}root")
-        root.none = "test"
-        self.assert_(isinstance(root.none, objectify.StringElement))
+        root.s = "test"
+        self.assert_(isinstance(root.s, objectify.StringElement))
+
+    def test_type_str_intliteral(self):
+        Element = self.Element
+        SubElement = self.etree.SubElement
+        root = Element("{objectified}root")
+        root.s = "3"
+        self.assert_(isinstance(root.s, objectify.StringElement))
+
+    def test_type_str_floatliteral(self):
+        Element = self.Element
+        SubElement = self.etree.SubElement
+        root = Element("{objectified}root")
+        root.s = "3.72"
+        self.assert_(isinstance(root.s, objectify.StringElement))
 
     def test_type_str_mul(self):
         Element = self.Element
         SubElement = self.etree.SubElement
         root = Element("{objectified}root")
-        root.none = "test"
+        root.s = "test"
 
-        self.assertEquals("test" * 5, root.none * 5)
-        self.assertEquals(5 * "test", 5 * root.none)
+        self.assertEquals("test" * 5, root.s * 5)
+        self.assertEquals(5 * "test", 5 * root.s)
 
-        self.assertRaises(TypeError, operator.mul, root.none, "honk")
-        self.assertRaises(TypeError, operator.mul, "honk", root.none)
+        self.assertRaises(TypeError, operator.mul, root.s, "honk")
+        self.assertRaises(TypeError, operator.mul, "honk", root.s)
 
     def test_type_str_add(self):
         Element = self.Element
         SubElement = self.etree.SubElement
         root = Element("{objectified}root")
-        root.none = "test"
+        root.s = "test"
 
         s = "toast"
-        self.assertEquals("test" + s, root.none + s)
-        self.assertEquals(s + "test", s + root.none)
+        self.assertEquals("test" + s, root.s + s)
+        self.assertEquals(s + "test", s + root.s)
 
     def test_data_element_str(self):
         value = objectify.DataElement("test")
         self.assert_(isinstance(value, objectify.StringElement))
         self.assertEquals(value, "test")
 
+    def test_data_element_str_intliteral(self):
+        value = objectify.DataElement("3")
+        self.assert_(isinstance(value, objectify.StringElement))
+        self.assertEquals(value, "3")
+
+    def test_data_element_str_floatliteral(self):
+        value = objectify.DataElement("3.20")
+        self.assert_(isinstance(value, objectify.StringElement))
+        self.assertEquals(value, "3.20")
+
     def test_type_int(self):
         Element = self.Element
         SubElement = self.etree.SubElement
@@ -669,19 +693,25 @@
                      % (pyval, pytype, type(value), objclass))
         self.assertEquals(value.text, None)
         self.assertEquals(value.pyval, None)
-            
-    def test_data_element_pytype_none_compat(self):
-        # pre-2.0 lxml called NoneElement "none"
-        pyval = 1
-        pytype = "none"
-        objclass = objectify.NoneElement
-        value = objectify.DataElement(pyval, _pytype=pytype)
-        self.assert_(isinstance(value, objclass),
-                     "DataElement(%s, _pytype='%s') returns %s, expected %s"
-                     % (pyval, pytype, type(value), objclass))
-        self.assertEquals(value.text, None)
-        self.assertEquals(value.pyval, None)
-            
+
+    def test_type_unregistered(self):
+        Element = self.Element
+        SubElement = self.etree.SubElement
+        class MyFloat(float):
+            pass
+        root = Element("{objectified}root")
+        root.myfloat = MyFloat(5.5)
+        self.assert_(isinstance(root.myfloat, objectify.FloatElement))
+        self.assertEquals(root.myfloat.get(objectify.PYTYPE_ATTRIBUTE), None)
+
+    def test_data_element_unregistered(self):
+        class MyFloat(float):
+            pass
+        value = objectify.DataElement(MyFloat(5.5))
+        self.assert_(isinstance(value, objectify.FloatElement))
+        self.assertEquals(value, 5.5)
+        self.assertEquals(value.get(objectify.PYTYPE_ATTRIBUTE), None)
+
     def test_schema_types(self):
         XML = self.XML
         root = XML('''\


More information about the lxml-checkins mailing list