<?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 a forced before break following an IPD change is correctly handled.
    </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="220pt" page-width="320pt" margin="10pt">
          <fo:region-body background-color="#F0F0F0"/>
        </fo:simple-page-master>
        <fo:simple-page-master master-name="wide"
          page-height="220pt" page-width="520pt" margin="10pt">
          <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" language="en" hyphenate="true">
          <fo:block id="surrounding1" text-align="justify"
            space-before.minimum="10pt"
            space-before.optimum="12pt"
            space-before.maximum="50pt">
            <fo:block space-before="inherit" 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 space-before="inherit" 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 space-before="inherit" 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 space-before="inherit" 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>
          <fo:block id="surrounding2" text-align="justify" break-before="page"
            space-before.minimum="10pt"
            space-before.optimum="12pt"
            space-before.maximum="50pt">
            <fo:block space-before="inherit" 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:block space-before="inherit" id="b6">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>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <eval expected="b3"     xpath="//pageViewport[1]//flow/block/block[3]/@prod-id"/>
    <eval expected="In"     xpath="//pageViewport[1]//flow/block/block[3]/lineArea[4]/text/word[position()=last()]"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block/block[1]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[2]//flow/block/block[1]/lineArea[1]/@ipd"/>
    <eval expected="olden"  xpath="//pageViewport[2]//flow/block/block[1]/lineArea[1]/text/word[1]"/>
    <eval expected="b5"     xpath="//pageViewport[3]//flow/block/block[1]/@prod-id"/>
    <eval expected="500000" xpath="//pageViewport[3]//flow/block/block[1]/@ipd"/>
    <eval expected="500000" xpath="//pageViewport[3]//flow/block/block[1]/lineArea[1]/@ipd"/>
    <eval expected="In"     xpath="//pageViewport[3]//flow/block/block[1]/lineArea[1]/text/word[1]"/>
  </checks>
</testcase>
