package org.codehaus.plexus.configuration; /* * Copyright 2001-2006 Codehaus Foundation. * * Licensed 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. */ import junit.framework.TestCase; import org.codehaus.plexus.component.repository.io.PlexusTools; import java.io.StringReader; /** * @author Jason van Zyl * @version $Id$ */ public abstract class ConfigurationTestHelper extends TestCase { public static PlexusConfiguration getTestConfiguration() throws Exception { return PlexusTools.buildConfiguration( "<Test String>", new StringReader( ConfigurationTestHelper.getXmlConfiguration() ) ); } public static String getXmlConfiguration() { return "<configuration>" + "<empty-element></empty-element>" + "<singleton attribute='attribute' />" + "<string string='string'>string</string>" + "<number number='0'>0</number>" + "<not-a-number not-a-number='foo'>not-a-number</not-a-number>" + "<boolean-true boolean-true='true'>true</boolean-true>" + "<boolean-false boolean-false='false'>false</boolean-false>" + "<not-a-boolean>not-a-boolean</not-a-boolean>" + "</configuration>"; } public static void testConfiguration( PlexusConfiguration c ) throws Exception { // Exercise all value/attribute retrieval methods. // Values // TODO: uncomment once maven can test the latest plexus-utils // assertNull( c.getChild( "singleton" ).getValue( null ) ); // String assertEquals( "string", c.getValue( "string" ) ); assertEquals( "string", c.getChild( "string" ).getValue() ); assertEquals( "string", c.getChild( "ne-string" ).getValue( "string" ) ); assertNull( c.getChild( "not-existing" ).getValue( null ) ); assertEquals( "''", "'" + c.getChild( "empty-element" ).getValue() + "'" ); assertEquals( "", c.getChild( "empty-element" ).getValue( null ) ); // Attributes assertEquals( "string", c.getChild( "string" ).getAttribute( "string" )); assertEquals( "attribute", c.getChild( "singleton" ).getAttribute( "attribute" )); } }