Merge lp:~marcoceppi/charm-tools/icon-template into lp:~charmers/charm-tools/trunk

Proposed by Marco Ceppi
Status: Merged
Merged at revision: 177
Proposed branch: lp:~marcoceppi/charm-tools/icon-template
Merge into: lp:~charmers/charm-tools/trunk
Diff against target: 1313 lines (+1212/-0)
16 files modified
scripts/lib/proof.py (+19/-0)
templates/charm/icon.svg (+279/-0)
tests/charms/icon-template/README.ex (+5/-0)
tests/charms/icon-template/hooks/install (+5/-0)
tests/charms/icon-template/hooks/relation-name-relation-broken (+2/-0)
tests/charms/icon-template/hooks/relation-name-relation-changed (+9/-0)
tests/charms/icon-template/hooks/relation-name-relation-departed (+5/-0)
tests/charms/icon-template/hooks/relation-name-relation-joined (+5/-0)
tests/charms/icon-template/hooks/start (+4/-0)
tests/charms/icon-template/hooks/stop (+7/-0)
tests/charms/icon-template/icon.svg (+279/-0)
tests/charms/icon-template/metadata.yaml (+19/-0)
tests/charms/icon-template/revision (+1/-0)
tests/create/no-package-exists/icon.svg (+279/-0)
tests/create/python-apt/icon.svg (+279/-0)
tests/proof/expected/icon-template (+15/-0)
To merge this branch: bzr merge lp:~marcoceppi/charm-tools/icon-template
Reviewer Review Type Date Requested Status
Juan L. Negron (community) Approve
Review via email: mp+161020@code.launchpad.net

Description of the change

Added default icon to charm template

To post a comment you must log in.
Revision history for this message
Juan L. Negron (negronjl) wrote :

Approved. Will merge in a few minutes.

-Juan

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'scripts/lib/proof.py'
2--- scripts/lib/proof.py 2013-04-18 22:19:06 +0000
3+++ scripts/lib/proof.py 2013-04-25 21:00:33 +0000
4@@ -21,6 +21,7 @@
5 from stat import S_IXUSR
6 import sys
7 import yaml
8+import hashlib
9
10 KNOWN_METADATA_KEYS = ['name',
11 'summary',
12@@ -41,6 +42,10 @@
13 os.path.join(
14 __file__, '..', '..', '..', 'templates', 'charm', 'README.ex'))
15
16+TEMPLATE_ICON = os.path.abspath(
17+ os.path.join(
18+ __file__, '..', '..', '..', 'templates', 'charm', 'icon.svg'))
19+
20
21 class RelationError(Exception):
22 pass
23@@ -230,6 +235,20 @@
24
25 if not os.path.exists(os.path.join(charm_path, 'icon.svg')):
26 lint.warn("No icon.svg file.")
27+ else:
28+ # should have an icon.svg
29+ template_sha1 = hashlib.sha1()
30+ icon_sha1 = hashlib.sha1()
31+ try:
32+ with open(TEMPLATE_ICON) as ti:
33+ template_sha1.update(ti.read())
34+ with open(os.path.join(charm_path, 'icon.svg')) as ci:
35+ icon_sha1.update(ci.read())
36+ if template_sha1.hexdigest() == icon_sha1.hexdigest():
37+ lint.err("Includes template icon.svg file.")
38+ except IOError as e:
39+ lint.err(
40+ "Error while opening %s (%s)" % (e.filename, e.strerror))
41
42 # Must have a hooks dir
43 if not os.path.exists(hooks_path):
44
45=== added file 'templates/charm/icon.svg'
46--- templates/charm/icon.svg 1970-01-01 00:00:00 +0000
47+++ templates/charm/icon.svg 2013-04-25 21:00:33 +0000
48@@ -0,0 +1,279 @@
49+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
50+<!-- Created with Inkscape (http://www.inkscape.org/) -->
51+
52+<svg
53+ xmlns:dc="http://purl.org/dc/elements/1.1/"
54+ xmlns:cc="http://creativecommons.org/ns#"
55+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
56+ xmlns:svg="http://www.w3.org/2000/svg"
57+ xmlns="http://www.w3.org/2000/svg"
58+ xmlns:xlink="http://www.w3.org/1999/xlink"
59+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
60+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
61+ width="96"
62+ height="96"
63+ id="svg6517"
64+ version="1.1"
65+ inkscape:version="0.48+devel r12274"
66+ sodipodi:docname="Juju_charm_icon_template.svg">
67+ <defs
68+ id="defs6519">
69+ <linearGradient
70+ inkscape:collect="always"
71+ xlink:href="#Background"
72+ id="linearGradient6461"
73+ gradientUnits="userSpaceOnUse"
74+ x1="0"
75+ y1="970.29498"
76+ x2="144"
77+ y2="970.29498"
78+ gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" />
79+ <linearGradient
80+ id="Background">
81+ <stop
82+ id="stop4178"
83+ offset="0"
84+ style="stop-color:#b8b8b8;stop-opacity:1" />
85+ <stop
86+ id="stop4180"
87+ offset="1"
88+ style="stop-color:#c9c9c9;stop-opacity:1" />
89+ </linearGradient>
90+ <filter
91+ style="color-interpolation-filters:sRGB;"
92+ inkscape:label="Inner Shadow"
93+ id="filter1121">
94+ <feFlood
95+ flood-opacity="0.59999999999999998"
96+ flood-color="rgb(0,0,0)"
97+ result="flood"
98+ id="feFlood1123" />
99+ <feComposite
100+ in="flood"
101+ in2="SourceGraphic"
102+ operator="out"
103+ result="composite1"
104+ id="feComposite1125" />
105+ <feGaussianBlur
106+ in="composite1"
107+ stdDeviation="1"
108+ result="blur"
109+ id="feGaussianBlur1127" />
110+ <feOffset
111+ dx="0"
112+ dy="2"
113+ result="offset"
114+ id="feOffset1129" />
115+ <feComposite
116+ in="offset"
117+ in2="SourceGraphic"
118+ operator="atop"
119+ result="composite2"
120+ id="feComposite1131" />
121+ </filter>
122+ <filter
123+ style="color-interpolation-filters:sRGB;"
124+ inkscape:label="Drop Shadow"
125+ id="filter950">
126+ <feFlood
127+ flood-opacity="0.25"
128+ flood-color="rgb(0,0,0)"
129+ result="flood"
130+ id="feFlood952" />
131+ <feComposite
132+ in="flood"
133+ in2="SourceGraphic"
134+ operator="in"
135+ result="composite1"
136+ id="feComposite954" />
137+ <feGaussianBlur
138+ in="composite1"
139+ stdDeviation="1"
140+ result="blur"
141+ id="feGaussianBlur956" />
142+ <feOffset
143+ dx="0"
144+ dy="1"
145+ result="offset"
146+ id="feOffset958" />
147+ <feComposite
148+ in="SourceGraphic"
149+ in2="offset"
150+ operator="over"
151+ result="composite2"
152+ id="feComposite960" />
153+ </filter>
154+ <clipPath
155+ clipPathUnits="userSpaceOnUse"
156+ id="clipPath873">
157+ <g
158+ transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
159+ id="g875"
160+ inkscape:label="Layer 1"
161+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
162+ <path
163+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
164+ d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
165+ id="path877"
166+ inkscape:connector-curvature="0"
167+ sodipodi:nodetypes="sssssssss" />
168+ </g>
169+ </clipPath>
170+ <filter
171+ inkscape:collect="always"
172+ id="filter891"
173+ inkscape:label="Badge Shadow">
174+ <feGaussianBlur
175+ inkscape:collect="always"
176+ stdDeviation="0.71999962"
177+ id="feGaussianBlur893" />
178+ </filter>
179+ </defs>
180+ <sodipodi:namedview
181+ id="base"
182+ pagecolor="#ffffff"
183+ bordercolor="#666666"
184+ borderopacity="1.0"
185+ inkscape:pageopacity="0.0"
186+ inkscape:pageshadow="2"
187+ inkscape:zoom="4.0745362"
188+ inkscape:cx="18.514671"
189+ inkscape:cy="49.018169"
190+ inkscape:document-units="px"
191+ inkscape:current-layer="layer1"
192+ showgrid="true"
193+ fit-margin-top="0"
194+ fit-margin-left="0"
195+ fit-margin-right="0"
196+ fit-margin-bottom="0"
197+ inkscape:window-width="1920"
198+ inkscape:window-height="1029"
199+ inkscape:window-x="0"
200+ inkscape:window-y="24"
201+ inkscape:window-maximized="1"
202+ showborder="true"
203+ showguides="true"
204+ inkscape:guide-bbox="true"
205+ inkscape:showpageshadow="false">
206+ <inkscape:grid
207+ type="xygrid"
208+ id="grid821" />
209+ <sodipodi:guide
210+ orientation="1,0"
211+ position="16,48"
212+ id="guide823" />
213+ <sodipodi:guide
214+ orientation="0,1"
215+ position="64,80"
216+ id="guide825" />
217+ <sodipodi:guide
218+ orientation="1,0"
219+ position="80,40"
220+ id="guide827" />
221+ <sodipodi:guide
222+ orientation="0,1"
223+ position="64,16"
224+ id="guide829" />
225+ </sodipodi:namedview>
226+ <metadata
227+ id="metadata6522">
228+ <rdf:RDF>
229+ <cc:Work
230+ rdf:about="">
231+ <dc:format>image/svg+xml</dc:format>
232+ <dc:type
233+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
234+ <dc:title></dc:title>
235+ </cc:Work>
236+ </rdf:RDF>
237+ </metadata>
238+ <g
239+ inkscape:label="BACKGROUND"
240+ inkscape:groupmode="layer"
241+ id="layer1"
242+ transform="translate(268,-635.29076)"
243+ style="display:inline">
244+ <path
245+ style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
246+ d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
247+ id="path6455"
248+ inkscape:connector-curvature="0"
249+ sodipodi:nodetypes="sssssssss" />
250+ </g>
251+ <g
252+ inkscape:groupmode="layer"
253+ id="layer3"
254+ inkscape:label="PLACE YOUR PICTOGRAM HERE"
255+ style="display:inline" />
256+ <g
257+ inkscape:groupmode="layer"
258+ id="layer2"
259+ inkscape:label="BADGE"
260+ style="display:none"
261+ sodipodi:insensitive="true">
262+ <g
263+ style="display:inline"
264+ transform="translate(-340.00001,-581)"
265+ id="g4394"
266+ clip-path="none">
267+ <g
268+ id="g855">
269+ <g
270+ inkscape:groupmode="maskhelper"
271+ id="g870"
272+ clip-path="url(#clipPath873)"
273+ style="opacity:0.6;filter:url(#filter891)">
274+ <path
275+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
276+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
277+ sodipodi:ry="12"
278+ sodipodi:rx="12"
279+ sodipodi:cy="552.36218"
280+ sodipodi:cx="252"
281+ id="path844"
282+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
283+ sodipodi:type="arc" />
284+ </g>
285+ <g
286+ id="g862">
287+ <path
288+ sodipodi:type="arc"
289+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
290+ id="path4398"
291+ sodipodi:cx="252"
292+ sodipodi:cy="552.36218"
293+ sodipodi:rx="12"
294+ sodipodi:ry="12"
295+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
296+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
297+ <path
298+ transform="matrix(1.25,0,0,1.25,33,-100.45273)"
299+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
300+ sodipodi:ry="12"
301+ sodipodi:rx="12"
302+ sodipodi:cy="552.36218"
303+ sodipodi:cx="252"
304+ id="path4400"
305+ style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
306+ sodipodi:type="arc" />
307+ <path
308+ sodipodi:type="star"
309+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
310+ id="path4459"
311+ sodipodi:sides="5"
312+ sodipodi:cx="666.19574"
313+ sodipodi:cy="589.50385"
314+ sodipodi:r1="7.2431178"
315+ sodipodi:r2="4.3458705"
316+ sodipodi:arg1="1.0471976"
317+ sodipodi:arg2="1.6755161"
318+ inkscape:flatsided="false"
319+ inkscape:rounded="0.1"
320+ inkscape:randomized="0"
321+ d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z"
322+ transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
323+ </g>
324+ </g>
325+ </g>
326+ </g>
327+</svg>
328
329=== added directory 'tests/charms/icon-template'
330=== added file 'tests/charms/icon-template/README.ex'
331--- tests/charms/icon-template/README.ex 1970-01-01 00:00:00 +0000
332+++ tests/charms/icon-template/README.ex 2013-04-25 21:00:33 +0000
333@@ -0,0 +1,5 @@
334+Describe the intended usage of this charm and anything unique about how
335+this charm relates to others here.
336+
337+Be sure to remove this section before submitting this to
338+https://launchpad.net/charms for inclusion in the charm store.
339
340=== added directory 'tests/charms/icon-template/hooks'
341=== added file 'tests/charms/icon-template/hooks/install'
342--- tests/charms/icon-template/hooks/install 1970-01-01 00:00:00 +0000
343+++ tests/charms/icon-template/hooks/install 2013-04-25 21:00:33 +0000
344@@ -0,0 +1,5 @@
345+#!/bin/bash
346+# Here do anything needed to install the service
347+# i.e. apt-get install -y foo or bzr branch http://myserver/mycode /srv/webroot
348+
349+apt-get install -y test
350
351=== added file 'tests/charms/icon-template/hooks/relation-name-relation-broken'
352--- tests/charms/icon-template/hooks/relation-name-relation-broken 1970-01-01 00:00:00 +0000
353+++ tests/charms/icon-template/hooks/relation-name-relation-broken 2013-04-25 21:00:33 +0000
354@@ -0,0 +1,2 @@
355+#!/bin/sh
356+# This hook runs when the full relation is removed (not just a single member)
357
358=== added file 'tests/charms/icon-template/hooks/relation-name-relation-changed'
359--- tests/charms/icon-template/hooks/relation-name-relation-changed 1970-01-01 00:00:00 +0000
360+++ tests/charms/icon-template/hooks/relation-name-relation-changed 2013-04-25 21:00:33 +0000
361@@ -0,0 +1,9 @@
362+#!/bin/bash
363+# This must be renamed to the name of the relation. The goal here is to
364+# affect any change needed by relationships being formed, modified, or broken
365+# This script should be idempotent.
366+juju-log $JUJU_REMOTE_UNIT modified its settings
367+juju-log Relation settings:
368+relation-get
369+juju-log Relation members:
370+relation-list
371
372=== added file 'tests/charms/icon-template/hooks/relation-name-relation-departed'
373--- tests/charms/icon-template/hooks/relation-name-relation-departed 1970-01-01 00:00:00 +0000
374+++ tests/charms/icon-template/hooks/relation-name-relation-departed 2013-04-25 21:00:33 +0000
375@@ -0,0 +1,5 @@
376+#!/bin/sh
377+# This must be renamed to the name of the relation. The goal here is to
378+# affect any change needed by the remote unit leaving the relationship.
379+# This script should be idempotent.
380+juju-log $JUJU_REMOTE_UNIT departed
381
382=== added file 'tests/charms/icon-template/hooks/relation-name-relation-joined'
383--- tests/charms/icon-template/hooks/relation-name-relation-joined 1970-01-01 00:00:00 +0000
384+++ tests/charms/icon-template/hooks/relation-name-relation-joined 2013-04-25 21:00:33 +0000
385@@ -0,0 +1,5 @@
386+#!/bin/sh
387+# This must be renamed to the name of the relation. The goal here is to
388+# affect any change needed by relationships being formed
389+# This script should be idempotent.
390+juju-log $JUJU_REMOTE_UNIT joined
391
392=== added file 'tests/charms/icon-template/hooks/start'
393--- tests/charms/icon-template/hooks/start 1970-01-01 00:00:00 +0000
394+++ tests/charms/icon-template/hooks/start 2013-04-25 21:00:33 +0000
395@@ -0,0 +1,4 @@
396+#!/bin/bash
397+# Here put anything that is needed to start the service.
398+# Note that currently this is run directly after install
399+# i.e. 'service apache2 start'
400
401=== added file 'tests/charms/icon-template/hooks/stop'
402--- tests/charms/icon-template/hooks/stop 1970-01-01 00:00:00 +0000
403+++ tests/charms/icon-template/hooks/stop 2013-04-25 21:00:33 +0000
404@@ -0,0 +1,7 @@
405+#!/bin/bash
406+# This will be run when the service is being torn down, allowing you to disable
407+# it in various ways..
408+# For example, if your web app uses a text file to signal to the load balancer
409+# that it is live... you could remove it and sleep for a bit to allow the load
410+# balancer to stop sending traffic.
411+# rm /srv/webroot/server-live.txt && sleep 30
412
413=== added file 'tests/charms/icon-template/icon.svg'
414--- tests/charms/icon-template/icon.svg 1970-01-01 00:00:00 +0000
415+++ tests/charms/icon-template/icon.svg 2013-04-25 21:00:33 +0000
416@@ -0,0 +1,279 @@
417+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
418+<!-- Created with Inkscape (http://www.inkscape.org/) -->
419+
420+<svg
421+ xmlns:dc="http://purl.org/dc/elements/1.1/"
422+ xmlns:cc="http://creativecommons.org/ns#"
423+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
424+ xmlns:svg="http://www.w3.org/2000/svg"
425+ xmlns="http://www.w3.org/2000/svg"
426+ xmlns:xlink="http://www.w3.org/1999/xlink"
427+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
428+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
429+ width="96"
430+ height="96"
431+ id="svg6517"
432+ version="1.1"
433+ inkscape:version="0.48+devel r12274"
434+ sodipodi:docname="Juju_charm_icon_template.svg">
435+ <defs
436+ id="defs6519">
437+ <linearGradient
438+ inkscape:collect="always"
439+ xlink:href="#Background"
440+ id="linearGradient6461"
441+ gradientUnits="userSpaceOnUse"
442+ x1="0"
443+ y1="970.29498"
444+ x2="144"
445+ y2="970.29498"
446+ gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" />
447+ <linearGradient
448+ id="Background">
449+ <stop
450+ id="stop4178"
451+ offset="0"
452+ style="stop-color:#b8b8b8;stop-opacity:1" />
453+ <stop
454+ id="stop4180"
455+ offset="1"
456+ style="stop-color:#c9c9c9;stop-opacity:1" />
457+ </linearGradient>
458+ <filter
459+ style="color-interpolation-filters:sRGB;"
460+ inkscape:label="Inner Shadow"
461+ id="filter1121">
462+ <feFlood
463+ flood-opacity="0.59999999999999998"
464+ flood-color="rgb(0,0,0)"
465+ result="flood"
466+ id="feFlood1123" />
467+ <feComposite
468+ in="flood"
469+ in2="SourceGraphic"
470+ operator="out"
471+ result="composite1"
472+ id="feComposite1125" />
473+ <feGaussianBlur
474+ in="composite1"
475+ stdDeviation="1"
476+ result="blur"
477+ id="feGaussianBlur1127" />
478+ <feOffset
479+ dx="0"
480+ dy="2"
481+ result="offset"
482+ id="feOffset1129" />
483+ <feComposite
484+ in="offset"
485+ in2="SourceGraphic"
486+ operator="atop"
487+ result="composite2"
488+ id="feComposite1131" />
489+ </filter>
490+ <filter
491+ style="color-interpolation-filters:sRGB;"
492+ inkscape:label="Drop Shadow"
493+ id="filter950">
494+ <feFlood
495+ flood-opacity="0.25"
496+ flood-color="rgb(0,0,0)"
497+ result="flood"
498+ id="feFlood952" />
499+ <feComposite
500+ in="flood"
501+ in2="SourceGraphic"
502+ operator="in"
503+ result="composite1"
504+ id="feComposite954" />
505+ <feGaussianBlur
506+ in="composite1"
507+ stdDeviation="1"
508+ result="blur"
509+ id="feGaussianBlur956" />
510+ <feOffset
511+ dx="0"
512+ dy="1"
513+ result="offset"
514+ id="feOffset958" />
515+ <feComposite
516+ in="SourceGraphic"
517+ in2="offset"
518+ operator="over"
519+ result="composite2"
520+ id="feComposite960" />
521+ </filter>
522+ <clipPath
523+ clipPathUnits="userSpaceOnUse"
524+ id="clipPath873">
525+ <g
526+ transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
527+ id="g875"
528+ inkscape:label="Layer 1"
529+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
530+ <path
531+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
532+ d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
533+ id="path877"
534+ inkscape:connector-curvature="0"
535+ sodipodi:nodetypes="sssssssss" />
536+ </g>
537+ </clipPath>
538+ <filter
539+ inkscape:collect="always"
540+ id="filter891"
541+ inkscape:label="Badge Shadow">
542+ <feGaussianBlur
543+ inkscape:collect="always"
544+ stdDeviation="0.71999962"
545+ id="feGaussianBlur893" />
546+ </filter>
547+ </defs>
548+ <sodipodi:namedview
549+ id="base"
550+ pagecolor="#ffffff"
551+ bordercolor="#666666"
552+ borderopacity="1.0"
553+ inkscape:pageopacity="0.0"
554+ inkscape:pageshadow="2"
555+ inkscape:zoom="4.0745362"
556+ inkscape:cx="18.514671"
557+ inkscape:cy="49.018169"
558+ inkscape:document-units="px"
559+ inkscape:current-layer="layer1"
560+ showgrid="true"
561+ fit-margin-top="0"
562+ fit-margin-left="0"
563+ fit-margin-right="0"
564+ fit-margin-bottom="0"
565+ inkscape:window-width="1920"
566+ inkscape:window-height="1029"
567+ inkscape:window-x="0"
568+ inkscape:window-y="24"
569+ inkscape:window-maximized="1"
570+ showborder="true"
571+ showguides="true"
572+ inkscape:guide-bbox="true"
573+ inkscape:showpageshadow="false">
574+ <inkscape:grid
575+ type="xygrid"
576+ id="grid821" />
577+ <sodipodi:guide
578+ orientation="1,0"
579+ position="16,48"
580+ id="guide823" />
581+ <sodipodi:guide
582+ orientation="0,1"
583+ position="64,80"
584+ id="guide825" />
585+ <sodipodi:guide
586+ orientation="1,0"
587+ position="80,40"
588+ id="guide827" />
589+ <sodipodi:guide
590+ orientation="0,1"
591+ position="64,16"
592+ id="guide829" />
593+ </sodipodi:namedview>
594+ <metadata
595+ id="metadata6522">
596+ <rdf:RDF>
597+ <cc:Work
598+ rdf:about="">
599+ <dc:format>image/svg+xml</dc:format>
600+ <dc:type
601+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
602+ <dc:title></dc:title>
603+ </cc:Work>
604+ </rdf:RDF>
605+ </metadata>
606+ <g
607+ inkscape:label="BACKGROUND"
608+ inkscape:groupmode="layer"
609+ id="layer1"
610+ transform="translate(268,-635.29076)"
611+ style="display:inline">
612+ <path
613+ style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
614+ d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
615+ id="path6455"
616+ inkscape:connector-curvature="0"
617+ sodipodi:nodetypes="sssssssss" />
618+ </g>
619+ <g
620+ inkscape:groupmode="layer"
621+ id="layer3"
622+ inkscape:label="PLACE YOUR PICTOGRAM HERE"
623+ style="display:inline" />
624+ <g
625+ inkscape:groupmode="layer"
626+ id="layer2"
627+ inkscape:label="BADGE"
628+ style="display:none"
629+ sodipodi:insensitive="true">
630+ <g
631+ style="display:inline"
632+ transform="translate(-340.00001,-581)"
633+ id="g4394"
634+ clip-path="none">
635+ <g
636+ id="g855">
637+ <g
638+ inkscape:groupmode="maskhelper"
639+ id="g870"
640+ clip-path="url(#clipPath873)"
641+ style="opacity:0.6;filter:url(#filter891)">
642+ <path
643+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
644+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
645+ sodipodi:ry="12"
646+ sodipodi:rx="12"
647+ sodipodi:cy="552.36218"
648+ sodipodi:cx="252"
649+ id="path844"
650+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
651+ sodipodi:type="arc" />
652+ </g>
653+ <g
654+ id="g862">
655+ <path
656+ sodipodi:type="arc"
657+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
658+ id="path4398"
659+ sodipodi:cx="252"
660+ sodipodi:cy="552.36218"
661+ sodipodi:rx="12"
662+ sodipodi:ry="12"
663+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
664+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
665+ <path
666+ transform="matrix(1.25,0,0,1.25,33,-100.45273)"
667+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
668+ sodipodi:ry="12"
669+ sodipodi:rx="12"
670+ sodipodi:cy="552.36218"
671+ sodipodi:cx="252"
672+ id="path4400"
673+ style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
674+ sodipodi:type="arc" />
675+ <path
676+ sodipodi:type="star"
677+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
678+ id="path4459"
679+ sodipodi:sides="5"
680+ sodipodi:cx="666.19574"
681+ sodipodi:cy="589.50385"
682+ sodipodi:r1="7.2431178"
683+ sodipodi:r2="4.3458705"
684+ sodipodi:arg1="1.0471976"
685+ sodipodi:arg2="1.6755161"
686+ inkscape:flatsided="false"
687+ inkscape:rounded="0.1"
688+ inkscape:randomized="0"
689+ d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z"
690+ transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
691+ </g>
692+ </g>
693+ </g>
694+ </g>
695+</svg>
696
697=== added file 'tests/charms/icon-template/metadata.yaml'
698--- tests/charms/icon-template/metadata.yaml 1970-01-01 00:00:00 +0000
699+++ tests/charms/icon-template/metadata.yaml 2013-04-25 21:00:33 +0000
700@@ -0,0 +1,19 @@
701+name: icon-template
702+summary: <Fill in summary here>
703+maintainer: test@testhost
704+description: |
705+ <Multi-line description here>
706+categories:
707+ - misc
708+provides:
709+ relation-name:
710+ baz: boom
711+ interface: interface-name
712+requires:
713+ relation-name:
714+ interface: interface-name
715+ scope: flouride
716+peers:
717+ relation-name:
718+ interface: interface-name
719+ non-map: [ interface, interface-name ]
720
721=== added file 'tests/charms/icon-template/revision'
722--- tests/charms/icon-template/revision 1970-01-01 00:00:00 +0000
723+++ tests/charms/icon-template/revision 2013-04-25 21:00:33 +0000
724@@ -0,0 +1,1 @@
725+1
726
727=== added file 'tests/create/no-package-exists/icon.svg'
728--- tests/create/no-package-exists/icon.svg 1970-01-01 00:00:00 +0000
729+++ tests/create/no-package-exists/icon.svg 2013-04-25 21:00:33 +0000
730@@ -0,0 +1,279 @@
731+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
732+<!-- Created with Inkscape (http://www.inkscape.org/) -->
733+
734+<svg
735+ xmlns:dc="http://purl.org/dc/elements/1.1/"
736+ xmlns:cc="http://creativecommons.org/ns#"
737+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
738+ xmlns:svg="http://www.w3.org/2000/svg"
739+ xmlns="http://www.w3.org/2000/svg"
740+ xmlns:xlink="http://www.w3.org/1999/xlink"
741+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
742+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
743+ width="96"
744+ height="96"
745+ id="svg6517"
746+ version="1.1"
747+ inkscape:version="0.48+devel r12274"
748+ sodipodi:docname="Juju_charm_icon_template.svg">
749+ <defs
750+ id="defs6519">
751+ <linearGradient
752+ inkscape:collect="always"
753+ xlink:href="#Background"
754+ id="linearGradient6461"
755+ gradientUnits="userSpaceOnUse"
756+ x1="0"
757+ y1="970.29498"
758+ x2="144"
759+ y2="970.29498"
760+ gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" />
761+ <linearGradient
762+ id="Background">
763+ <stop
764+ id="stop4178"
765+ offset="0"
766+ style="stop-color:#b8b8b8;stop-opacity:1" />
767+ <stop
768+ id="stop4180"
769+ offset="1"
770+ style="stop-color:#c9c9c9;stop-opacity:1" />
771+ </linearGradient>
772+ <filter
773+ style="color-interpolation-filters:sRGB;"
774+ inkscape:label="Inner Shadow"
775+ id="filter1121">
776+ <feFlood
777+ flood-opacity="0.59999999999999998"
778+ flood-color="rgb(0,0,0)"
779+ result="flood"
780+ id="feFlood1123" />
781+ <feComposite
782+ in="flood"
783+ in2="SourceGraphic"
784+ operator="out"
785+ result="composite1"
786+ id="feComposite1125" />
787+ <feGaussianBlur
788+ in="composite1"
789+ stdDeviation="1"
790+ result="blur"
791+ id="feGaussianBlur1127" />
792+ <feOffset
793+ dx="0"
794+ dy="2"
795+ result="offset"
796+ id="feOffset1129" />
797+ <feComposite
798+ in="offset"
799+ in2="SourceGraphic"
800+ operator="atop"
801+ result="composite2"
802+ id="feComposite1131" />
803+ </filter>
804+ <filter
805+ style="color-interpolation-filters:sRGB;"
806+ inkscape:label="Drop Shadow"
807+ id="filter950">
808+ <feFlood
809+ flood-opacity="0.25"
810+ flood-color="rgb(0,0,0)"
811+ result="flood"
812+ id="feFlood952" />
813+ <feComposite
814+ in="flood"
815+ in2="SourceGraphic"
816+ operator="in"
817+ result="composite1"
818+ id="feComposite954" />
819+ <feGaussianBlur
820+ in="composite1"
821+ stdDeviation="1"
822+ result="blur"
823+ id="feGaussianBlur956" />
824+ <feOffset
825+ dx="0"
826+ dy="1"
827+ result="offset"
828+ id="feOffset958" />
829+ <feComposite
830+ in="SourceGraphic"
831+ in2="offset"
832+ operator="over"
833+ result="composite2"
834+ id="feComposite960" />
835+ </filter>
836+ <clipPath
837+ clipPathUnits="userSpaceOnUse"
838+ id="clipPath873">
839+ <g
840+ transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
841+ id="g875"
842+ inkscape:label="Layer 1"
843+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
844+ <path
845+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
846+ d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
847+ id="path877"
848+ inkscape:connector-curvature="0"
849+ sodipodi:nodetypes="sssssssss" />
850+ </g>
851+ </clipPath>
852+ <filter
853+ inkscape:collect="always"
854+ id="filter891"
855+ inkscape:label="Badge Shadow">
856+ <feGaussianBlur
857+ inkscape:collect="always"
858+ stdDeviation="0.71999962"
859+ id="feGaussianBlur893" />
860+ </filter>
861+ </defs>
862+ <sodipodi:namedview
863+ id="base"
864+ pagecolor="#ffffff"
865+ bordercolor="#666666"
866+ borderopacity="1.0"
867+ inkscape:pageopacity="0.0"
868+ inkscape:pageshadow="2"
869+ inkscape:zoom="4.0745362"
870+ inkscape:cx="18.514671"
871+ inkscape:cy="49.018169"
872+ inkscape:document-units="px"
873+ inkscape:current-layer="layer1"
874+ showgrid="true"
875+ fit-margin-top="0"
876+ fit-margin-left="0"
877+ fit-margin-right="0"
878+ fit-margin-bottom="0"
879+ inkscape:window-width="1920"
880+ inkscape:window-height="1029"
881+ inkscape:window-x="0"
882+ inkscape:window-y="24"
883+ inkscape:window-maximized="1"
884+ showborder="true"
885+ showguides="true"
886+ inkscape:guide-bbox="true"
887+ inkscape:showpageshadow="false">
888+ <inkscape:grid
889+ type="xygrid"
890+ id="grid821" />
891+ <sodipodi:guide
892+ orientation="1,0"
893+ position="16,48"
894+ id="guide823" />
895+ <sodipodi:guide
896+ orientation="0,1"
897+ position="64,80"
898+ id="guide825" />
899+ <sodipodi:guide
900+ orientation="1,0"
901+ position="80,40"
902+ id="guide827" />
903+ <sodipodi:guide
904+ orientation="0,1"
905+ position="64,16"
906+ id="guide829" />
907+ </sodipodi:namedview>
908+ <metadata
909+ id="metadata6522">
910+ <rdf:RDF>
911+ <cc:Work
912+ rdf:about="">
913+ <dc:format>image/svg+xml</dc:format>
914+ <dc:type
915+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
916+ <dc:title></dc:title>
917+ </cc:Work>
918+ </rdf:RDF>
919+ </metadata>
920+ <g
921+ inkscape:label="BACKGROUND"
922+ inkscape:groupmode="layer"
923+ id="layer1"
924+ transform="translate(268,-635.29076)"
925+ style="display:inline">
926+ <path
927+ style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
928+ d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
929+ id="path6455"
930+ inkscape:connector-curvature="0"
931+ sodipodi:nodetypes="sssssssss" />
932+ </g>
933+ <g
934+ inkscape:groupmode="layer"
935+ id="layer3"
936+ inkscape:label="PLACE YOUR PICTOGRAM HERE"
937+ style="display:inline" />
938+ <g
939+ inkscape:groupmode="layer"
940+ id="layer2"
941+ inkscape:label="BADGE"
942+ style="display:none"
943+ sodipodi:insensitive="true">
944+ <g
945+ style="display:inline"
946+ transform="translate(-340.00001,-581)"
947+ id="g4394"
948+ clip-path="none">
949+ <g
950+ id="g855">
951+ <g
952+ inkscape:groupmode="maskhelper"
953+ id="g870"
954+ clip-path="url(#clipPath873)"
955+ style="opacity:0.6;filter:url(#filter891)">
956+ <path
957+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
958+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
959+ sodipodi:ry="12"
960+ sodipodi:rx="12"
961+ sodipodi:cy="552.36218"
962+ sodipodi:cx="252"
963+ id="path844"
964+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
965+ sodipodi:type="arc" />
966+ </g>
967+ <g
968+ id="g862">
969+ <path
970+ sodipodi:type="arc"
971+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
972+ id="path4398"
973+ sodipodi:cx="252"
974+ sodipodi:cy="552.36218"
975+ sodipodi:rx="12"
976+ sodipodi:ry="12"
977+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
978+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
979+ <path
980+ transform="matrix(1.25,0,0,1.25,33,-100.45273)"
981+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
982+ sodipodi:ry="12"
983+ sodipodi:rx="12"
984+ sodipodi:cy="552.36218"
985+ sodipodi:cx="252"
986+ id="path4400"
987+ style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
988+ sodipodi:type="arc" />
989+ <path
990+ sodipodi:type="star"
991+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
992+ id="path4459"
993+ sodipodi:sides="5"
994+ sodipodi:cx="666.19574"
995+ sodipodi:cy="589.50385"
996+ sodipodi:r1="7.2431178"
997+ sodipodi:r2="4.3458705"
998+ sodipodi:arg1="1.0471976"
999+ sodipodi:arg2="1.6755161"
1000+ inkscape:flatsided="false"
1001+ inkscape:rounded="0.1"
1002+ inkscape:randomized="0"
1003+ d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z"
1004+ transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
1005+ </g>
1006+ </g>
1007+ </g>
1008+ </g>
1009+</svg>
1010
1011=== added file 'tests/create/python-apt/icon.svg'
1012--- tests/create/python-apt/icon.svg 1970-01-01 00:00:00 +0000
1013+++ tests/create/python-apt/icon.svg 2013-04-25 21:00:33 +0000
1014@@ -0,0 +1,279 @@
1015+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1016+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1017+
1018+<svg
1019+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1020+ xmlns:cc="http://creativecommons.org/ns#"
1021+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1022+ xmlns:svg="http://www.w3.org/2000/svg"
1023+ xmlns="http://www.w3.org/2000/svg"
1024+ xmlns:xlink="http://www.w3.org/1999/xlink"
1025+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1026+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1027+ width="96"
1028+ height="96"
1029+ id="svg6517"
1030+ version="1.1"
1031+ inkscape:version="0.48+devel r12274"
1032+ sodipodi:docname="Juju_charm_icon_template.svg">
1033+ <defs
1034+ id="defs6519">
1035+ <linearGradient
1036+ inkscape:collect="always"
1037+ xlink:href="#Background"
1038+ id="linearGradient6461"
1039+ gradientUnits="userSpaceOnUse"
1040+ x1="0"
1041+ y1="970.29498"
1042+ x2="144"
1043+ y2="970.29498"
1044+ gradientTransform="matrix(0,-0.66666669,0.6660448,0,-866.25992,731.29077)" />
1045+ <linearGradient
1046+ id="Background">
1047+ <stop
1048+ id="stop4178"
1049+ offset="0"
1050+ style="stop-color:#b8b8b8;stop-opacity:1" />
1051+ <stop
1052+ id="stop4180"
1053+ offset="1"
1054+ style="stop-color:#c9c9c9;stop-opacity:1" />
1055+ </linearGradient>
1056+ <filter
1057+ style="color-interpolation-filters:sRGB;"
1058+ inkscape:label="Inner Shadow"
1059+ id="filter1121">
1060+ <feFlood
1061+ flood-opacity="0.59999999999999998"
1062+ flood-color="rgb(0,0,0)"
1063+ result="flood"
1064+ id="feFlood1123" />
1065+ <feComposite
1066+ in="flood"
1067+ in2="SourceGraphic"
1068+ operator="out"
1069+ result="composite1"
1070+ id="feComposite1125" />
1071+ <feGaussianBlur
1072+ in="composite1"
1073+ stdDeviation="1"
1074+ result="blur"
1075+ id="feGaussianBlur1127" />
1076+ <feOffset
1077+ dx="0"
1078+ dy="2"
1079+ result="offset"
1080+ id="feOffset1129" />
1081+ <feComposite
1082+ in="offset"
1083+ in2="SourceGraphic"
1084+ operator="atop"
1085+ result="composite2"
1086+ id="feComposite1131" />
1087+ </filter>
1088+ <filter
1089+ style="color-interpolation-filters:sRGB;"
1090+ inkscape:label="Drop Shadow"
1091+ id="filter950">
1092+ <feFlood
1093+ flood-opacity="0.25"
1094+ flood-color="rgb(0,0,0)"
1095+ result="flood"
1096+ id="feFlood952" />
1097+ <feComposite
1098+ in="flood"
1099+ in2="SourceGraphic"
1100+ operator="in"
1101+ result="composite1"
1102+ id="feComposite954" />
1103+ <feGaussianBlur
1104+ in="composite1"
1105+ stdDeviation="1"
1106+ result="blur"
1107+ id="feGaussianBlur956" />
1108+ <feOffset
1109+ dx="0"
1110+ dy="1"
1111+ result="offset"
1112+ id="feOffset958" />
1113+ <feComposite
1114+ in="SourceGraphic"
1115+ in2="offset"
1116+ operator="over"
1117+ result="composite2"
1118+ id="feComposite960" />
1119+ </filter>
1120+ <clipPath
1121+ clipPathUnits="userSpaceOnUse"
1122+ id="clipPath873">
1123+ <g
1124+ transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
1125+ id="g875"
1126+ inkscape:label="Layer 1"
1127+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
1128+ <path
1129+ style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
1130+ d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
1131+ id="path877"
1132+ inkscape:connector-curvature="0"
1133+ sodipodi:nodetypes="sssssssss" />
1134+ </g>
1135+ </clipPath>
1136+ <filter
1137+ inkscape:collect="always"
1138+ id="filter891"
1139+ inkscape:label="Badge Shadow">
1140+ <feGaussianBlur
1141+ inkscape:collect="always"
1142+ stdDeviation="0.71999962"
1143+ id="feGaussianBlur893" />
1144+ </filter>
1145+ </defs>
1146+ <sodipodi:namedview
1147+ id="base"
1148+ pagecolor="#ffffff"
1149+ bordercolor="#666666"
1150+ borderopacity="1.0"
1151+ inkscape:pageopacity="0.0"
1152+ inkscape:pageshadow="2"
1153+ inkscape:zoom="4.0745362"
1154+ inkscape:cx="18.514671"
1155+ inkscape:cy="49.018169"
1156+ inkscape:document-units="px"
1157+ inkscape:current-layer="layer1"
1158+ showgrid="true"
1159+ fit-margin-top="0"
1160+ fit-margin-left="0"
1161+ fit-margin-right="0"
1162+ fit-margin-bottom="0"
1163+ inkscape:window-width="1920"
1164+ inkscape:window-height="1029"
1165+ inkscape:window-x="0"
1166+ inkscape:window-y="24"
1167+ inkscape:window-maximized="1"
1168+ showborder="true"
1169+ showguides="true"
1170+ inkscape:guide-bbox="true"
1171+ inkscape:showpageshadow="false">
1172+ <inkscape:grid
1173+ type="xygrid"
1174+ id="grid821" />
1175+ <sodipodi:guide
1176+ orientation="1,0"
1177+ position="16,48"
1178+ id="guide823" />
1179+ <sodipodi:guide
1180+ orientation="0,1"
1181+ position="64,80"
1182+ id="guide825" />
1183+ <sodipodi:guide
1184+ orientation="1,0"
1185+ position="80,40"
1186+ id="guide827" />
1187+ <sodipodi:guide
1188+ orientation="0,1"
1189+ position="64,16"
1190+ id="guide829" />
1191+ </sodipodi:namedview>
1192+ <metadata
1193+ id="metadata6522">
1194+ <rdf:RDF>
1195+ <cc:Work
1196+ rdf:about="">
1197+ <dc:format>image/svg+xml</dc:format>
1198+ <dc:type
1199+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1200+ <dc:title></dc:title>
1201+ </cc:Work>
1202+ </rdf:RDF>
1203+ </metadata>
1204+ <g
1205+ inkscape:label="BACKGROUND"
1206+ inkscape:groupmode="layer"
1207+ id="layer1"
1208+ transform="translate(268,-635.29076)"
1209+ style="display:inline">
1210+ <path
1211+ style="fill:url(#linearGradient6461);fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
1212+ d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
1213+ id="path6455"
1214+ inkscape:connector-curvature="0"
1215+ sodipodi:nodetypes="sssssssss" />
1216+ </g>
1217+ <g
1218+ inkscape:groupmode="layer"
1219+ id="layer3"
1220+ inkscape:label="PLACE YOUR PICTOGRAM HERE"
1221+ style="display:inline" />
1222+ <g
1223+ inkscape:groupmode="layer"
1224+ id="layer2"
1225+ inkscape:label="BADGE"
1226+ style="display:none"
1227+ sodipodi:insensitive="true">
1228+ <g
1229+ style="display:inline"
1230+ transform="translate(-340.00001,-581)"
1231+ id="g4394"
1232+ clip-path="none">
1233+ <g
1234+ id="g855">
1235+ <g
1236+ inkscape:groupmode="maskhelper"
1237+ id="g870"
1238+ clip-path="url(#clipPath873)"
1239+ style="opacity:0.6;filter:url(#filter891)">
1240+ <path
1241+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
1242+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
1243+ sodipodi:ry="12"
1244+ sodipodi:rx="12"
1245+ sodipodi:cy="552.36218"
1246+ sodipodi:cx="252"
1247+ id="path844"
1248+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1249+ sodipodi:type="arc" />
1250+ </g>
1251+ <g
1252+ id="g862">
1253+ <path
1254+ sodipodi:type="arc"
1255+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1256+ id="path4398"
1257+ sodipodi:cx="252"
1258+ sodipodi:cy="552.36218"
1259+ sodipodi:rx="12"
1260+ sodipodi:ry="12"
1261+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
1262+ transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
1263+ <path
1264+ transform="matrix(1.25,0,0,1.25,33,-100.45273)"
1265+ d="m 264,552.36218 a 12,12 0 1 1 -24,0 A 12,12 0 1 1 264,552.36218 Z"
1266+ sodipodi:ry="12"
1267+ sodipodi:rx="12"
1268+ sodipodi:cy="552.36218"
1269+ sodipodi:cx="252"
1270+ id="path4400"
1271+ style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1272+ sodipodi:type="arc" />
1273+ <path
1274+ sodipodi:type="star"
1275+ style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
1276+ id="path4459"
1277+ sodipodi:sides="5"
1278+ sodipodi:cx="666.19574"
1279+ sodipodi:cy="589.50385"
1280+ sodipodi:r1="7.2431178"
1281+ sodipodi:r2="4.3458705"
1282+ sodipodi:arg1="1.0471976"
1283+ sodipodi:arg2="1.6755161"
1284+ inkscape:flatsided="false"
1285+ inkscape:rounded="0.1"
1286+ inkscape:randomized="0"
1287+ d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 C 669.9821,591.68426 670.20862,595.55064 669.8173,595.77657 Z"
1288+ transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
1289+ </g>
1290+ </g>
1291+ </g>
1292+ </g>
1293+</svg>
1294
1295=== added file 'tests/proof/expected/icon-template'
1296--- tests/proof/expected/icon-template 1970-01-01 00:00:00 +0000
1297+++ tests/proof/expected/icon-template 2013-04-25 21:00:33 +0000
1298@@ -0,0 +1,15 @@
1299+E: Includes template icon.svg file.
1300+E: no copyright file
1301+E: Includes template README.ex file
1302+E: README.ex Includes boilerplate README.ex line 1
1303+E: README.ex Includes boilerplate README.ex line 2
1304+E: template interface names should be changed: interface-name
1305+E: Unknown relation field in relation relation-name - (baz)
1306+E: template relations should be renamed to fit charm: relation-name
1307+E: Unknown scope found in relation relation-name - (flouride)
1308+E: template interface names should be changed: interface-name
1309+E: template relations should be renamed to fit charm: relation-name
1310+E: relation non-map is not a map
1311+I: relation non-map has no hooks
1312+E: template interface names should be changed: interface-name
1313+E: template relations should be renamed to fit charm: relation-name

Subscribers

People subscribed via source and target branches