<?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 the behaviour of display-align on a region-body.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
          <fo:region-body column-count="4" column-gap="5pt" display-align="auto"/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal">
        <fo:flow flow-name="xsl-region-body">
          <fo:block>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="yellow" space-before.minimum="0.5em" space-before.optimum="1em" space-before.maximum="4em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
          </fo:block>
          
          <fo:block break-before="column">
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
            <fo:block-container width="100%" height="88pt" background-color="orange" space-before="1em">
              <fo:block>block-container</fo:block>
            </fo:block-container>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <eval expected="0" xpath="//regionBody/@bpd - //flow[1]/block[1]/@bpd" tolerance="3"/>
    <eval expected="72000" xpath="//regionBody/@bpd - //flow[2]/block[1]/@bpd" tolerance="3"/>
    <eval expected="72000" xpath="//regionBody/@bpd - //flow[3]/block[1]/@bpd" tolerance="3"/>
    <eval expected="72000" xpath="//regionBody/@bpd - //flow[4]/block[1]/@bpd" tolerance="3"/>
  </checks>
</testcase>
