<?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$ -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:test="http://xmlgraphics.apache.org/fop/test">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
      <fo:region-body/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="simpleA4">
    <fo:flow flow-name="xsl-region-body">
      <fo:block font-family="Times New Roman">
        <test:assert property="font-family" expected="[Times New Roman]"/>
        Test font-family parsing
      </fo:block>
      <fo:block font-family="Helvetica, Times New Roman">
        <test:assert property="font-family" expected="[Helvetica, Times New Roman]"/>
        Test font-family parsing
      </fo:block>
      <fo:block font-family="Times  New   Roman, Helvetica">
        <test:assert property="font-family" expected="[Times New Roman, Helvetica]"/>
        Test font-family parsing
      </fo:block>
      <fo:block font-family="'Times New Roman', serif">
        <test:assert property="font-family" expected="[Times New Roman, serif]"/>
        Test font-family parsing
      </fo:block>
      <fo:block font-family="'Times New 'Roman, serif">
        <test:assert property="font-family" expected="[serif]"/>
        Test malformed font-family parsing
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
