<?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 page-number-citations with all combinations of 
      inline-level IDs.
    </p>
    <p>
      TODO:
      Test inline-container, bidi-override once implemented.
    </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="20in" 
              margin="20pt">
          <fo:region-body background-color="yellow"/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence id="page-sequence1" master-reference="normal" white-space-collapse="true">
        <fo:flow flow-name="xsl-region-body">
          <fo:block>text<fo:inline id="inline1">inline</fo:inline>text</fo:block>
          <fo:block>text<fo:wrapper id="wrapper1">wrapper</fo:wrapper>text</fo:block>
          <fo:block>text<!--fo:inline-container id="inline-container1"><fo:block>inline-container</fo:block></fo:inline-container-->text</fo:block>
          <fo:block>text<fo:page-number id="page-number1"/>text</fo:block>
          <fo:block>text<fo:page-number-citation id="page-number-citation1" ref-id="inline1"/>text</fo:block>
          <fo:block>text<fo:leader id="leader1" leader-pattern="dots" leader-length="2cm"/>text</fo:block>
          <fo:block>text<fo:character id="char1" character="X"/>text</fo:block>
          <fo:block>text<!--fo:bidi-override id="bidi1" direction="ltr">bidi-override</fo:bidi-override-->text</fo:block>
          <fo:block>text<fo:basic-link id="link1" internal-destination="page-number1">link</fo:basic-link>text</fo:block>
          <fo:block>text<fo:instream-foreign-object id="ifo1" content-height="12pt">
            <svg:svg viewBox="0 0 20 20">
              <svg:g style="fill:red; stroke:#000000">
                <svg:rect x="0" y="0" width="15" height="15"/>
                <svg:rect x="5" y="5" width="15" height="15"/>
              </svg:g>
            </svg:svg>
          </fo:instream-foreign-object>text</fo:block>
          <fo:block>text<fo:external-graphic id="eg1" src="../../resources/images/bgimg72dpi.jpg" content-height="12pt"/>text</fo:block>
        </fo:flow>
      </fo:page-sequence>
      <fo:page-sequence master-reference="normal">
        <fo:flow flow-name="xsl-region-body" font-size="8pt">
          <fo:block><fo:page-number-citation ref-id="inline1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="wrapper1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="inline-container1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="page-number1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="page-number-citation1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="leader1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="char1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="bidi1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="link1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="ifo1"/></fo:block>
          <fo:block><fo:page-number-citation ref-id="eg1"/></fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <true fail-msg="no ID for inline" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[1]"/>
    <true fail-msg="no ID for wrapper" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[2]"/>
    <true fail-msg="no ID for inline-container" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[3]"/>
    <true fail-msg="no ID for page-number" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[4]"/>
    <true fail-msg="no ID for page-number-citation" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[5]"/>
    <true fail-msg="no ID for leader" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[6]"/>
    <true fail-msg="no ID for character" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[7]"/>
    <true fail-msg="no ID for bidi-override" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[8]"/>
    <true fail-msg="no ID for basik-link" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[9]"/>
    <true fail-msg="no ID for instream-foreign-object" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[10]"/>
    <true fail-msg="no ID for external-graphic" xpath="'1' = //pageViewport[@nr=2]/page/regionViewport/regionBody/mainReference/span/flow/block[11]"/>
  </checks>
</testcase>
