001    package org.apache.tapestry.dojo.html;
002    
003    import org.apache.tapestry.*;
004    import org.apache.tapestry.engine.IEngineService;
005    import static org.easymock.EasyMock.*;
006    import org.testng.annotations.Test;
007    
008    import java.util.Map;
009    
010    /**
011     * Tests functionality of {@link InlineEditBox}. 
012     */
013    @Test
014    public class TestInlineEditBox extends BaseComponentTestCase {
015    
016        public void test_Render_Widget()
017        {
018            IRequestCycle cycle = newCycle();
019            PageRenderSupport prs = newPageRenderSupport();
020            IScript script = newMock(IScript.class);
021            IEngineService engine = newMock(IEngineService.class);
022    
023            IMarkupWriter writer = newBufferWriter();
024    
025            InlineEditBox comp = newInstance(InlineEditBox.class,
026                                             "templateTagName", "div",
027                                             "clientId", "inline",
028                                             "value", "Foo",
029                                             "mode", InlineEditBox.TEXT_MODE,
030                                             "stateful", false,
031                                             "disabled", false,
032                                             "doFade", false,
033                                             "minWidth", 100,
034                                             "minHeight", 200,
035                                             "engine", engine,
036                                             "script", script);
037    
038            expect(cycle.isRewinding()).andReturn(false).anyTimes();
039            trainGetPageRenderSupport(cycle, prs);
040    
041            script.execute(eq(comp), eq(cycle), eq(prs), isA(Map.class));
042            
043            replay();
044    
045            comp.renderWidget(writer, cycle);
046    
047            verify();
048    
049            assertBuffer("<div id=\"inline\"></div>");
050        }
051    
052        public void test_Rewind()
053        {
054            IRequestCycle cycle = newCycle();
055            IMarkupWriter writer = newMock(IMarkupWriter.class);
056    
057            InlineEditBox comp = newInstance(InlineEditBox.class,
058                                             "templateTagName", "div",
059                                             "clientId", "inline",
060                                             "value", "Foo",
061                                             "mode", InlineEditBox.TEXT_MODE);
062    
063            expect(cycle.isRewinding()).andReturn(true).anyTimes();
064    
065            replay();
066    
067            comp.renderWidget(writer, cycle);
068    
069            verify();
070        }
071    }