Each cell states what it should look like.
A single wide band. The old triangle-mesh approximation showed this as a row of flat vertical strips with visible steps between them; there must be no banding and no seams.
One gradient, three shapes of different sizes and positions. The default units are fractions of each shape's own bounding box, so all three show the WHOLE ramp end to end — not a slice of a shared one.
The same three shapes with
gradientUnits="userSpaceOnUse" and the vector spanning x=0..300.
Now the ramp belongs to the drawing, so each shape shows only the SLICE of it
that it covers: the small rectangles are nearly flat, and the top-left one is
red while the bottom-right one is blue.
Four two-stop gradients differing only in their vector, then one with an off-centre middle stop.
The same gradient over x=0..0.25 of the box, with the three
spread methods. pad holds the end colour, reflect
mirrors, repeat restarts with a hard edge at each period.
Default (concentric), an off-centre focal point, a smaller radius, and one on a non-square box — where objectBoundingBox units make the circle an ELLIPSE, which is what the spec asks for.
A gradient fading to nothing, over a background bar. This needs per-stop alpha, not just per-shape: the left end must be opaque and the right end fully see-through.
The same horizontal gradient rotated, skewed and scaled by
gradientTransform. The transform composes with the bounding-box
mapping, so it is applied in the box's own space.
One gradient defines the stops; the others reference it with
xlink:href and only override the geometry. All three must be
coloured — a failure here paints nothing at all, since a paint reference
that resolves to no stops means "not rendered".
A gradient as stroke rather than
fill, including one shape that has a gradient on both. The first
line is a trap: a horizontal line has a bounding box of zero height, and with
the default objectBoundingBox units SVG says such an element is
NOT RENDERED. The second line states the same gradient in user space, where
there is no box to be degenerate, and does paint.
The case the triangle mesh got wrong: a path of several
subpaths with fill-rule="evenodd". The gradient must fill the ring
and the counter of the letter must stay open — not be flooded into a
solid blob.
The same shape and gradient at three scales, inside transformed groups. The ramp is anchored to the shape, so all three look identical apart from size — the gradient must not stay behind at the origin or shear.
None of these may make the shape vanish. SVG names the colour each degenerate case takes: a zero-length vector and a zero radius are painted with the LAST stop, which is why the middle two are white and not mid-grey.
A ten-stop ramp, to check the stops arrive in order and none is dropped.
The combination real artwork uses: a gradient fill inside a clip, with a gradient-stroked dashed ring over it.