1   /*
2    * Copyright 2004,2007 The Apache Software Foundation.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package tests;
17  
18  import junit.framework.TestCase;
19  import org.apache.ws.commons.schema.XmlSchema;
20  import org.apache.ws.commons.schema.XmlSchemaCollection;
21  import org.xml.sax.InputSource;
22  
23  import java.io.File;
24  import java.io.FileInputStream;
25  
26  public class CircularSchemaTest extends TestCase
27  {
28      public void testCircular() throws Exception {
29          XmlSchemaCollection schemas = new XmlSchemaCollection();
30          File file = new File(Resources.asURI("circular/a.xsd"));
31          InputSource source = new InputSource(new FileInputStream(file));
32          source.setSystemId(file.toURL().toString());
33          
34          schemas.read(source, null);
35          
36          XmlSchema[] xmlSchemas = schemas.getXmlSchemas();
37          assertNotNull(xmlSchemas);
38          assertEquals(3, xmlSchemas.length);
39      }
40  }