<?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 borders and the like on external-graphics.
    </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/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="normal" white-space-collapse="true">
        <fo:flow flow-name="xsl-region-body">
          <fo:block background-color="orange">
            <fo:external-graphic src="../resources/images/bgimg300dpi.jpg" border-style="solid" border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" background-color="white"/> Normal font
          </fo:block>
          <fo:block background-color="yellow" font-size="140pt">
            <fo:external-graphic src="../resources/images/bgimg300dpi.jpg" border-style="solid" border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" background-color="white"/> FO
          </fo:block>
          <fo:block font-size="9pt">
           In both blocks we have a setting of border-width="5pt 10pt 20pt 15pt" padding="15pt 20pt 10pt 5pt" on the e-g.
           In the first block the e-g determines the height of the line in the 2nd block the font is bigger than the e-g.
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <!-- first e-g -->
    <eval expected="46080" xpath="//flow/block[1]/lineArea/viewport/@ipd"/>
    <eval expected="46080" xpath="//flow/block[1]/lineArea/viewport/@bpd"/>
    <eval expected="96080" xpath="//flow/block[1]/lineArea/viewport/@bpda"/>
    <eval expected="0" xpath="//flow/block[1]/lineArea/viewport/@offset"/>
    <eval expected="20000 30000 20000 30000" xpath="//flow/block[1]/lineArea/viewport/@bap"/>
    <eval expected="color=#ffffff" xpath="//flow/block[1]/lineArea/viewport/@background"/>
    <eval expected="(solid,#000000,5000)" xpath="//flow/block[1]/lineArea/viewport/@border-before"/>
    <eval expected="(solid,#000000,20000)" xpath="//flow/block[1]/lineArea/viewport/@border-after"/>
    <eval expected="(solid,#000000,15000)" xpath="//flow/block[1]/lineArea/viewport/@border-start"/>
    <eval expected="(solid,#000000,10000)" xpath="//flow/block[1]/lineArea/viewport/@border-end"/>
    <eval expected="15000" xpath="//flow/block[1]/lineArea/viewport/@padding-before"/>
    <eval expected="10000" xpath="//flow/block[1]/lineArea/viewport/@padding-after"/>
    <eval expected="5000" xpath="//flow/block[1]/lineArea/viewport/@padding-start"/>
    <eval expected="20000" xpath="//flow/block[1]/lineArea/viewport/@padding-end"/>
    <eval expected="20000 20000 46080 46080" xpath="//flow/block[1]/lineArea/viewport/@pos"/>
    <!-- second e-g -->
    <eval expected="46080" xpath="//flow/block[2]/lineArea/viewport/@ipd"/>
    <eval expected="46080" xpath="//flow/block[2]/lineArea/viewport/@bpd"/>
    <eval expected="96080" xpath="//flow/block[2]/lineArea/viewport/@bpda"/>
    <eval expected="4440" xpath="//flow/block[2]/lineArea/viewport/@offset"/>
    <eval expected="20000 30000 20000 30000" xpath="//flow/block[2]/lineArea/viewport/@bap"/>
    <eval expected="color=#ffffff" xpath="//flow/block[2]/lineArea/viewport/@background"/>
    <eval expected="(solid,#000000,5000)" xpath="//flow/block[2]/lineArea/viewport/@border-before"/>
    <eval expected="(solid,#000000,20000)" xpath="//flow/block[2]/lineArea/viewport/@border-after"/>
    <eval expected="(solid,#000000,15000)" xpath="//flow/block[2]/lineArea/viewport/@border-start"/>
    <eval expected="(solid,#000000,10000)" xpath="//flow/block[2]/lineArea/viewport/@border-end"/>
    <eval expected="15000" xpath="//flow/block[2]/lineArea/viewport/@padding-before"/>
    <eval expected="10000" xpath="//flow/block[2]/lineArea/viewport/@padding-after"/>
    <eval expected="5000" xpath="//flow/block[2]/lineArea/viewport/@padding-start"/>
    <eval expected="20000" xpath="//flow/block[2]/lineArea/viewport/@padding-end"/>
    <eval expected="20000 20000 46080 46080" xpath="//flow/block[2]/lineArea/viewport/@pos"/>
  </checks>
</testcase>
