Example #1
0
    def test_resources_are_collected_from_dict(self):
        js = [
            JSSource(src="source%d"%i, location=locations.head) 
                for i in xrange(15)
            ]

        widgets = {
            '1': Widget(javascript=js[:5]),
            '2': Widget(javascript=js[5:10]),
            '3': Widget(javascript=js[10:]),
            }
        resources = retrieve_resources(widgets)
        self.assertEqual(len(retrieve_resources(widgets)[locations.head]), 15)
Example #2
0
    def wrapper(*args, **kargs):
        import warnings

        warnings.warn(
            (
                "%s is deprecated since collecting resources from "
                "widgets at pylons.c.w is no longer needed to inject "
                "them in the page."
            )
            % func.func_name,
            DeprecationWarning,
            2,
        )
        from tw import framework

        if len(args) > 1 and args[0] in framework.engines:
            framework.default_view = args[0]

        if pylons_version > pylons_097_version:
            global_widgets = getattr(pylons.app_globals, "w", None)
            request_widgets = getattr(pylons.tmpl_context, "w", None)
        else:
            global_widgets = getattr(pylons.g, "w", None)
            request_widgets = getattr(pylons.c, "w", None)

        other_resources = kargs.pop("resources", None)
        pylons.tmpl_context.resources = retrieve_resources([global_widgets, request_widgets, other_resources])
        return func(*args, **kargs)
Example #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(retrieve_resources(p)[locations.head]), 25)
Example #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 = retrieve_resources(w)
     self.failUnlessEqual(
         [c.src for c in resources[locations.head]],
         ["source%d"%i for i in xrange(5)]
         )
Example #5
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 = retrieve_resources(w)
     for l in locations:
         self.failUnlessEqual(
             [r.src for r in resources[l]], 
             ["js%d-%s"%(i,l) for i in xrange(5)]
             )
Example #6
0
    def test_resources_are_collected_from_list(self):
        js = [JSSource(src="source%d"%i) for i in xrange(15)]

        widgets = [
            Widget(javascript=js[:5]),
            Widget(javascript=js[5:10]),
            Widget(javascript=js[10:]),
            ]
        resources = retrieve_resources(widgets)
        self.failUnlessEqual(
            [c.src for c in resources[locations.head]],
            ["source%d"%i for i in xrange(15)]
            )
Example #7
0
    def wrapper(*args, **kargs):
        import warnings
        warnings.warn(("%s is deprecated since collecting resources from "
                       "widgets at pylons.c.w is no longer needed to inject "
                       "them in the page.") % func.func_name,
                       DeprecationWarning, 2)
        from tw import framework
        if len(args) > 1 and args[0] in framework.engines:
            framework.default_view = args[0]

        global_widgets = getattr(pylons.g, 'w', None)
        request_widgets = getattr(pylons.c, 'w', None)
        other_resources = kargs.pop('resources', None)
        pylons.c.resources = retrieve_resources(
            [global_widgets, request_widgets, other_resources]
            )
        return func(*args, **kargs)
Example #8
0
 def test_no_resources_return_empty_dict(self):
     self.failUnlessEqual(
         retrieve_resources(Widget(children=[Widget()]) for x in xrange(2)),
         {}
         )
Example #9
0
 def test_resources_are_collected_from_unknown(self):
     resources = retrieve_resources(None)
     self.assert_(not resources)