elem.getStyle().setMargin(0.0, Unit.PX);
elem.getStyle().setPadding(0.0, Unit.PX);
widget.setPixelSize(WIDTH, HEIGHT);
// Check initialization.
final ResizableWidgetInfo info = new ResizableWidgetInfo(widget);
final int clientWidth = info.getClientWidth();
final int clientHeight = info.getClientHeight();
final int offsetWidth = info.getOffsetWidth();
final int offsetHeight = info.getOffsetHeight();
// Update with no change.
assertFalse(info.updateSizes());
assertEquals(clientWidth, info.getClientWidth());
assertEquals(clientHeight, info.getClientHeight());
assertEquals(offsetWidth, info.getOffsetWidth());
assertEquals(offsetHeight, info.getOffsetHeight());
// Change the size and verify that it is updated.
widget.setPixelSize(WIDTH - 2, HEIGHT - 10);
assertTrue(info.updateSizes());
assertEquals(clientWidth - 2, info.getClientWidth());
assertEquals(clientHeight - 10, info.getClientHeight());
assertEquals(offsetWidth - 2, info.getOffsetWidth());
assertEquals(offsetHeight - 10, info.getOffsetHeight());
RootPanel.get().remove(widget);
}