Beispiel #1
0
    def test_label_with_string_model(self):
        with self.application():
            m = model.Model('<tag>')
            c = basic.Label('a', m)
            self.assert_is(c.model, m)

            elem = c.render(markup.Element(None))
            self.assert_equal(elem.attrib, {})
            self.assert_equal(elem.children, ['&lt;tag&gt;'])
Beispiel #2
0
    def test_label_with_object_model(self):
        with self.application():
            m = model.Model([])
            c = basic.Label('a', m)
            self.assert_is(c.model, m)

            elem = c.render(markup.Element(None))
            self.assert_equal(elem.attrib, {})
            self.assert_equal(elem.children, ['[]'])
Beispiel #3
0
    def test_list_view_error(self):
        root = markup.Element(self.of('root'), attrib={markup.AYAME_ID: 'b'})
        label = markup.Element(self.of('label'), attrib={markup.AYAME_ID: 'c'})
        root.append(label)
        mc = ayame.MarkupContainer('a')
        m = model.Model([str(i) for i in five.range(3)])
        mc.add(basic.ListView('b', m, None))

        with self.assert_raises_regex(ayame.ComponentError,
                                      r"\bcomponent .* 'c' .* not found\b"):
            mc.render(root)
Beispiel #4
0
    def test_list_view_empty_model(self):
        def populate_item(li):
            li.add(basic.Label('c', li.model.object))

        root = markup.Element(self.of('root'), attrib={markup.AYAME_ID: 'b'})
        label = markup.Element(self.of('label'), attrib={markup.AYAME_ID: 'c'})
        root.append(label)
        mc = ayame.MarkupContainer('a')
        m = model.Model(None)
        mc.add(basic.ListView('b', m, populate_item))

        root = mc.render(root)
        self.assert_equal(root.qname, self.of('root'))
        self.assert_equal(root.attrib, {})
        self.assert_equal(root.children, [])
Beispiel #5
0
    def test_list_view(self):
        def populate_item(li):
            li.add(basic.Label('c', li.model.object))

        root = markup.Element(self.of('root'), attrib={markup.AYAME_ID: 'b'})
        label = markup.Element(self.of('label'), attrib={markup.AYAME_ID: 'c'})
        root.append(label)
        mc = ayame.MarkupContainer('a')
        m = model.Model([str(i) for i in five.range(3)])
        mc.add(basic.ListView('b', m, populate_item))

        root = mc.render(root)
        self.assert_equal(root.qname, self.of('root'))
        self.assert_equal(root.attrib, {})
        self.assert_equal(len(root), 3)

        label = root[0]
        self.assert_equal(label.qname, self.of('label'))
        self.assert_equal(label.attrib, {})
        self.assert_equal(label.children, ['0'])

        label = root[1]
        self.assert_equal(label.qname, self.of('label'))
        self.assert_equal(label.attrib, {})
        self.assert_equal(label.children, ['1'])

        label = root[2]
        self.assert_equal(label.qname, self.of('label'))
        self.assert_equal(label.attrib, {})
        self.assert_equal(label.children, ['2'])

        self.assert_equal(len(mc.children), 1)
        lv = mc.children[0]
        self.assert_equal(len(lv.children), 3)
        self.assert_equal(lv.children[0].index, 0)
        self.assert_equal(lv.children[1].index, 1)
        self.assert_equal(lv.children[2].index, 2)

        self.assert_is_instance(lv.children[0].model, basic._ListItemModel)
        self.assert_is_instance(lv.children[1].model, basic._ListItemModel)
        self.assert_is_instance(lv.children[2].model, basic._ListItemModel)
        lv.children[0].model.object = 10
        lv.children[1].model.object = 11
        lv.children[2].model.object = 12
        self.assert_equal(lv.children[0].model.object, 10)
        self.assert_equal(lv.children[1].model.object, 11)
        self.assert_equal(lv.children[2].model.object, 12)
Beispiel #6
0
    def test_nested_model(self):
        m = model.Model(model.Model(None))
        self.assert_is_none(m.object)

        m.object = model.Model('')
        self.assert_equal(m.object, '')
Beispiel #7
0
    def test_model(self):
        m = model.Model(None)
        self.assert_is_none(m.object)

        m.object = ''
        self.assert_equal(m.object, '')