<?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 5.3.4 "Overconstrained Geometry".
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal">
        <fo:flow flow-name="xsl-region-body">
          <fo:block-container start-indent="20pt" end-indent="20pt" background-color="yellow" id="bc1">
            <fo:block start-indent="0pt" end-indent="0pt" text-align-last="justify">5.3.4 Overconstrained Geometry</fo:block>
          </fo:block-container>
          <fo:block-container width="100%" start-indent="20pt" end-indent="20pt" background-color="yellow" id="bc2">
            <fo:block start-indent="0pt" end-indent="0pt" text-align-last="justify">5.3.4 Overconstrained Geometry</fo:block>
          </fo:block-container>

          <fo:block-container space-before="10pt" inline-progression-dimension="3in" block-progression-dimension="5pt" background-color="orange">
            <fo:block/>
          </fo:block-container>
          <fo:block-container start-indent="5in - 2.5in" inline-progression-dimension="2.5in" block-progression-dimension="5pt" background-color="orange">
            <fo:block/>
          </fo:block-container>
          <fo:block-container start-indent="3in" end-indent="2.5in" background-color="yellow" id="bc3">
            <fo:block start-indent="0pt" end-indent="0pt">5.3.4 Overconstrained Geometry</fo:block>
          </fo:block-container>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <!-- block-container 1 -->
    <eval expected="320000" xpath="//block[@prod-id = 'bc1']/@ipd"/>
    <eval expected="320000" xpath="//block[@prod-id = 'bc1']/@ipda"/>
    <eval expected="20000" xpath="//block[@prod-id = 'bc1']/@start-indent"/>
    <eval expected="20000" xpath="//block[@prod-id = 'bc1']/@end-indent"/>

    <!-- block-container 2, end-indent is adjusted due to overconstrained relaxing -->
    <eval expected="360000" xpath="//block[@prod-id = 'bc2']/@ipd"/>
    <eval expected="360000" xpath="//block[@prod-id = 'bc2']/@ipda"/>
    <eval expected="20000" xpath="//block[@prod-id = 'bc2']/@start-indent"/>
    <eval expected="-20000" xpath="//block[@prod-id = 'bc2']/@end-indent"/>

    <!-- block-container 3, end-indent is adjusted due to overconstrained relaxing -->
    <eval expected="0" xpath="//block[@prod-id = 'bc3']/@ipd"/>
    <eval expected="216000" xpath="//block[@prod-id = 'bc3']/@start-indent"/>
    <eval expected="144000" xpath="//block[@prod-id = 'bc3']/@end-indent"/>
  </checks>
</testcase>
