<?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.
-->

<testcase>
  <info>
    <p>
      Test forced page breaks.
    </p>
  </info>
  <fo>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="page" page-width="300pt" page-height="200pt" margin="10pt">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="page">
        <fo:flow flow-name="xsl-region-body">
          <fo:block break-after="page">
            Block 1 page 1
            <fo:multi-switch fox:auto-toggle="select-first-fitting">
              <fo:multi-case>
                <fo:block>MS1 Variant 1</fo:block>
              </fo:multi-case>
            </fo:multi-switch>
          </fo:block>
          <fo:multi-switch fox:auto-toggle="select-first-fitting">
            <fo:multi-case>
              <fo:block>MS2 Variant 1</fo:block>
            </fo:multi-case>
          </fo:multi-switch>
          <fo:block break-before="page">
            Block 2 page 3
            <fo:multi-switch fox:auto-toggle="select-first-fitting">
              <fo:multi-case>
                <fo:block>MS3 Variant 1</fo:block>
              </fo:multi-case>
            </fo:multi-switch>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </fo>
  <checks>
    <eval expected="3"        xpath="count(//pageSequence[1]/pageViewport)"/>
    <eval expected="Block 1 page 1" xpath="//pageSequence[1]/pageViewport[1]//flow/block[1]/lineArea[1]"/>
    <eval expected="MS1 Variant 1"  xpath="//pageSequence[1]/pageViewport[1]//flow/block[1]/block[1]"/>
    <eval expected="MS2 Variant 1"  xpath="//pageSequence[1]/pageViewport[2]//flow/block[1]"/>
    <eval expected="Block 2 page 3" xpath="//pageSequence[1]/pageViewport[3]//flow/block[1]/lineArea[1]"/>
    <eval expected="MS3 Variant 1"  xpath="//pageSequence[1]/pageViewport[3]//flow/block[1]/block[1]"/>
  </checks>
</testcase>
