Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 <svg xmlns="http://www.w3.org/2000/svg"
2 xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 200 600">
3 <!-- 1. patternUnits -->
4 <defs>
5 <pattern id="patternUnits" width="80" height="80"
6 patternUnits="userSpaceOnUse">
7 <rect width="50" height="50" fill="blue"/>
8 <rect x="50" width="50" height="50" fill="red"/>
9 <rect y="50" width="50" height="50" fill="red"/>
10 <rect x="50" y="50" width="50" height="50" fill="blue"/>
11 </pattern>
12 </defs>
13 <rect width="100" height="100" stroke="black" fill="url(#patternUnits)"/>
14 <g transform="translate(100)">
15 <rect width="100" height="100" stroke="black" fill="url(#patternUnits)"/>
16 </g>
17 <!-- 2. patternContentUnits -->
18 <defs>
19 <pattern id="patternContentUnits" width="1" height="1"
20 patternContentUnits="objectBoundingBox">
21 <rect width="0.5" height="0.5" fill="blue"/>
22 <rect x="0.5" width="0.5" height="0.5" fill="red"/>
23 <rect y="0.5" width="0.5" height="0.5" fill="red"/>
24 <rect x="0.5" y="0.5" width="0.5" height="0.5" fill="blue"/>
25 </pattern>
26 </defs>
27 <g transform="translate(0 100)">
28 <rect width="100" height="100" stroke="black"
29 fill="url(#patternContentUnits)"/>
30 <g transform="translate(100)">
31 <rect width="100" height="100" stroke="black"
32 fill="url(#patternContentUnits)"/>
33 </g>
34 </g>
35 <!-- 3. patternTransform -->
36 <defs>
37 <pattern id="patternTransform" width="1" height="1"
38 patternTransform="rotate(45 50 50)">
39 <rect width="50" height="50" fill="blue"/>
40 <rect x="50" width="50" height="50" fill="red"/>
41 <rect y="50" width="50" height="50" fill="red"/>
42 <rect x="50" y="50" width="50" height="50" fill="blue"/>
43 </pattern>
44 </defs>
45 <g transform="translate(0 200)">
46 <rect width="100" height="100" stroke="black"
47 fill="url(#patternTransform)"/>
48 <g transform="translate(100)">
49 <rect width="100" height="100" stroke="black"
50 fill="url(#patternTransform)"/>
51 </g>
52 </g>
53 <!-- 4. preserveAspectRatio -->
54 <defs>
55 <pattern id="par" width="1" height="1" viewBox="0.1 0.1 0.6 0.85"
56 preserveAspectRatio="none">
57 <rect width="50" height="50" fill="blue"/>
58 <rect x="50" width="50" height="50" fill="red"/>
59 <rect y="50" width="50" height="50" fill="red"/>
60 <rect x="50" y="50" width="50" height="50" fill="blue"/>
61 </pattern>
62 </defs>
63 <g transform="translate(0 300)">
64 <rect width="100" height="100" stroke="black" fill="url(#par)"/>
65 <g transform="translate(100)">
66 <rect width="100" height="100" stroke="black" fill="url(#par)"/>
67 </g>
68 </g>
69 <!-- 5. viewBox -->
70 <defs>
71 <pattern id="viewBox" width="1" height="1" viewBox="0.1 0.1 0.6 0.85"
72 preserveAspectRatio="none">
73 <rect width="50" height="50" fill="blue"/>
74 <rect x="50" width="50" height="50" fill="red"/>
75 <rect y="50" width="50" height="50" fill="red"/>
76 <rect x="50" y="50" width="50" height="50" fill="blue"/>
77 </pattern>
78 </defs>
79 <g transform="translate(0 400)">
80 <rect width="100" height="100" stroke="black" fill="url(#viewBox)"/>
81 <g transform="translate(100)">
82 <rect width="100" height="100" stroke="black" fill="url(#viewBox)"/>
83 </g>
84 </g>
85 <!-- 6. xlink:href -->
86 <defs>
87 <pattern id="xlink" xlink:href="#xlinkRef"/>
88 <pattern id="xlinkRef" width="1" height="1">
89 <rect width="50" height="50" fill="blue"/>
90 <rect x="50" width="50" height="50" fill="red"/>
91 <rect y="50" width="50" height="50" fill="red"/>
92 <rect x="50" y="50" width="50" height="50" fill="blue"/>
93 </pattern>
94 </defs>
95 <g transform="translate(0 500)">
96 <rect width="100" height="100" stroke="black" fill="url(#xlink)"/>
97 <g transform="translate(100)">
98 <rect width="100" height="100" stroke="black" fill="url(#xlink)"/>
99 </g>
100 </g>
101 <!-- If adding more tests here, be sure to update the viewBox on the root svg
102 element -->
103 </svg>