<?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 a same page internal-destination on a fo:basic-link which references a prior block.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master margin-right="1cm" margin-left="1cm" margin-bottom="0.3cm" margin-top="1cm" page-width="21cm" page-height="29.7cm" master-name="all">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence format="1" id="th_default_sequence1" master-reference="all">
        <fo:flow flow-name="xsl-region-body">
          <fo:block>
            <fo:block>
              <fo:basic-link internal-destination="N1004A">1 Cross-references </fo:basic-link>
            </fo:block>
            <fo:block id="N1004A">
              <fo:block id="c1001"/>1 Cross-references</fo:block>
            <fo:block break-before="page">
              <fo:basic-link color="blue" internal-destination="c1001">STATIC SECTION 1 reference </fo:basic-link>
            </fo:block>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <if-checks xmlns:if="http://xmlgraphics.apache.org/fop/intermediate" xmlns:n="http://xmlgraphics.apache.org/fop/intermediate/document-navigation">
    <eval expected="0" xpath="//if:page[@index=0]/if:page-trailer/n:link/n:goto-xy/@page-index"/>
    <eval expected="" xpath="//if:page[@index=0]/if:page-trailer/n:link/n:goto-xy/@page-index-relative"/>
    <eval expected="0" xpath="//if:page[@index=1]/if:page-trailer/n:link/n:goto-xy/@page-index"/>
    <eval expected="-1" xpath="//if:page[@index=1]/if:page-trailer/n:link/n:goto-xy/@page-index-relative"/>
  </if-checks>
</testcase>
