Ejemplo n.º 1
0
 def test_order_is_preserved_in_css(self):
     css = [CSSSource(src="source%d"%i) for i in xrange(5)]
     w = Widget(css=css)
     self.failUnlessEqual(
         [c.src for c in w.retrieve_resources()['head']],
         ["source%d"%i for i in xrange(5)]
         )
Ejemplo n.º 2
0
 def test_order_is_preserved_in_js(self):
     js = [JSSource(src="source%d"%i) for i in xrange(5)]
     w = Widget(javascript=js)
     self.failUnlessEqual(
         [j.src for j in w.retrieve_resources()['head']],
         ["source%d"%i for i in xrange(5)]
         )
Ejemplo n.º 3
0
 def test_resources_are_collected_from_children(self):
     c = count()
     children = [
         Widget(css=[CSSSource(src='source%d'% c.next()) for i in xrange(5)])
             for i in xrange(5)
         ]
     p = Widget(children=children)
     self.assertEqual(len(p.retrieve_resources()[locations.head]), 25)
Ejemplo n.º 4
0
 def test_order_is_preserved_in_css_and_css_is_in_head(self):
     css = [CSSSource(src="source%d"%i) for i in xrange(5)]
     w = Widget(css=css)
     resources = w.retrieve_resources()
     self.failUnlessEqual(
         [c.src for c in resources[locations.head]],
         ["source%d"%i for i in xrange(5)]
         )
Ejemplo n.º 5
0
 def test_no_duplicates_in_css(self):
     css = ([CSSSource(src="source%d"%i) for i in xrange(5)] +
            [CSSSource(src="source%d"%i) for i in xrange(2,10)])
     w = Widget(css=css)
     self.failUnlessEqual(
         [c.src for c in w.retrieve_resources()['head']],
         ["source%d"%i for i in xrange(10)]
         )
Ejemplo n.º 6
0
 def test_no_duplicates_in_js(self):
     js = ([JSSource(src="source%d"%i) for i in xrange(5)] +
           [JSSource(src="source%d"%i) for i in xrange(2,10)])
     w = Widget(javascript=js)
     self.failUnlessEqual(
         [j.src for j in w.retrieve_resources()['head']],
         ["source%d"%i for i in xrange(10)]
         )
     self.failUnlessEqual(len(w.retrieve_resources()['head']), 10)
Ejemplo n.º 7
0
 def test_resources_are_classified_correctly(self):
     js = [JSSource(src="js%d-%s"%(i,l), location=l) 
         for l in locations for i in xrange(5)]
     w = Widget(javascript=js)
     resources = w.retrieve_resources()
     for l in locations:
         self.failUnlessEqual(
             [r.src for r in resources[l]], 
             ["js%d-%s"%(i,l) for i in xrange(5)]
             )
Ejemplo n.º 8
0
 def test_resource_dependencies_are_collected(self):
     c1 = CSSSource(src="c1")
     c2 = CSSSource(src="c2")
     j1 = JSSource(src="d1")
     j2 = JSSource(src="d2")
     js = JSSource(src="js", css=[c1,c2], javascript=[j1,j2])
     css = CSSSource(src="css", css=[c1,c2], javascript=[j1,j2])
     w = Widget(javascript=[js], css=[css])
     head_resources = w.retrieve_resources()['head']
     js = filter(lambda s: isinstance(s, JSMixin), head_resources)
     css = filter(lambda s: isinstance(s, CSSMixin), head_resources)
     self.failUnlessEqual(len(css), 3)
     self.failUnlessEqual(len(js), 3)
Ejemplo n.º 9
0
    def _do_get_field_widgets(self, fields):

        metadata_keys = self.__metadata__.keys()
        widgets = {}
        for field_name in fields:
            if field_name in self.__field_widgets__:
                widgets[field_name] = self.__field_widgets__[field_name]
                continue
            if field_name in self.__add_fields__:
                widget = self.__add_fields__[field_name]
                if widget is None:
                    widget = Widget(field_name)
                widgets[field_name] = widget
                continue
            if field_name in self.__ignore_field_names__:
                continue
            if field_name in self.__hide_fields__:
                continue
            if field_name not in metadata_keys:
                continue
            field = self.__metadata__[field_name]

            if inspect.isclass(field):
                identifier = ClassViewer(field)

            field_widget_type = self.__field_widget_types__.get(
                field_name, self.__widget_selector__.select(field))
            field_widget_args = self._do_get_field_widget_args(
                field_name, field)

            if field_name in self._do_get_disabled_fields():
                # in this case, we display the current field, disabling it, and also add
                # a hidden field into th emix
                field_widget_args['disabled'] = True
                widgets[field_name] = (HiddenField(id=field_name.replace(
                    '.', '_'),
                                                   identifier=field_name),
                                       field_widget_type(**field_widget_args))
            else:
                widgets[field_name] = field_widget_type(**field_widget_args)

        widgets.update(self.__create_hidden_fields())
        return widgets
Ejemplo n.º 10
0
 def update_params(self, d):
     Widget.update_params(self,d)
     self.add_call(a_js_func(d.test), d.call_location)
Ejemplo n.º 11
0
 def update_params(self, d):
     Widget.update_params(self,d)
     self.add_call(
         a_js_func(self.id, "This shouldn't be possible")
         )
Ejemplo n.º 12
0
    #pprint.pprint(stats.get_sort_arg_defs())
    stats = stats.strip_dirs().sort_stats('time', 'call')\
        .print_stats(50)
    if PRINT_CALLERS:
        stats.print_callers(5)


### Start profiling output

print("*"*78)
print("Profiling ToscaWidgets %s in with NCALLS = %d" % (VERSION, NCALLS))
if MSG: print(MSG)

print("*"*78)
print_stats("Widget initialization", Widget, "test_widget")
w = Widget("test_widget")
print_stats("Widget.prepare_dict", w.prepare_dict, "value", {})

print("*"*78)
print_stats("TestForm initialization", TestForm, "test_widget")
w = TestForm("test_widget")
w.display() # preload template
print_stats("TestForm.display", w.display, data)

print("*"*78)
print_stats("AddUserForm initialization", AddUserForm, "test_widget")
w = AddUserForm("test_widget")
w.display() # preload template
print_stats("AddUserForm.display", w.display, data)

try: