import unittest import vdebug.dbgp import xml.etree.ElementTree as ET class EvalPropertyTest(unittest.TestCase): def __get_eval_property(self,xml_string,code,lang): xml = ET.fromstring(xml_string) firstnode = xml[0] return vdebug.dbgp.EvalProperty(firstnode,code,lang) def test_numeric_keys(self): prop = self.__get_eval_property(\ """ """, '$testarr', 'php') self.assertEqual(prop.display_name,'$testarr') self.assertEqual(prop.value,'') self.assertEqual(prop.type,'array') self.assertEqual(prop.depth,0) self.assertTrue(prop.has_children) self.assertEqual(prop.child_count(),2) self.assertEqual(prop.children[0].type,'array') self.assertEqual(prop.children[0].display_name,'$testarr[0]') self.assertEqual(prop.children[1].type,'array') self.assertEqual(prop.children[1].display_name,"$testarr['key']") def test_non_unicode_value(self): prop = self.__get_eval_property(\ """ """, '$value', 'php') self.assertEqual(prop.display_name,'$value') self.assertEqual(len(prop.value),94) self.assertEqual(prop.type,'string')