001    package org.apache.tapestry.contrib.table.model.simple;
002    
003    import org.apache.hivemind.Messages;
004    import org.apache.tapestry.BaseComponentTestCase;
005    import org.apache.tapestry.IComponent;
006    import org.apache.tapestry.IPage;
007    import org.apache.tapestry.components.Block;
008    import static org.easymock.EasyMock.checkOrder;
009    import static org.easymock.EasyMock.expect;
010    import org.testng.annotations.Test;
011    
012    import java.util.HashMap;
013    import java.util.Map;
014    
015    @Test
016    public class TestSimpleTableColumn extends BaseComponentTestCase
017    {
018    
019        // Test for TAPESTRY-234
020        public void test_Alternate_Column_Display_Name()
021        {
022            SimpleTableColumn column = new SimpleTableColumn("foo.bar");
023    
024            assertEquals(column.getColumnName(), "foo.bar");
025            assertEquals(column.getDisplayName(), "foo.bar");
026            assertEquals(column.getValueRendererSource(), SimpleTableColumn.DEFAULT_VALUE_RENDERER_SOURCE);
027    
028            IPage page = newMock(IPage.class);
029            checkOrder(page, false);
030            expect(page.getPageName()).andReturn("TestPage").anyTimes();
031    
032            IComponent container = newComponent();
033            Messages msgs = newMock(Messages.class);
034            Block valueRenderer = org.easymock.classextension.EasyMock.createMock(Block.class);
035            
036            expect(valueRenderer.getPage()).andReturn(page);
037            expect(valueRenderer.getIdPath()).andReturn("TestPage[foo.bar]");
038    
039            Map components = new HashMap();
040            components.put("foo_barColumnValue", valueRenderer);
041    
042            expect(container.getMessages()).andReturn(msgs);
043            expect(msgs.getMessage("foo.bar")).andReturn("[foo.bar]");
044            
045            expect(container.getComponents()).andReturn(components).anyTimes();
046    
047            replay();
048            org.easymock.classextension.EasyMock.replay(valueRenderer);
049    
050            column.loadSettings(container);
051            
052            assert column.getValueRendererSource() != null;
053            assert !SimpleTableColumn.DEFAULT_VALUE_RENDERER_SOURCE.equals(column.getValueRendererSource());
054            
055            verify();
056            org.easymock.classextension.EasyMock.verify(valueRenderer);
057        }
058    }