93 lines
3.7 KiB
Java
93 lines
3.7 KiB
Java
package net.sourceforge.plantuml.servlet;
|
|
|
|
import junit.framework.TestCase;
|
|
import com.meterware.httpunit.*;
|
|
|
|
public class TestForm extends TestCase {
|
|
|
|
/**
|
|
* Verifies that the welcome page has exactly two form
|
|
* with the Bob --> Alice sample
|
|
*/
|
|
public void testWelcomePage() throws Exception {
|
|
WebConversation conversation = new WebConversation();
|
|
WebRequest request = new GetMethodWebRequest( TestUtils.getServerUrl());
|
|
WebResponse response = TestUtils.tryGetResponse(conversation, request );
|
|
// Analyze response
|
|
WebForm forms[] = response.getForms();
|
|
assertEquals( 2, forms.length );
|
|
assertEquals( "url", forms[1].getParameterNames()[0] );
|
|
assertTrue( forms[1].getParameterValue("url").endsWith("/img/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000"));
|
|
// Ensure the generated image is present
|
|
assertEquals( 1, response.getImages().length);
|
|
|
|
}
|
|
|
|
/**
|
|
* Verifies that the version image is generated
|
|
*/
|
|
public void testVersion() throws Exception {
|
|
WebConversation conversation = new WebConversation();
|
|
// Fill the form and submit it
|
|
WebRequest request = new GetMethodWebRequest( TestUtils.getServerUrl());
|
|
WebResponse response = TestUtils.tryGetResponse(conversation, request );
|
|
WebForm formUMLText = response.getForms()[0];
|
|
formUMLText.setParameter("text", "version");
|
|
response = formUMLText.submit();
|
|
// Analyze response
|
|
WebForm forms[] = response.getForms();
|
|
assertEquals( 2, forms.length );
|
|
// Ensure the Text field is correct
|
|
assertEquals( "version", forms[0].getParameterValue("text"));
|
|
// Ensure the URL field is correct
|
|
assertTrue( forms[1].getParameterValue("url").endsWith("/img/AqijAixCpmC0"));
|
|
// Ensure the image is present
|
|
assertEquals( 1, response.getImages().length);
|
|
}
|
|
|
|
/**
|
|
* Verifies that when the UML text is empty, no image is generated
|
|
*/
|
|
public void testEmptyText() throws Exception {
|
|
WebConversation conversation = new WebConversation();
|
|
// Fill the form and submit it
|
|
WebRequest request = new GetMethodWebRequest( TestUtils.getServerUrl());
|
|
WebResponse response = TestUtils.tryGetResponse(conversation, request );
|
|
WebForm formUMLText = response.getForms()[0];
|
|
formUMLText.setParameter("text", "");
|
|
response = formUMLText.submit();
|
|
// Analyze response
|
|
WebForm forms[] = response.getForms();
|
|
assertEquals( 2, forms.length );
|
|
// Ensure the Text field is empty
|
|
assertNull( forms[0].getParameterValue("text"));
|
|
// Ensure the URL field is empty
|
|
assertTrue( forms[1].getParameterValue("url").isEmpty());
|
|
// Ensure there is no image
|
|
assertEquals( 0, response.getImages().length);
|
|
}
|
|
|
|
/**
|
|
* Verifies that when the encoded URL is empty, the default image is generated
|
|
*/
|
|
public void testEmptyUrl() throws Exception {
|
|
WebConversation conversation = new WebConversation();
|
|
// Fill the form and submit it
|
|
WebRequest request = new GetMethodWebRequest( TestUtils.getServerUrl() );
|
|
WebResponse response = TestUtils.tryGetResponse(conversation, request );
|
|
WebForm formUrl = response.getForms()[1];
|
|
formUrl.setParameter("url", "");
|
|
response = formUrl.submit();
|
|
// Analyze response
|
|
WebForm forms[] = response.getForms();
|
|
assertEquals( 2, forms.length );
|
|
// Ensure the Text field is empty
|
|
assertNull( forms[0].getParameterValue("text"));
|
|
// Ensure the URL field is empty
|
|
assertTrue( forms[1].getParameterValue("url").isEmpty());
|
|
// Ensure there is no image
|
|
assertEquals( 0, response.getImages().length);
|
|
}
|
|
|
|
}
|