package de.lessvoid.nifty.html;
import de.lessvoid.nifty.builder.ImageBuilder;
import de.lessvoid.nifty.builder.PanelBuilder;
import org.htmlparser.tags.BodyTag;
import org.htmlparser.tags.ImageTag;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.easymock.EasyMock.*;
import static org.junit.Assert.assertEquals;
public class NiftyVisitorImageTest {
private NiftyVisitor visitor;
private NiftyBuilderFactory builderFactoryMock;
@Before
public void before() {
builderFactoryMock = createMock(NiftyBuilderFactory.class);
visitor = new NiftyVisitor(null, builderFactoryMock, null, null);
}
@After
public void after() {
verify(builderFactoryMock);
}
@Test
public void simpleBodyWithBasicImageSuccess() throws Exception {
PanelBuilder bodyPanelBuilder = new PanelBuilder();
ImageBuilder imageBuilder = new ImageBuilder();
expect(builderFactoryMock.createBodyPanelBuilder()).andReturn(bodyPanelBuilder);
expect(builderFactoryMock.createImageBuilder(eq("src"), (String)isNull(), (String)isNull(), (String)isNull(), (String)isNull(), (String)isNull())).andReturn(imageBuilder);
replay(builderFactoryMock);
BodyTag bodyTag = new BodyTag();
visitor.visitTag(bodyTag);
// add image
ImageTag imageTag = new ImageTag();
imageTag.setAttribute("src", "src");
visitor.visitTag(imageTag);
visitor.visitEndTag(imageTag);
// close body
visitor.visitEndTag(bodyTag);
assertEquals(bodyPanelBuilder, visitor.builder());
assertEquals(1, bodyPanelBuilder.getElementBuilders().size());
assertEquals(imageBuilder, bodyPanelBuilder.getElementBuilders().get(0));
}
}