<?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 break is still taken into account when the minimal height of a
      row is not reached yet.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="page" page-height="4in" page-width="5in" margin="0.5in">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="page">
        <fo:flow flow-name="xsl-region-body">
          <fo:block>The first row of the following table has a fixed height, and a forced break
            occurs before this height is reached.</fo:block>
          <fo:table width="100%" table-layout="fixed"
            border-collapse="separate" border="4pt solid black">
            <fo:table-body>
              <fo:table-row block-progression-dimension.minimum="40pt">
                <fo:table-cell border="4pt solid red">
                  <fo:block>Cell 1</fo:block>
                  <fo:block break-before="page">Should be on a new page</fo:block>
                </fo:table-cell>
                <fo:table-cell border="4pt solid blue">
                  <fo:block>Cell 2</fo:block>
                </fo:table-cell>
              </fo:table-row>
              <fo:table-row block-progression-dimension.minimum="50pt">
                <fo:table-cell border="4pt solid blue">
                  <fo:block>Cell 3</fo:block>
                </fo:table-cell>
                <fo:table-cell border="4pt solid blue">
                  <fo:block>Cell 4</fo:block>
                </fo:table-cell>
              </fo:table-row>
            </fo:table-body>
          </fo:table>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <!-- page 1 -->
    <eval expected="44000"  xpath="//pageViewport[1]//flow/block[2]/@bpd"/>
    <eval expected="48000"  xpath="//pageViewport[1]//flow/block[2]/@bpda"/>
    <eval expected="40000"  xpath="//pageViewport[1]//flow/block[2]/block[1]/@bpd"/>
    <eval expected="44000"  xpath="//pageViewport[1]//flow/block[2]/block[1]/@bpda"/>
    <eval expected="Cell 1" xpath="//pageViewport[1]//flow/block[2]/block[1]//text"/>
    <eval expected="40000"  xpath="//pageViewport[1]//flow/block[2]/block[2]/@bpd"/>
    <eval expected="44000"  xpath="//pageViewport[1]//flow/block[2]/block[2]/@bpda"/>
    <eval expected="Cell 2" xpath="//pageViewport[1]//flow/block[2]/block[2]//text"/>
    <!-- page 2 -->
    <eval expected="90800"  xpath="//pageViewport[2]//flow/block[1]/@bpd"/>
    <eval expected="94800"  xpath="//pageViewport[2]//flow/block[1]/@bpda"/>
    <eval expected="28800"  xpath="//pageViewport[2]//flow/block[1]/block[1]/@bpd"/>
    <eval expected="32800"  xpath="//pageViewport[2]//flow/block[1]/block[1]/@bpda"/>
    <eval expected="Should be on a new" xpath="//pageViewport[2]//flow/block[1]/block[1]//text"/>
    <eval expected="28800"  xpath="//pageViewport[2]//flow/block[1]/block[2]/@bpd"/>
    <eval expected="32800"  xpath="//pageViewport[2]//flow/block[1]/block[2]/@bpda"/>
    <eval expected=""       xpath="//pageViewport[2]//flow/block[1]/block[2]//text"/>
    <eval expected="50000"  xpath="//pageViewport[2]//flow/block[1]/block[3]/@bpd"/>
    <eval expected="58000"  xpath="//pageViewport[2]//flow/block[1]/block[3]/@bpda"/>
    <eval expected="50000"  xpath="//pageViewport[2]//flow/block[1]/block[4]/@bpd"/>
    <eval expected="58000"  xpath="//pageViewport[2]//flow/block[1]/block[4]/@bpda"/>
  </checks>
</testcase>
