<?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>
