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 }