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

<!-- ========================================================================= -->
<!-- @author vincent.hardy@sun.com                                             -->
<!-- @version $Id$       -->
<!-- ========================================================================= -->
<testSuite id="bridge.unitTesting"
           name="org.apache.batik.bridge package - Unit Testing">

    <!-- ================================================================ -->
    <!-- Script Permissions check                                         -->
    <!-- ================================================================ -->
    <testGroup id="security" name="Script Security"
               class="org.apache.batik.bridge.ScriptSelfTest">

        <testGroup id="ecmaSecurityTests">
            <!-- Check conditions under which ecma script should not be loaded -->
            <!-- and generate a SecurityException instead.                     -->
            <test id="ecmaNoLoad" class="org.apache.batik.bridge.EcmaNoLoadTest"/>

            <!-- Check conditions under which ecma script should be loaded     -->
            <test id="ecmaLoad" class="org.apache.batik.bridge.EcmaLoadTest"/>               

            <!-- Check that permissions are denied for : scripts loaded        -->
            <!-- 'normall', for scripts loaded with a Function() object and    -->
            <!-- for scripts loaded with the 'eval()' function. Note that      -->
            <!-- scripts loaded with the 'Script()' object are disallowed      -->
            <!-- completely in secure mode.                                    -->
            <testGroup id="ecmaCheckPermissionsDenied">
                <property name="Secure" class="java.lang.Boolean" value="true" />
                
                <test id="ecmaCheckPermissionsDenied" />
                <test id="ecmaCheckPermissionsDeniedFunction" />
                <test id="ecmaCheckPermissionsDeniedEval" />
            </testGroup>


            <!-- Check that permissions are granted for all types of scripts   -->
            <!-- when in non-secure model, except for Script() objects which   -->
            <!-- are not supported _at all_                                    -->
            <testGroup id="ecmaCheckPermissionsGranted">
                <property name="Secure" class="java.lang.Boolean" value="false" />
                
                <test id="ecmaCheckPermissionsGranted" />
                <test id="ecmaCheckPermissionsGrantedFunction" />
                <test id="ecmaCheckPermissionsGrantedEval" />
            </testGroup>

        </testGroup>

        <testGroup id="jarSecurityTest">
            <!-- Check conditions under which Jar script should not be loaded  -->
            <!-- and generate a SecurityException instead.                     -->
            <test id="jarNoLoad" class="org.apache.batik.bridge.JarNoLoadTest"/>

            <!-- Check conditions under which jar script should be loaded      -->
            <!-- NOTE: see jarCheckLoadEmbeded below.                          -->
            <test id="jarLoad" class="org.apache.batik.bridge.JarLoadTest"/>               

            <!-- Not working: See BATIK-1083
            <test id="jarCheckPermissionsDenied">
                <property name="Secure" class="java.lang.Boolean" value="true" />
            </test>
            -->

            <test id="jarCheckPermissionsGranted">
                <property name="Secure" class="java.lang.Boolean" value="false" />
            </test>
        </testGroup>

        <testGroup id="resourceAccessTest">
            <test id="externalResourcesAccess.secure" 
              class="org.apache.batik.bridge.ExternalResourcesTest" />

            <test id="externalResourcesAccess.unsecure" 
              class="org.apache.batik.bridge.ExternalResourcesTest" >
                <property name="Secure" class="java.lang.Boolean"
                      value="false" />
            </test>
        </testGroup>

    </testGroup>

    <testGroup id="SecurityExceptions" name="Security Exceptions" class="org.apache.batik.test.svg.SVGOnLoadExceptionTest">
        <test id="bridge/ecmaCheckNoEmbed" >
            <property name="Scripts" class="java.lang.String" 
                      value="application/java-archive" />
            <property name="ScriptOrigin" class="java.lang.String"
                      value="NONE" />
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.lang.SecurityException" />
        </test>

        <test id="bridge/ecmaCheckPermissionsDeniedScript" >
            <property name="Secure" class="java.lang.Boolean"
                      value="true" />
            <property name="Scripts" class="java.lang.String" 
                      value="application/java-archive" />
            <property name="ScriptOrigin" class="java.lang.String"
                      value="NONE" />
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.lang.SecurityException" />
        </test>

        <test id="bridge/ecmaCheckPermissionsDeniedScript" >
            <property name="Secure" class="java.lang.Boolean"
                      value="false" />
            <property name="Scripts" class="java.lang.String" 
                      value="application/java-archive" />
            <property name="ScriptOrigin" class="java.lang.String"
                      value="NONE" />
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.lang.SecurityException" />
        </test>

        <test id="bridge/ecmaCheckPermissionsDeniedScript" >
            <property name="Scripts" class="java.lang.String" 
                      value="application/java-archive" />
            <property name="ScriptOrigin" class="java.lang.String"
                      value="NONE" />
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.lang.SecurityException" />
        </test>

        <test id="bridge/jarCheckLoadEmbed" >
            <property name="Scripts" class="java.lang.String" 
                      value="application/java-archive" />
            <property name="ScriptOrigin" class="java.lang.String"
                      value="ANY" />
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.net.MalformedURLException" />
        </test>
    </testGroup>

    <testGroup id="BridgeExceptions" name="Bridge Exceptions" class="org.apache.batik.test.svg.SVGOnLoadExceptionTest">
        <test id="bridge/error/rect-negative-width">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>

        <test id="bridge/error/clipPath-clipPathUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>

        <!-- <!>Could not find that an empty clipPath is an error. Batik does not -->
        <!-- generate an error.                                                -->
        <!-- <test id="bridge/error/clipPath-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/clipPath-subelement-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/clipPath-uri-illegal">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="css.uri.badTarget" />
        </test>
    <!-- No longer generates exception - just user warning
        <test id="bridge/error/css-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.w3c.dom.DOMException" />
        </test>
    -->
        <test id="bridge/error/ellipse-missing-rx">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/ellipse-missing-ry">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/ellipse-negative-rx">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/ellipse-negative-ry">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/feColorMatrix-type-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feColorMatrix-value-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feColorMatrix-values-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feComponentTransfert-type-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feComponentTransfert-type-missing">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/feComponentTransfert-value-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feComposite-in2-missing">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/feComposite-operator-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feDisplacementMap-channelSelector-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feDisplacementMap-in2-missing">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/feGaussianBlur-stdDeviationX-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feGaussianBlur-stdDeviationY-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>

        <!-- <!> As we have the same processing as for image, we do not -->
        <!-- throw an exception here either                             -->
        <!--
        <test id="bridge/error/feImage-badurl">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>-->

        <test id="bridge/error/feMerge-feMergeNode-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.io.IOException" />
            <property name="Validate" class="java.lang.Boolean"
                      value="true" />
        </test>

        <test id="bridge/error/feMorphology-operator-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feMorphology-radiusX-negative">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feMorphology-radiusY-negative">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feTurbulence-stitchTiles.invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/feTurbulence-type-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <!-- <!> Not clear this is an error. Works with Batik and could not -->
        <!-- error handling in spec.                                        -->
        <!--
        <test id="bridge/error/filter-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/filter-filterPrimitive-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.io.IOException" />
            <property name="Validate" class="java.lang.Boolean"
                      value="true" />
        </test>
        <test id="bridge/error/filter-filterResX-negative">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/filter-filterResY-negative">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/filter-filterUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/filter-uri-illegal">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="css.uri.badTarget" />
        </test>
        <!-- <!> This just displays a broken-image image -->
        <!--
        <test id="bridge/error/image-badurl">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test> -->
        <test id="bridge/error/image-missing-height">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/image-missing-width">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/image-negative-height">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/image-negative-width">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>

        <!-- <!> No error is generated in Batik -->
        <!-- 
        <test id="bridge/error/linearGradient-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/linearGradient-gradientUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/linearGradient-missing-offset">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/linearGradient-spreadMethod-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/linearGradient-uri-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="css.uri.badTarget" />
        </test>
        <!-- <!> -->
        <!--
        <test id="bridge/error/mask-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/mask-maskUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/mask-subelement-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/mask-uri-illegal">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="css.uri.badTarget" />
        </test>
        <test id="bridge/error/path-invalid-d">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <!-- <!> -->
        <!--
        <test id="bridge/error/pattern-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/pattern-patternUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>

        <test id="bridge/error/pattern-subelement-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.io.IOException" />
            <property name="Validate" class="java.lang.Boolean"
                      value="true" />
        </test> 
        <test id="bridge/error/polygon-invalid-points">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/polyline-invalid-points">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <!-- <!> According to 13.2.4, this is not an error -->
        <!-- 
        <test id="bridge/error/radialGradient-empty">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/radialGradient-gradientUnits-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/radialGradient-missing-offset">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/radialGradient-r-negative">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <!-- <!> This is not an error according to 13.2.3 -->
        <!-- 
        <test id="bridge/error/radialGradient-r-zero">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test> -->
        <test id="bridge/error/radialGradient-spreadMethod-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/rect-missing-height">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/rect-missing-width">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.missing" />
        </test>
        <test id="bridge/error/rect-negative-height">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/rect-negative-rx">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/rect-negative-ry">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/rect-negative-width">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="length.negative" />
        </test>
        <test id="bridge/error/transform">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="org.apache.batik.bridge.BridgeException" />
            <property name="ExpectedErrorCode" class="java.lang.String"
                      value="attribute.malformed" />
        </test>
        <test id="bridge/error/xml-invalid">
            <property name="ExpectedExceptionClass" class="java.lang.String"
                      value="java.io.IOException" />
        </test>

    </testGroup>
</testSuite>
