<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- $Id$ -->
<testcase>
  <info>
    <p>
      This test checks leaders
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="normal" page-width="5in" page-height="6in">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal" white-space-collapse="true">
        <fo:flow flow-name="xsl-region-body">
          <fo:block margin="0pt" padding-left="10mm">
                margin="0pt" padding-left="10mm"
          </fo:block>
          <fo:block padding-left="10mm">
                padding-left="10mm"
          </fo:block>
          <fo:block>
            <fo:leader leader-length.minimum="12pt"
              leader-length.optimum="80pt"
              leader-length.maximum="100%" leader-pattern="dots" leader-alignment="page"/>
              leader-alignment="page"
          </fo:block>
          <fo:block margin="0pt" padding-left="10mm">
            <fo:leader leader-length.minimum="12pt"
              leader-length.optimum="80pt"
              leader-length.maximum="100%" leader-pattern="dots" leader-alignment="page"/>
              leader-alignment="page"
          </fo:block>
          <fo:block margin="0pt" padding-left="5mm">
            <fo:leader leader-length.minimum="12pt"
              leader-length.optimum="80pt"
              leader-length.maximum="100%" leader-pattern="dots" leader-alignment="reference-area"/>
              leader-alignment="reference-area"
            <fo:leader leader-length.minimum="12pt"
              leader-length.optimum="80pt"
              leader-length.maximum="100%" leader-pattern="dots" leader-alignment="reference-area"/>
              leader-alignment="reference-area" Leader-pattern is aligned as if it began on the current reference-area's content-rectangle start-edge.
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
  </checks>
</testcase>
