110 lines
6.6 KiB
XML
110 lines
6.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
|
|
<!--======================================================================-->
|
|
<!--= Copyright 2000 World Wide Web Consortium, (Massachusetts =-->
|
|
<!--= Institute of Technology, Institut National de Recherche en =-->
|
|
<!--= Informatique et en Automatique, Keio University). All Rights =-->
|
|
<!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
|
|
<!--======================================================================-->
|
|
<!-- =====================================================================-->
|
|
<!-- style-selector-BE-03.svg -->
|
|
<!-- renamed for 1.1 suite to styling-css-03-b.svg -->
|
|
<!-- Author : Chris lilley, 22-Feb-2000 -->
|
|
<!-- Modified for svg 1.1 by Ola Andersson, 07-Mar-2002 -->
|
|
<!-- Revised for Mobile Profiles: Jun Fujisawa 16-Jul-2002 -->
|
|
<!--======================================================================-->
|
|
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360">
|
|
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
|
|
<OperatorScript version="$Revision: 1.1 $" testname="styling-css-03-b.svg">
|
|
<Paragraph>
|
|
Verify the capability to handle combinations of simple CSS2 selectors. The style
|
|
sheet is contained in a style element in the SVG file. The picture is in two halves.
|
|
In each half there is a group (of class 'mummy') of circle, a rectangle and an
|
|
irregular polygon. A style on the group makes all the children have blue fill by
|
|
inheritance, which is overridden by a more specific selector that makes all circle,
|
|
rect, and polygon descendents have green fill. Thus, any blue fill displayed is incorrect.
|
|
</Paragraph>
|
|
<Paragraph>
|
|
In the upper test, the selector 'immediate child' selects all elements of class
|
|
'thischild' which are immediate children of the elements of class 'mummy'. The
|
|
rectangle and the polygon are of class'thischild' but the polygon is not an immediate
|
|
child so must not be selected. The rectangle must be red, the circle and polygon
|
|
must be green.</Paragraph>
|
|
<Paragraph>
|
|
In the lower test, the 'adjacent sibling' selector matches elements of
|
|
class 'secundus' which are adjacent to a previous sibling of class 'primus';
|
|
this makes the rectangle in the second test red. The first-child pseudoclass matches
|
|
circles which are the first child of elements of class 'mummy' and if correctly
|
|
selected this circle will be filled red. (The circle in the upper test is not
|
|
the first child). The rectangle should also be red, with the polygon green.
|
|
</Paragraph>
|
|
<Paragraph>
|
|
The rendered picture should match the reference image exactly, except for possible
|
|
variations in the labelling text (per CSS2 rules).
|
|
</Paragraph>
|
|
<Paragraph>
|
|
This tests uses 'g', 'circle', 'rect' and 'polygon' elements, as well as
|
|
fill (solid CSS1 named colors), font-family ("Arial"), and
|
|
font-size properties within the 'style' attribute and style element.
|
|
</Paragraph>
|
|
</OperatorScript>
|
|
</SVGTestCase>
|
|
|
|
<title id="test-title">styling-css-03-b</title>
|
|
<desc id="test-desc">
|
|
Test that viewer handles combinations of the simple
|
|
CSS2 selectors: ancestor, child, sibling.</desc>
|
|
|
|
<!--======================================================================-->
|
|
<!--Content of Test Case follows... =====================-->
|
|
<!--======================================================================-->
|
|
<g id="test-body-content">
|
|
|
|
<defs>
|
|
<style type="text/css"><![CDATA[
|
|
.mummy circle, .mummy rect, .mummy polygon
|
|
{ fill: green} /* all shapes green */
|
|
.mummy > .thischild { fill: red } /* top rect red */
|
|
.primus + .secundus { fill: red } /* bottom rect red */
|
|
.mummy circle:first-child { fill: red} /* bottom circle red */
|
|
.mummy { fill: blue } /* make failure of ancestor selector obvious */
|
|
/* .gap { stroke: black; stroke-width: 3px } */ /* too complex for BE */
|
|
]]></style>
|
|
</defs>
|
|
|
|
<!-- ====================================================================== -->
|
|
<!-- child selectors ============================================== -->
|
|
<!-- ====================================================================== -->
|
|
<text style="font-family:Arial;font-size:12;" x="40" y="14">Rectangle should be red not green</text>
|
|
<text style="font-family:Arial;font-size:12;" x="40" y="36">This tests
|
|
ancestor selectors and child selectors</text>
|
|
|
|
<g class="mummy">
|
|
<rect class="thischild" x="220" y="80" width="60" height="40"/>
|
|
<circle cx="160" cy="100" r="30"/>
|
|
<g class="generation gap">
|
|
<polygon class="thischild" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
|
|
</g>
|
|
</g>
|
|
|
|
<!-- ====================================================================== -->
|
|
<!-- sibling and first-child selectors ================================== -->
|
|
<!-- ====================================================================== -->
|
|
|
|
<g transform="translate(0, 150)">
|
|
<text style="font-family:Arial;font-size:12;" x="40" y="14">Circle should be red not green; rectangle still red</text>
|
|
<text style="font-family:Arial;font-size:12;" x="40" y="36">This tests
|
|
ancestor, immediate-sibling and first-child selectors</text>
|
|
|
|
<g class="mummy">
|
|
<circle class="primus" cx="160" cy="100" r="30"/>
|
|
<rect class="secundus" x="220" y="80" width="60" height="40"/>
|
|
<polygon class="tertius" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
|
|
<text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.1 $</text>
|
|
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
|
|
</svg>
|