示例#1
0
    def test_should_return_list_of_elements(self):

        element = XmlElement(
            {'root': {
                'child': [{
                    'name': 'John'
                }, {
                    'name': 'Mary'
                }]
            }})

        child1, child2 = element.get('/root/child')

        self.assertIsInstance(child1, XmlElement)
        self.assertIsInstance(child2, XmlElement)

        self.assertDictEqual({'name': 'John'}, child1.value)
        self.assertDictEqual({'name': 'Mary'}, child2.value)
示例#2
0
 def test_should_wrap_single_element(self):
     element = XmlElement({'element': 'value'})
     self.assertEqual('value', element.get('/element'))
     self.assertListEqual(['value'], element.get_list('/element'))
示例#3
0
 def test_should_ignore_leading_and_trailing_slash(self):
     element = XmlElement({'root': {'child': {'child': 'value'}}})
     self.assertEqual('value', element.get('root/child/child/'))
示例#4
0
 def test_should_return_none_on_wrong_xpath(self):
     element = XmlElement({'root': {'child': {'child': 'value'}}})
     self.assertIsNone(element.get('/no/such/@element'))
示例#5
0
 def test_should_get_child_recursively(self):
     element = XmlElement({'root': {'child': {'child': 'value'}}})
     self.assertEqual('value', element.get('/root/child/child'))