<?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 Bugzilla bug #43917 where the lower border wasn't painted if there was
      a hard break after the block.
    </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">
        <fo:flow flow-name="xsl-region-body">
          <fo:block border="1pt solid black" border-after-width="1.1pt" break-after="page">
            <fo:block>Line 1</fo:block>
            <fo:block>Line 2</fo:block>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
      <fo:page-sequence master-reference="normal">
        <fo:flow flow-name="xsl-region-body">
          <fo:block border="1pt solid black" border-after-width="1.1pt">
            <fo:block>Line 1</fo:block>
            <fo:block break-after="page">Line 2</fo:block>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <element-list category="breaker" index="0">
      <box w="0"/> <!-- SpaceHandlingPosition -->
      <penalty w="0" p="INF"/>
      <glue w="1000"/> <!-- border-before -->
      
      <box w="14400"/> <!-- Line 1 -->
      <penalty w="0" p="0"/> <!--SpaceHandlingBreakPosition-->
      <box w="14400"/> <!-- Line 2 -->
      
      <penalty w="0" p="INF"/>
      <glue w="1100"/> <!-- border-after -->
      <box w="0" aux="true"/> <!-- aux. block -->
      
      <skip>3</skip> <!-- the last of the three holds a SpaceHandlingBreakPosition -->
    </element-list>
    <element-list category="breaker" index="1">
      <box w="0"/> <!-- SpaceHandlingPosition -->
      <penalty w="0" p="INF"/>
      <glue w="1000"/> <!-- border-before -->
      
      <box w="14400"/> <!-- Line 1 -->
      <penalty w="0" p="0"/> <!--SpaceHandlingBreakPosition-->
      <box w="14400"/> <!-- Line 2 -->
      
      <penalty w="0" p="INF"/>
      <glue w="1100"/> <!-- border-after -->
      <box w="0" aux="true"/> <!-- aux. block -->
      
      <skip>3</skip>
    </element-list>
    <eval expected="(solid,#000000,1000)" xpath="(//flow)[1]/block[1]/@border-before"/>
    <eval expected="(solid,#000000,1100)" xpath="(//flow)[1]/block[1]/@border-after"/>
    <eval expected="(solid,#000000,1000)" xpath="(//flow)[2]/block[1]/@border-before"/>
    <eval expected="(solid,#000000,1100)" xpath="(//flow)[2]/block[1]/@border-after"/>
  </checks>
</testcase>
