/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.content.contentdata.custom;
import org.junit.Test;
import com.enonic.esl.containers.ExtendedMap;
import static org.junit.Assert.*;
public class FormItemEntriesGroupTest
{
@Test
public void testOrder()
{
FormItemsGroup formItemsGroup = new FormItemsGroup( "group", createFormItems() );
assertEquals( 3, formItemsGroup.getGroupIndexes().size() );
assertOrder( formItemsGroup );
}
@Test
public void testGetFormEntryConfigName()
{
FormItemsGroup formItemsGroup = new FormItemsGroup( "group", createFormItems() );
String configName = formItemsGroup.getFormEntryConfigName( "group[1].item" );
assertEquals( "item", configName );
}
@Test
public void testUnMatchingName()
{
ExtendedMap formItems = new ExtendedMap();
formItems.put( "Group[1].item", "1" );
formItems.put( "group.item", "2" );
formItems.put( "group.item", "3" );
formItems.put( "group[1].item", "4" );
FormItemsGroup groups = new FormItemsGroup( "group", formItems );
assertEquals( 1, groups.getGroupIndexes().size() );
}
private void assertOrder( FormItemsGroup formItemsGroup )
{
int i = 1;
for ( Integer groupIndex : formItemsGroup.getGroupIndexes() )
{
assertEquals( groupIndex, new Integer( i++ ) );
}
}
private ExtendedMap createFormItems()
{
ExtendedMap formItems = new ExtendedMap();
formItems.put( "group[2].item-1", "4" );
formItems.put( "group[1].item-1", "1" );
formItems.put( "group[1].item-2", "2" );
formItems.put( "group[2].item-2", "3" );
formItems.put( "group[3].item-2", "6" );
formItems.put( "group[3].item-1", "5" );
return formItems;
}
}