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" ));
}
}