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')