<?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 that blocks of texts are re-laid out after a change of the flow ipd.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="narrow"
          page-height="300pt" page-width="400pt" margin="50pt">
          <fo:region-body background-color="#F0F0F0"/>
        </fo:simple-page-master>
        <fo:simple-page-master master-name="wide"
          page-height="300pt" page-width="600pt" margin="50pt">
          <fo:region-body background-color="#F0F0F0"/>
        </fo:simple-page-master>
        <fo:page-sequence-master master-name="pages">
          <fo:single-page-master-reference master-reference="narrow"/>
          <fo:repeatable-page-master-reference master-reference="wide"/>
        </fo:page-sequence-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="pages">
        <fo:flow flow-name="xsl-region-body">
          <fo:block id="b1">In olden times when wishing still helped one, there lived a king whose 
            daughters were all beautiful, but the youngest was so beautiful that the sun itself, 
            which has seen so much, was astonished whenever it shone in her face.</fo:block>
          <fo:block id="b2">In olden times when wishing still helped one, there lived a king whose 
            daughters were all beautiful, but the youngest was so beautiful that the sun itself, 
            which has seen so much, was astonished whenever it shone in her face.</fo:block>
          <fo:block id="b3">In olden times when wishing still helped one, there lived a king whose 
            daughters were all beautiful, but the youngest was so beautiful that the sun itself, 
            which has seen so much, was astonished whenever it shone in her face. In olden times 
            when wishing still helped one, there lived a king whose daughters were all beautiful, 
            but the youngest was so beautiful that the sun itself, which has seen so much, was 
            astonished whenever it shone in her face.</fo:block>
          <fo:block id="b4">In olden times when wishing still helped one, there lived a king whose 
            daughters were all beautiful, but the youngest was so beautiful that the sun itself, 
            which has seen so much, was astonished whenever it shone in her face.</fo:block>
          <fo:block id="b5">In olden times when wishing still helped one, there lived a king whose 
            daughters were all beautiful, but the youngest was so beautiful that the sun itself, 
            which has seen so much, was astonished whenever it shone in her face.</fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <eval expected="has"    xpath="//pageViewport[1]//flow/block[3]/lineArea[3]/text/word[position()=last()]"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[1]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[1]/lineArea[1]/@ipd"/>
    <eval expected="seen"   xpath="//pageViewport[2]//flow/block[1]/lineArea[1]/text/word[1]"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[2]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[2]/lineArea[1]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[3]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block[3]/lineArea[1]/@ipd"/>
  </checks>
</testcase>
