Esempio n. 1
0
    def xtest_text_key_custom_03(self):
        doc = Elem()

        doc.a = 1
        doc.a.b = 2
        doc.a.b.c = 3
        doc.a.b.c.d = 4
        doc.a.b.c.d.e = 5

        # Integer rather than text
        text_key = 123

        expected = {'a': {'b': {'c': {'d': {text_key: 4, 'e': 5}, text_key: 3}, text_key: 2}, text_key: 1}}
        out = doc.to_dict(text_key)
        self.assertDictEqual(expected, out)

        expected = {'a': {'b': {'c': {'d': {'e': 5, text_key: 4}, text_key: 3}, text_key: 2}, text_key: 1}}
        out = doc.a.to_dict(text_key)
        self.assertDictEqual(expected, out)

        expected = {'b': {'c': {text_key: 3, 'd': {'e': 5, text_key: 4}}, text_key: 2}}
        out = doc.a.b.to_dict(text_key)
        self.assertDictEqual(expected, out)

        expected = {'c': {'d': {'e': 5, text_key: 4}, text_key: 3}}
        out = doc.a.b.c.to_dict(text_key)
        self.assertDictEqual(expected, out)

        expected = {'d': {text_key: 4, 'e': 5}}
        out = doc.a.b.c.d.to_dict(text_key)
        self.assertDictEqual(expected, out)

        expected = {'e': 5}
        out = doc.a.b.c.d.e.to_dict(text_key)
        self.assertDictEqual(expected, out)
Esempio n. 2
0
    def xtest_nested_basic_06(self):
        doc = Elem()

        doc.a = 1
        doc.a.bb = 2
        doc.a.b.cc = 3
        doc.a.b.c.dd = 4
        doc.a.b.c.d.e = 5
        doc.a.b.c.d.ee = 6

        out = bunchify(doc.to_dict())

        self.assertEquals(out.a.text, 1)
        self.assertEquals(getattr(out.a.b, 'text', does_not_exist), does_not_exist)
        self.assertEquals(out.a.bb, 2)
        self.assertEquals(out.a.b.cc, 3)
        self.assertEquals(out.a.b.c.dd, 4)
        self.assertEquals(out.a.b.c.d.e, 5)
        self.assertEquals(out.a.b.c.d.ee, 6)

        out = bunchify(doc.a.to_dict())

        self.assertEquals(out.a.text, 1)
        self.assertEquals(getattr(out.a.b, 'text', does_not_exist), does_not_exist)
        self.assertEquals(out.a.bb, 2)
        self.assertEquals(out.a.b.cc, 3)
        self.assertEquals(out.a.b.c.dd, 4)
        self.assertEquals(out.a.b.c.d.e, 5)
        self.assertEquals(out.a.b.c.d.ee, 6)
Esempio n. 3
0
    def xtest_text_key_default(self):
        doc = Elem()

        doc.a = 1
        doc.a.b = 2
        doc.a.b.c = 3
        doc.a.b.c.d = 4
        doc.a.b.c.d.e = 5

        expected = {'a': {'b': {'c': {'d': {'text': 4, 'e': 5}, 'text': 3}, 'text': 2}, 'text': 1}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {'b': {'c': {'d': {'e': 5, 'text': 4}, 'text': 3}, 'text': 2}, 'text': 1}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'b': {'c': {'text': 3, 'd': {'e': 5, 'text': 4}}, 'text': 2}}
        out = doc.a.b.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'c': {'d': {'e': 5, 'text': 4}, 'text': 3}}
        out = doc.a.b.c.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'d': {'text': 4, 'e': 5}}
        out = doc.a.b.c.d.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'e': 5}
        out = doc.a.b.c.d.e.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 4
0
    def xtest_attr_prefix_custom_len1(self):
        doc = Elem()
        doc.a = 123
        doc.a._b = 456

        expected = {'a': {'%b': 456, u'text': 123}}
        out = doc.to_dict(attr_prefix='%')
        self.assertDictEqual(expected, out)
Esempio n. 5
0
    def xtest_top_level_elems_no_ns(self):
        doc = Elem()

        doc.a = 'a'
        doc.b = 'b'

        expected = {'a':'a', 'b':'b'}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 6
0
    def xtest_nested_basic_03(self):
        doc = Elem()

        doc.a = 1
        doc.a.bb = 2
        doc.a.b.c = 3
        doc.a.b.c.d = 4
        doc.a.b.c.d.e = 5

        out = bunchify(doc.to_dict())

        self.assertEquals(out.a.text, 1)
        self.assertEquals(getattr(out.a.b, 'text', does_not_exist), does_not_exist)
        self.assertEquals(out.a.bb, 2)
        self.assertEquals(out.a.b.c.text, 3)
        self.assertEquals(out.a.b.c.d.text, 4)
        self.assertEquals(out.a.b.c.d.e, 5)

        out = bunchify(doc.a.to_dict())

        self.assertEquals(out.a.text, 1)
        self.assertEquals(out.a.bb, 2)
        self.assertEquals(out.a.b.c.text, 3)
        self.assertEquals(out.a.b.c.d.text, 4)
        self.assertEquals(out.a.b.c.d.e, 5)

        out = bunchify(doc.a.bb.to_dict())

        self.assertEquals(out.bb, 2)
        expected = {'bb': 2}
        self.assertDictEqual(expected, out)

        out = bunchify(doc.a.b.to_dict())

        self.assertEquals(getattr(out.b, 'text', does_not_exist), does_not_exist)
        self.assertEquals(out.b.c.text, 3)
        self.assertEquals(out.b.c.d.text, 4)
        self.assertEquals(out.b.c.d.e, 5)

        out = bunchify(doc.a.b.c.to_dict())

        self.assertEquals(out.c.text, 3)
        self.assertEquals(out.c.d.text, 4)
        self.assertEquals(out.c.d.e, 5)

        out = bunchify(doc.a.b.c.d.to_dict())

        self.assertEquals(out.d.text, 4)
        self.assertEquals(out.d.e, 5)
        expected = {'d': {'e': 5, 'text': 4}}
        self.assertDictEqual(expected, out)

        out = bunchify(doc.a.b.c.d.e.to_dict())

        self.assertEquals(out.e, 5)
        expected = {'e': 5}
        self.assertDictEqual(expected, out)
Esempio n. 7
0
    def xtest_attr_prefix_default(self):
        doc = Elem()

        doc.a = 123
        doc.a._b = 456

        expected = {'a': {'#b': 456, u'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 8
0
    def xtest_simple_03(self):
        doc = Elem()

        doc.a = 123
        doc.a._b = 456

        expected = {'a': {'#b': 456, u'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 9
0
    def xtest_ns_elems_default(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.x_b = 456

        expected = {'a': 123, 'b': 456}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 10
0
    def xtest_ns_attrs_default_simple(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.a._x_b = 456

        expected = {'a': {'#b': 456, 'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 11
0
    def xtest_ns_attrs_include_ns_true_nested(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.a.q._x_b = 456

        expected = {'a': {'q': {'#x_b': 456}, 'text': 123}}
        out = doc.to_dict(include_ns=True)
        self.assertDictEqual(expected, out)
Esempio n. 12
0
    def xtest_ns_elems_include_ns_true(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.x_b = 456

        expected = {'a': 123, 'x_b': 456}
        out = doc.to_dict(include_ns=True)
        self.assertDictEqual(expected, out)
Esempio n. 13
0
    def test_sub1(self):
        doc1 = Elem()
        doc2 = Elem()

        doc2.b = 123
        doc1.a = doc2

        expected = {'a': {'b': 123}}
        out = doc1.to_dict()

        self.assertDictEqual(expected, out)
Esempio n. 14
0
    def xtest_ns_elems_attrs_ns_true(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.a.x_b = 456
        doc.a._x_b = 789

        expected = {'a': {'#x_b': 789, 'text': 123, 'x_b': 456}}
        out = doc.to_dict(include_ns=True)
        self.assertDictEqual(expected, out)
Esempio n. 15
0
    def xtest_ns_elems_attrs_default_nested(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 123
        doc.a.q.x_b = 456
        doc.a.q._x_b = 789

        expected = {'a': {'q': {'b': 456, '#b': 789}, 'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 16
0
    def xtest_top_level_attrs_elems_attrs_no_ns(self):
        doc = Elem()

        doc.a = 'a'
        doc.b = 'b'

        doc._a = 'a2'
        doc._b = 'b2'

        expected = {'a':'a', 'b':'b', '#a':'a2', '#b':'b2'}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 17
0
    def xtest_top_level_mixed_all_types(self):
        doc = Elem()

        doc.a = 'a-value'
        doc.b[0] = 'b0-value'
        doc.b[1] = 'b1-value'
        doc.b[1].c[0].d = 'd-value'

        expected = {'a': 'a-value', 'b': ['b0-value', {'c': [{'d': 'd-value'}], 'text': 'b1-value'}]}
        out = doc.to_dict()

        self.assertDictEqual(expected, out)
Esempio n. 18
0
    def xtest_simple_01(self):
        doc = Elem()

        doc.a = 123

        expected = {'a': 123}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': 123}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 19
0
    def xtest_top_level_elems_ns(self):
        doc = Elem()
        doc.ns_map += {'x':'example.com/1'}

        doc.a = 'a'
        doc.b = 'b'

        doc.x_a = 'a2'
        doc.x_b = 'b2'

        expected = {'a':'a', 'b':'b', 'x_a':'a2', 'x_b':'b2'}
        out = doc.to_dict(include_ns=True)
        self.assertDictEqual(expected, out)
Esempio n. 20
0
    def xtest_simple_07(self):
        doc = Elem()

        doc.a = 123
        doc.a._b

        expected = {'a': {'#b': None, 'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {'#b': None, 'text': 123}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 21
0
    def xtest_simple_06(self):
        doc = Elem()

        doc.a = 123
        doc.a.b

        expected = {'a': {u'text': 123, 'b': None}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {u'text': 123, 'b': None}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'b':None}
        out = doc.a.b.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 22
0
    def xtest_simple_02(self):
        doc = Elem()

        doc.a = 123
        doc.a.b = 456

        expected = {'a': {'text':123, 'b':456}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {'text':123, 'b':456}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'b':456}
        out = doc.a.b.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 23
0
    def xtest_simple_10(self):
        doc = Elem()

        doc.a = 123
        doc.a.b
        doc.a._b = 789

        expected = {'a': {'#b': 789, 'b': None, 'text': 123}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {'#b': 789, 'b': None, 'text': 123}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'b': None}
        out = doc.a.b.to_dict()
        self.assertDictEqual(expected, out)
Esempio n. 24
0
    def xtest_simple_04(self):
        doc = Elem()

        doc.a = 123
        doc.a.b = 456
        doc.a._b = 789

        expected = {'a': {u'text': 123, 'b': 456, '#b': 789}}
        out = doc.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'a': {u'text': 123, 'b': 456, '#b': 789}}
        out = doc.a.to_dict()
        self.assertDictEqual(expected, out)

        expected = {'b':456}
        out = doc.a.b.to_dict()
        self.assertDictEqual(expected, out)