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)
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)
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)
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)] )
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)] )
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)] )
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)
def test_no_resources_return_empty_dict(self): self.failUnlessEqual( retrieve_resources(Widget(children=[Widget()]) for x in xrange(2)), {} )
def test_resources_are_collected_from_unknown(self): resources = retrieve_resources(None) self.assert_(not resources)