<?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 the AFP extension. The extension attachments need to show
      up in the area tree XML so the AreaTreeParser can fully restore the area tree.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
        xmlns:afp="http://xmlgraphics.apache.org/fop/extensions/afp"
        xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
          <afp:include-page-overlay name="O1SAMP1 "/>
          <afp:include-page-segment name="S1ISLOGO" src="../resources/images/bgimg300dpi.jpg"/>
          <afp:tag-logical-element name="The TLE Name" value="The TLE Value"/>
          <afp:no-operation name="My NOP">insert up to 32k of character data here!</afp:no-operation>
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      
      <fo:declarations>
        <afp:include-form-map name="FORMMAP1" src="file:../resources/afp/F1SAMPLE.afp"/>
      </fo:declarations>
      
      <fo:page-sequence master-reference="normal" fox:test-ignore="this">
        <afp:invoke-medium-map name="NOPAR"/>
        <afp:tag-logical-element name="foo" value="bar"/>
        <fo:flow flow-name="xsl-region-body">
          <fo:block>Text on page <fo:page-number/>.</fo:block>
          <fo:block break-before="page">Text on page <fo:page-number/>.</fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks xmlns:afp="apache:fop:extensions:afp">
    <eval expected="FORMMAP1" xpath="/areaTree/extension-attachments/afp:include-form-map/@name"/>
    <eval expected="file:../resources/afp/F1SAMPLE.afp" xpath="/areaTree/extension-attachments/afp:include-form-map/@src"/>
    
    <eval expected="4" xpath="count(/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*)"/>
    <eval expected="O1SAMP1 " xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[1]/@name"/>
    <eval expected="S1ISLOGO" xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[2]/@name"/>
    <eval expected="The TLE Name" xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[3]/@name"/>
    <eval expected="The TLE Value" xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[3]/@value"/>
    <eval expected="My NOP" xpath="/areaTree/pageSequence/pageViewport[@nr=1]/page/extension-attachments/child::*[4]/@name"/>
    
    <eval expected="4" xpath="count(/areaTree/pageSequence/pageViewport[@nr=2]/page/extension-attachments/child::*)"/>
    
    <eval expected="2" xpath="count(/areaTree/pageSequence/extension-attachments/child::*)"/>
    <eval expected="NOPAR" xpath="/areaTree/pageSequence/extension-attachments/child::*[1]/@name"/>
    <eval expected="bar" xpath="/areaTree/pageSequence/extension-attachments/afp:tag-logical-element[@name = 'foo']/@value"/>
    
    <!-- This just tests if extension attributes make it through to the PageSequence object. -->
    <eval expected="this" xpath="/areaTree/pageSequence/@fox:test-ignore" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"/>
  </checks>
  <if-checks xmlns:if="http://xmlgraphics.apache.org/fop/intermediate"
        xmlns:afp="apache:fop:extensions:afp">
    <eval expected="FORMMAP1" xpath="/if:document/if:header/afp:include-form-map/@name"/>
    <eval expected="file:../resources/afp/F1SAMPLE.afp" xpath="/if:document/if:header/afp:include-form-map/@src"/>
    
    <eval expected="4" xpath="count(//if:page[@name = '1']/if:page-header/child::*)"/>
    <eval expected="O1SAMP1 " xpath="//if:page[@name = '1']/if:page-header/afp:include-page-overlay[1]/@name"/>
    <eval expected="S1ISLOGO" xpath="//if:page[@name = '1']/if:page-header/afp:include-page-segment[1]/@name"/>
    <eval expected="The TLE Value" xpath="//if:page[@name = '1']/if:page-header/afp:tag-logical-element[@name = 'The TLE Name']/@value"/>
    <eval expected="My NOP" xpath="//if:page[@name = '1']/if:page-header/afp:no-operation[1]/@name"/>
    <eval expected="insert up to 32k of character data here!" xpath="//if:page[@name = '1']/if:page-header/afp:no-operation[1]"/>
    
    <eval expected="4" xpath="count(//if:page[@name = '2']/if:page-header/child::*)"/>
        
    <eval expected="NOPAR" xpath="//if:page-sequence/afp:invoke-medium-map/@name"/>
    <eval expected="bar" xpath="//if:page-sequence/afp:tag-logical-element[@name = 'foo']/@value"/>

    <!-- This just tests if extension attributes make it through to the PageSequence object. -->
    <eval expected="this" xpath="//if:page-sequence/@fox:test-ignore" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"/>
  </if-checks>
</testcase>
