Пример #1
0
    def test_comp_context(self):
        Register.add(SubComponent)
        obj = MyComponent()
        obj.root = obj
        template = """<comp><li><a><SubComponent></SubComponent></a></li></comp>"""
        obj.instructions = self.tp.parse(template)

        obj.mount()
        comp_li = obj.children[0]
        comp_a = comp_li.children[0]
        comp_sub = comp_a.children[0]
        self.assertEqual(RefMap.get(comp_li.context['self']), comp_li)
        self.assertEqual(RefMap.get(comp_li.context['parent']), obj)
        self.assertEqual(RefMap.get(comp_li.context['root']), obj)

        self.assertEqual(comp_li.root, obj)
        self.assertEqual(comp_li.parent, obj)

        self.assertEqual(RefMap.get(comp_a.context['self']), comp_a)
        self.assertEqual(RefMap.get(comp_a.context['parent']), comp_li)
        self.assertEqual(RefMap.get(comp_a.context['root']), obj)

        self.assertEqual(comp_a.root, obj)
        self.assertEqual(comp_a.parent, comp_li)

        self.assertEqual(RefMap.get(comp_sub.context['parent']), comp_a)
        self.assertEqual(RefMap.get(comp_sub.context['root']), comp_sub)

        comp_sub2 = SubComponent()
        obj.add(comp_sub2)
        self.assertEqual(RefMap.get(comp_sub2.context['parent']), obj)
        self.assertEqual(RefMap.get(comp_sub2.context['root']), comp_sub2)
Пример #2
0
    def test_comp_context(self):
        Register.add(SubComponent)
        obj = MyComponent()
        obj.root = obj
        template = """<comp><li><a><SubComponent></SubComponent></a></li></comp>"""
        obj.instructions = self.tp.parse(template)

        obj.mount()
        comp_li = obj.children[0]
        comp_a = comp_li.children[0]
        comp_sub = comp_a.children[0]
        self.assertEqual(RefMap.get(comp_li.context["self"]), comp_li)
        self.assertEqual(RefMap.get(comp_li.context["parent"]), obj)
        self.assertEqual(RefMap.get(comp_li.context["root"]), obj)

        self.assertEqual(comp_li.root, obj)
        self.assertEqual(comp_li.parent, obj)

        self.assertEqual(RefMap.get(comp_a.context["self"]), comp_a)
        self.assertEqual(RefMap.get(comp_a.context["parent"]), comp_li)
        self.assertEqual(RefMap.get(comp_a.context["root"]), obj)

        self.assertEqual(comp_a.root, obj)
        self.assertEqual(comp_a.parent, comp_li)

        self.assertEqual(RefMap.get(comp_sub.context["parent"]), comp_a)
        self.assertEqual(RefMap.get(comp_sub.context["root"]), comp_sub)

        comp_sub2 = SubComponent()
        obj.add(comp_sub2)
        self.assertEqual(RefMap.get(comp_sub2.context["parent"]), obj)
        self.assertEqual(RefMap.get(comp_sub2.context["root"]), comp_sub2)
Пример #3
0
                    newcomp.value = v
                    newcomp.html = v
                    self.add(newcomp, before=c)
                    added.append(v)
                else:
                    break

            for a in added: 
                values2add.remove(a)

        # Add remaining
        HTMLComp(tag='li')
        for v in values2add:
            try:
                newcomp = cls_comp(tag=self.itemtag, domnode=None) if ishtml else cls_comp()
                newcomp.value = v
                newcomp.html = v
            except:
                pass
            self.add(newcomp)


class ListItem(Component):
    template = "<ListItem>{self.text}</ListItem>"
    rendertag = "li" # Use <li> instead of <ListItem> to render
    text = Property('')
    value = Property('')
  
Register.add(FilteredList)
Register.add(ListItem)
Пример #4
0
        #self.cm = cm.fromTextArea(self.get('txt').elem, {"value": self.value, "lineNumbers": False, "mode": self.mode})
        self.refresh()

    def refresh(self):
        window.requestAnimationFrame(self._refresh)

    def _refresh(self, ev):
        self.cm.refresh()

    def get_code(self):
        return self.cm.getValue()


class ResultComponent(Component):
    tag = "ResultComponent"
    template = "<ResultComponent></ResultComponent>"
    style = """
             :host {
                display: block;
                background-color:  #fff;;
                border: 10px solid #444;
                padding: 15px;
                min-height: 700px;
            }
            """


Register.add(CodeMirror)
Register.add(ResultComponent)
Register.add(ComponentEditor)
Пример #5
0

class MyComponent(Component):
    template = "<MyComponent></MyComponent>"
    tag = 'MyComponent'
    a = Property(0)
    b = Property(2)


class SubComponent(Component):
    template = "<SubComponent></SubComponent>"
    tag = 'SubComponent'
    a = Property(0)
    b = Property(2)


Register.add(SubComponent)
Register.add(MyComponent)

BrowserDOMRender.direct = True
TESTS = (TestProperties, TestComponent)
report_html = ''
document['status'].html = "Testing..."
for t in TESTS:
    document['status'].html = "Processing %s" % (t.__name__)
    tester = t()
    report = tester.run()
    report_html += "<br/> <h2>%s</h2>" % (t.__name__) + report.format_html()
document['status'].html = "Testing done"
document['report'].html = report_html
Пример #6
0
                    self.add(newcomp, before=c)
                    added.append(v)
                else:
                    break

            for a in added:
                values2add.remove(a)

        # Add remaining
        HTMLComp(tag='li')
        for v in values2add:
            try:
                newcomp = cls_comp(tag=self.itemtag,
                                   domnode=None) if ishtml else cls_comp()
                newcomp.value = v
                newcomp.html = v
            except:
                pass
            self.add(newcomp)


class ListItem(Component):
    template = "<ListItem>{self.text}</ListItem>"
    rendertag = "li"  # Use <li> instead of <ListItem> to render
    text = Property('')
    value = Property('')


Register.add(FilteredList)
Register.add(ListItem)
Пример #7
0
class MyComponent(Component):
    template = "<MyComponent></MyComponent>"
    tag = "MyComponent"
    a = Property(0)
    b = Property(2)


class SubComponent(Component):
    template = "<SubComponent></SubComponent>"
    tag = "SubComponent"
    a = Property(0)
    b = Property(2)


Register.add(SubComponent)
Register.add(MyComponent)


BrowserDOMRender.direct = True
TESTS = (TestProperties, TestComponent)
report_html = ""
document["status"].html = "Testing..."
for t in TESTS:
    document["status"].html = "Processing %s" % (t.__name__)
    tester = t()
    report = tester.run()
    report_html += "<br/> <h2>%s</h2>" % (t.__name__) + report.format_html()
document["status"].html = "Testing done"
document["report"].html = report_html