blob: cc0df4860f7000c8e21b0a2e9a46ea7ee29aa229 [file] [log] [blame]
/* $Id$
*
* 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.
*/
package org.apache.commons.digester3;
import static org.junit.Assert.*;
import java.net.URL;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* <p>
* Unit tests that exercise the new (in 1.8) methods for passing in <code>URL</code> arguments instead of strings.
* </p>
*/
public class URLTestCase
{
// ----------------------------------------------------- Overall Test Methods
/**
* Set up instance variables required by this test case.
*/
@Before
public void setUp()
{
digester = new Digester();
}
/**
* Tear down instance variables required by this test case.
*/
@After
public void tearDown()
{
digester = null;
}
// ------------------------------------------------------ Manifest Constants
/**
* <p>
* Public identifier of the Digester Rules DTD.
* </p>
*/
private static final String DIGESTER_RULES_PUBLIC_ID = "-//Apache Commons //DTD digester-rules XML V1.0//EN";
/**
* <p>
* System identifier of the Digester Rules DTD.
* </p>
*/
private static final String DIGESTER_RULES_SYSTEM_ID = "/org/apache/commons/digester3/xmlrules/digester-rules.dtd";
/**
* <p>
* System identifier for the Digester Rules file that we will parse.
* </p>
*/
private static final String TEST_INPUT_SYSTEM_ID =
"/org/apache/commons/digester3/xmlrules/test-call-param-rules.xml";
// ------------------------------------------------------ Instance Variables
/**
* <p>
* The <code>Digester</code> instance under test.
* </p>
*/
private Digester digester = null;
// ------------------------------------------------------------ Test Methods
// Test a pristine instance
@Test
public void testPristine()
{
assertNotNull( digester );
}
// Test parsing a resource, using a registered DTD, both passed with URLs
@Test
public void testResource()
throws Exception
{
// Register the Digester Rules DTD
final URL dtd = URLTestCase.class.getResource( DIGESTER_RULES_SYSTEM_ID );
assertNotNull( dtd );
digester.register( DIGESTER_RULES_PUBLIC_ID, dtd );
// Parse one of the existing test resources twice with
// the same Digester instance
final URL xml = URLTestCase.class.getResource( TEST_INPUT_SYSTEM_ID );
assertNotNull( xml );
digester.parse( xml );
digester.parse( xml );
}
}