<?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 clipping on block-containers.
    </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" orphans="0" widows="0">
          <fo:block-container overflow="auto" left="30pt" top="30pt" width="100pt" height="20pt" absolute-position="absolute" border="solid 5pt" padding="5pt" background-color="orange">
            <fo:block margin="0pt" background-color="yellow">auto overflow overflow overflow overflow overflow</fo:block>
          </fo:block-container>
          <fo:block-container overflow="visible" left="30pt" top="90pt" width="100pt" height="20pt" absolute-position="absolute" border="solid 5pt" padding="5pt" background-color="orange">
            <fo:block margin="0pt" background-color="yellow">visible overflow overflow overflow overflow overflow</fo:block>
          </fo:block-container>
          <fo:block-container overflow="scroll" left="30pt" top="150pt" width="100pt" height="20pt" absolute-position="absolute" border="solid 5pt" padding="5pt" background-color="orange">
            <fo:block margin="0pt" background-color="yellow">scroll overflow overflow overflow overflow overflow</fo:block>
          </fo:block-container>
          <fo:block-container overflow="hidden" left="30pt" top="210pt" width="100pt" height="20pt" absolute-position="absolute" border="solid 5pt" padding="5pt" background-color="orange">
            <fo:block margin="0pt" background-color="yellow">hidden overflow overflow overflow overflow overflow</fo:block>
          </fo:block-container>
          <!-- Note: error-if-overflow will be tested separately. -->
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <true xpath="not(boolean(/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@clipped))"/>
    <true xpath="not(boolean(/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[2]/@clipped))"/>
    <true xpath="not(boolean(/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[3]/@clipped))"/>
    <eval expected="true" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[4]/@clipped"/>
    <!-- Note: That's about all that can be tested here. Actual clipping has to be tested visually for each renderer. -->
  </checks>
</testcase>
