<?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" margin-left="0.5in" margin-right="0.5in">
          <fo:region-body background-color="lightgray"/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal">
        <fo:flow flow-name="xsl-region-body">
          <fo:table table-layout="fixed" start-indent="20pt" end-indent="20pt" border-collapse="separate" id="table1">
            <fo:table-column/>
            <fo:table-body start-indent="0pt" end-indent="0pt">
              <fo:table-row>
                <fo:table-cell background-color="yellow">
                  <fo:block>content</fo:block>
                </fo:table-cell>
              </fo:table-row>
            </fo:table-body>
          </fo:table>
          <fo:table table-layout="fixed" width="100%" start-indent="20pt" end-indent="20pt" border-collapse="separate" id="table2">
            <fo:table-column/>
            <fo:table-body start-indent="0pt" end-indent="0pt">
              <fo:table-row>
                <fo:table-cell background-color="yellow">
                  <fo:block>content</fo:block>
                </fo:table-cell>
              </fo:table-row>
            </fo:table-body>
          </fo:table>
          <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="4in - 1.5in" inline-progression-dimension="1.5in" block-progression-dimension="5pt" background-color="orange">
            <fo:block/>
          </fo:block-container>
          <fo:table table-layout="fixed" start-indent="3in" end-indent="1.5in" border-collapse="separate" id="table3">
            <fo:table-column/>
            <fo:table-body start-indent="0pt" end-indent="0pt">
              <fo:table-row>
                <fo:table-cell background-color="yellow">
                  <fo:block>5.3.4 Overconstrained Geometry</fo:block>
                </fo:table-cell>
              </fo:table-row>
            </fo:table-body>
          </fo:table>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <!-- table 1 -->
    <eval expected="248000" xpath="//block[@prod-id = 'table1']/@ipd"/>
    <eval expected="248000" xpath="//block[@prod-id = 'table1']/@ipda"/>
    <eval expected="20000" xpath="//block[@prod-id = 'table1']/@start-indent"/>
    <eval expected="20000" xpath="//block[@prod-id = 'table1']/@end-indent"/>

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

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