blob: a9ee69ba7d7f6aea37ebe83ae28804b71d84091b [file] [log] [blame]
package org.apache.myfaces.extensions.validator.test.core.config;
import junit.framework.Test;
import org.apache.myfaces.extensions.validator.ExtValInformation;
import org.apache.myfaces.extensions.validator.core.DefaultExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
import org.apache.myfaces.extensions.validator.core.validation.strategy.DefaultValidationStrategyFactory;
import org.apache.myfaces.extensions.validator.core.validation.strategy.ValidationStrategy;
import org.apache.myfaces.extensions.validator.test.base.util.ClassLoaderTestSuite;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
public class ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase
extends ExtValCoreConfigurationTestCase
{
public ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase(
String name)
{
super(name);
}
public static class CustomValidationStrategy implements ValidationStrategy
{
public void validate(FacesContext facesContext,
UIComponent uiComponent, MetaDataEntry metaDataEntry,
Object convertedObject)
{
}
}
public static class Custom2ValidationStrategy implements ValidationStrategy
{
public void validate(FacesContext facesContext,
UIComponent uiComponent, MetaDataEntry metaDataEntry,
Object convertedObject)
{
}
}
protected void addInitializationParameters()
{
super.addInitializationParameters();
if (needXmlParameters())
{
addInitParameter(
ExtValInformation.WEBXML_PARAM_PREFIX
+ ".CUSTOM_STATIC_VALIDATION_STRATEGY_MAPPING",
"org.apache.myfaces.extensions.validator.core.config.ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCaseWebXml");
}
}
@Override
protected void invokeStartupListeners()
{
super.invokeStartupListeners();
// This is the normal place where the user can intervene in the startup
// and change the config
if (needCustomConfig())
{
ExtValCoreConfiguration.use(new DefaultExtValCoreConfiguration()
{
@Override
public String customStaticValidationStrategyMappingSource()
{
return "org.apache.myfaces.extensions.validator.core.config.ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCaseCustomConfig";
}
}, true);
}
}
public void testCustomStaticValidationStrategyMappingSourceDefault()
{
DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
// Something that isn't available, so should return null.
assertNull(validationStrategyFactory.create("UnitTest"));
}
public void testCustomStaticValidationStrategyMappingSourceWebXml()
{
DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
assertEquals(CustomValidationStrategy.class.getName(),
validationStrategyFactory.create("UnitTest").getClass()
.getName());
}
public void testCustomStaticValidationStrategyMappingSourceCustomConfig()
{
DefaultValidationStrategyFactory validationStrategyFactory = new DefaultValidationStrategyFactory();
assertEquals(Custom2ValidationStrategy.class.getName(),
validationStrategyFactory.create("UnitTest").getClass()
.getName());
}
public static Test suite()
{
return new ClassLoaderTestSuite(
ExtValCoreConfigurationCustomStaticValidationStrategyMappingSourceTestCase.class);
}
}