<?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: external-graphic_breaking.xml 824686 2009-10-13 10:52:29Z vhennebert $ -->
<testcase>
  <info>
    <p>
      This test checks external-graphics and the handling of linebreaks.
      It is unclear at the moment if consecutive images without intervening white space
      actually should have a linebreak opportunity between them or not. Fop currently
      takes the "there is no break opportunity" view and the checks test accordingly.
    </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" white-space-collapse="true">
        <fo:flow flow-name="xsl-region-body">
          <fo:block>12 external-graphic elements - no space between them</fo:block>
          <fo:block background-color="orange"><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/></fo:block>
          <fo:block>12 external-graphic elements - zwsp between them</fo:block>
          <fo:block background-color="orange"><fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_up_medium.png"/>&#x200b;<fo:external-graphic src="../../resources/images/arrow_down_medium.png"/></fo:block>
          <fo:block>12 external-graphic elements - with spaces between every 2nd</fo:block>
          <fo:block background-color="orange">
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
            <fo:external-graphic src="../../resources/images/arrow_up_medium.png"/><fo:external-graphic src="../../resources/images/arrow_down_medium.png"/>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
      <!-- 1st test - 1 overflowing line -->
      <eval expected="1" xpath="count(//flow/block[2]/lineArea)"/>
      <eval expected="12" xpath="count(//flow/block[2]/lineArea/viewport)"/>

      <!-- 2nd test - 2 lines broken after 9th graphic -->
      <eval expected="2" xpath="count(//flow/block[4]/lineArea)"/>
      <eval expected="9" xpath="count(//flow/block[4]/lineArea[1]/viewport)"/>
      <eval expected="3" xpath="count(//flow/block[4]/lineArea[2]/viewport)"/>

      <!-- 3rd test - 2 lines broken after 10th graphic -->
      <eval expected="2" xpath="count(//flow/block[6]/lineArea)"/>
      <eval expected="8" xpath="count(//flow/block[6]/lineArea[1]/viewport)"/>
      <eval expected="4" xpath="count(//flow/block[6]/lineArea[2]/viewport)"/>
  </checks>
</testcase>
