Skip to content

Instantly share code, notes, and snippets.

@christiangoudreau
christiangoudreau / gist:1154267
Created August 18, 2011 15:10
Jukito test example
/**
* Test class for {@link CommentListPresenter}.
*
* @author Christian Goudreau
*/
@RunWith(JukitoRunner.class)
public class CommentListPresenterTest extends PresenterWidgetTestBase {
/**
* Guice test module.
*/
@Given("^I try to access the (\\S+) page$")
public void iNavigateTo(String nameToken) {
String url = baseUrl + "#" + nameToken;
webDriver.get(url);
new WebDriverWait(webDriver, TRY_TIME_OUT_IN_SECONDS);
}
@Then("^I see the login screen$")
public void i_see_the_login_screen() {
applicationPage.waitForLoginScreen();
public class RatingColumnInitializer implements ColumnInitializer<RatingDto> {
@Override
public void initializeColumns(CellTable<RatingDto> table) {
initIdColumn(table);
initCarColumn(table);
initRatingColumn(table);
}
private void initIdColumn(CellTable<RatingDto> table) {
Column<RatingDto, Number> idColumn = new Column<RatingDto, Number>(new NumberCell()) {
@ColumnsDefinition(definitionFor = RatingDto.class)
public interface RatingColumnsDefinition extends ColumnInitializer<RatingDto> {
@Column(cellType = NumberCell.class, cellReturnType = Number.class, headerName = "ID")
String getId();
@Column(cellType = TextCell.class, cellReturnType = String.class, headerName = "Car")
String toString();
@Column(cellType = NumberCell.class, cellReturnType = Number.class, headerName = "Rating")
String getRating();
public abstract class AbstractVelocityGenerator {
private final static String IMPL_NAME = "implName";
private final static String PACKAGE_NAME = "packageName";
private final static String ENCODING = "UTF-8";
private final Provider<VelocityContext> velocityContextProvider;
private final VelocityEngine velocityEngine;
private final GeneratorUtil generatorUtil;
protected AbstractVelocityGenerator(Provider<VelocityContext> velocityContextProvider,
<generate-with class="com.gwtplatform.carstore.rebind.ColumnsInitializerGenerator">
<when-type-assignable class="com.gwtplatform.carstore.client.application.rating.ui.ColumnsDefinition"/>
</generate-with>
public class ColumnsInitializerGenerator extends Generator {
private MortalLogger logger;
private JClassType type;
private Injector injector;
@Override
public String generate(TreeLogger treeLogger,
GeneratorContext generatorContext,
String typeName) throws UnableToCompleteException {
logger = new MortalLogger(treeLogger);
private void initRatingGrid() {
ratingGrid = new CellTable<RatingDto>();
ratingGrid.setSelectionModel(new NoSelectionModel<RatingDto>());
ratingColumnInitializer.initializeColumns(ratingGrid);
initActionColumns();
}
#macro(initColumns $columnsInitializerDefinitions)
#foreach (${type} in ${columnsInitializerDefinitions.getColumns()})
#set($dtoCanonicalName = ${columnsInitializerDefinitions.getDtoCanonicalName()})
#set($returnCellCanonicalName = ${type.getReturnCellCanonicalName()})
private void init${type.getMethodCapitalizedName()}Column(CellTable<${dtoCanonicalName}> table) {
Column<${dtoCanonicalName}, ${returnCellCanonicalName}> column
= new Column<${dtoCanonicalName}, ${returnCellCanonicalName}>(new ${type.getCellCanonicalName()}()) {
@Override
public ${returnCellCanonicalName} getValue(${dtoCanonicalName} object) {
public interface ColumnInitializer<T> {
void initializeColumns(CellTable<T> table);
}