From ce6e584b0f38f9f2c4c536b246c8d1726bceb9e7 Mon Sep 17 00:00:00 2001 From: Marco Strobel Date: Wed, 14 Jan 2015 21:18:06 +0100 Subject: [PATCH 1/2] check if resource renderer is a inline renderer --- bowerstatic/renderer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bowerstatic/renderer.py b/bowerstatic/renderer.py index bcaba45..a29de8e 100644 --- a/bowerstatic/renderer.py +++ b/bowerstatic/renderer.py @@ -35,8 +35,10 @@ def renderer(self, resource): def make_renderer(renderer): if isinstance(renderer, string_types): def string_renderer(resource): - return renderer.format(url=resource.url(), - content=resource.content()) + if '{content}' in renderer: + return renderer.format(content=resource.content()) + else: + return renderer.format(url=resource.url()) return string_renderer if callable(renderer): From 9fedee3b8333f84776ea9278a96e96a9adbde21e Mon Sep 17 00:00:00 2001 From: Marco Strobel Date: Wed, 14 Jan 2015 22:06:45 +0100 Subject: [PATCH 2/2] add render_favicon test --- .../bower_components/favicon_main/.bower.json | 7 +++++ .../bower_components/favicon_main/bower.json | 7 +++++ .../favicon_main/dist/favicon.ico | Bin 0 -> 1150 bytes bowerstatic/tests/test_injector.py | 24 ++++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 bowerstatic/tests/bower_components/favicon_main/.bower.json create mode 100644 bowerstatic/tests/bower_components/favicon_main/bower.json create mode 100644 bowerstatic/tests/bower_components/favicon_main/dist/favicon.ico diff --git a/bowerstatic/tests/bower_components/favicon_main/.bower.json b/bowerstatic/tests/bower_components/favicon_main/.bower.json new file mode 100644 index 0000000..006ae50 --- /dev/null +++ b/bowerstatic/tests/bower_components/favicon_main/.bower.json @@ -0,0 +1,7 @@ +{ + "name": "favicon_main", + "version": "1.0.0", + "main": [ + "dist/favicon.ico" + ] +} diff --git a/bowerstatic/tests/bower_components/favicon_main/bower.json b/bowerstatic/tests/bower_components/favicon_main/bower.json new file mode 100644 index 0000000..006ae50 --- /dev/null +++ b/bowerstatic/tests/bower_components/favicon_main/bower.json @@ -0,0 +1,7 @@ +{ + "name": "favicon_main", + "version": "1.0.0", + "main": [ + "dist/favicon.ico" + ] +} diff --git a/bowerstatic/tests/bower_components/favicon_main/dist/favicon.ico b/bowerstatic/tests/bower_components/favicon_main/dist/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3455c3fb9967e500b546bf3ef078bfdcf21c9a36 GIT binary patch literal 1150 zcmbW1+e;Kt9LLYh=?~C?2%mcFPv|LVp)jE!4ZLc7%`TEI#zIkaq33VE?>Rdvd;)xr0Z20cggxKOBbuWri*GwjXw%T%d;)I*qwGQrV zn`5-y_W9QdWICgmc-(|vU#85+kA7E?%eH-oiw?5WGS=B>+_bEBx4VX9OP$%{oWNtl z_Q7spkBhDXnQq&^PkQJ*wH5dq}lJkiJok-(T(TAG#cw_1Lg|dPq1-G@c#Nc-L?H ztjxJzuhD&Q8NSbqnJ<}q(r6sIrjhpfQQ??2BxRi(DE<8$Fn%)vI)Tr2=(xu43CoL< z8Xq3+!jI{}B0i6Mc-v78o|C|5>z~$mNzPbC&T1?~;IUyldbJ`ya!w;f&d>4cf<~C| j8C^DPf93|)WN)qZOU)>1g4uHello!') + + +def test_injector_favicon_renderer(): + bower = bowerstatic.Bower() + + components = bower.components('components', os.path.join( + os.path.dirname(__file__), 'bower_components')) + + def wsgi(environ, start_response): + start_response('200 OK', [('Content-Type', 'text/html;charset=UTF-8')]) + include = components.includer(environ) + include('favicon_main') + return [b'Hello!'] + + injector = bower.injector(wsgi) + + c = Client(injector) + + response = c.get('/') + assert response.body == ( + b'' + b'' + b'Hello!')