What steps will reproduce the problem?
- I Use gwt 2.5.1 (user / dev / servlet) in my project
- I Use gwt test utils 0.44
- I use gxt 3.0.0 in my project
- I run this test "BadTest" in attached file
package com.cacf.one.client.desktopapp;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.cacf.one.AbstractGwtTest;
import com.cacf.one.client.desktopapp.BusinessContextPresenter;
import com.cacf.one.client.desktopapp.BusinessContextViewImpl;
import com.cacf.one.client.param.PortalBusinessContextApplicationParameter;
import com.cacf.one.client.param.PortalParameters;
import com.google.gwt.user.client.ui.ListBox;
import com.googlecode.gwt.test.Mock;
public class BusinessContextViewImplTest extends AbstractGwtTest {
// class to test
private BusinessContextViewImpl businessContextViewImpl;
@Mock
BusinessContextPresenter businessContextPresenter;
@Before
public void setUp() throws Exception {
businessContextViewImpl = new BusinessContextViewImpl(businessContextPresenter);
}
@After
public void tearDown() throws Throwable {
reset();
}
@Test
public void checkPortalLayoutComboBox() throws Exception {
// Add listBusinessContexts
PortalBusinessContextApplicationParameter portalBusinessContextApplicationParameter = new PortalBusinessContextApplicationParameter();
portalBusinessContextApplicationParameter.setId("idContext");
List<PortalBusinessContextApplicationParameter> lstPortalBusiness = new ArrayList<PortalBusinessContextApplicationParameter>();
lstPortalBusiness.add(portalBusinessContextApplicationParameter);
PortalParameters.setBusinessContextId("idContext");
PortalParameters.setListBusinessContexts(lstPortalBusiness);
ListBox listBox = businessContextViewImpl.getPortalLayoutComboBox();
}
}
5 : With : "BusinessContextViewImpl" in attached file
package com.cacf.one.client.desktopapp;
import java.util.List;
import com.cacf.one.client.desktopapp.images.DesktopImages;
import com.cacf.one.client.param.PortalBusinessContextApplicationParameter;
import com.cacf.one.client.param.PortalParameters;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.Window;
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
public class BusinessContextViewImpl implements BusinessContextView {
private BusinessContextPresenter businessContextPresenter;
private Window window;
private VerticalLayoutContainer verticalLayoutContainer;
private VerticalLayoutData layoutData;
private Margins margins;
private ListBox portalLayoutComboBox;
private TextButton cancelButton;
private SelectHandler cancelButtonSelectHandler;
private TextButton okayButton;
private SelectHandler okayButtonSelectHandler;
public BusinessContextViewImpl(BusinessContextPresenter businessContextPresenter) {
this.businessContextPresenter = businessContextPresenter;
}
@OverRide
public void show() {
getWindow().setFocusWidget(getPortalLayoutComboBox());
getWindow().show();
}
ListBox getPortalLayoutComboBox() {
if (portalLayoutComboBox == null) {
List<PortalBusinessContextApplicationParameter> listBusinessContexts = PortalParameters.getListBusinessContexts();
portalLayoutComboBox = new ListBox();
for (PortalBusinessContextApplicationParameter portalParam : listBusinessContexts){
if (!PortalParameters.getBusinessContextId().equals(portalParam.getId())){
portalLayoutComboBox.addItem(portalParam.getName(), portalParam.getId());
}
}
}
return portalLayoutComboBox;
}
private TextButton getCancelButton() {
if (cancelButton == null) {
cancelButton = new TextButton("Cancel");
cancelButton.addSelectHandler(getCancelButtonSelectHandler());
}
return cancelButton;
}
private SelectHandler getCancelButtonSelectHandler() {
if (cancelButtonSelectHandler == null) {
cancelButtonSelectHandler = new SelectHandler() {
@OverRide
public void onSelect(SelectEvent event) {
getBusinessContextPresenter().onCancel();
}
};
}
return cancelButtonSelectHandler;
}
private VerticalLayoutData getLayoutData() {
if (layoutData == null) {
layoutData = new VerticalLayoutData(1, -1, getMargins());
}
return layoutData;
}
private Margins getMargins() {
if (margins == null) {
margins = new Margins(5);
}
return margins;
}
private TextButton getOkayButton() {
if (okayButton == null) {
okayButton = new TextButton("Go");
okayButton.addSelectHandler(getSubmitButtonSelectHandler());
}
return okayButton;
}
private SelectHandler getSubmitButtonSelectHandler() {
if (okayButtonSelectHandler == null) {
okayButtonSelectHandler = new SelectHandler() {
@OverRide
public void onSelect(SelectEvent event) {
getBusinessContextPresenter().onSubmit(portalLayoutComboBox.getValue(portalLayoutComboBox.getSelectedIndex()));
getBusinessContextPresenter().onCancel();
}
};
}
return okayButtonSelectHandler;
}
private BusinessContextPresenter getBusinessContextPresenter() {
return businessContextPresenter;
}
private VerticalLayoutContainer getVerticalLayoutContainer() {
if (verticalLayoutContainer == null) {
verticalLayoutContainer = new VerticalLayoutContainer();
VerticalLayoutData layoutDataLabel = new VerticalLayoutData(1, 0.3);
layoutDataLabel.setMargins(new Margins(20,10,20,10));
verticalLayoutContainer.add(new Label("Test :"), layoutDataLabel);
verticalLayoutContainer.add(getPortalLayoutComboBox(), getLayoutData());
}
return verticalLayoutContainer;
}
private Window getWindow() {
if (window == null) {
window = new Window();
window.getHeader().setIcon(DesktopImages.INSTANCE.user_edit());
window.setPixelSize(270, 190);
window.setButtonAlign(BoxLayoutPack.CENTER);
window.setModal(true);
window.setBlinkModal(true);
window.setClosable(false);
window.setOnEsc(false);
window.add(getVerticalLayoutContainer());
window.addButton(getCancelButton());
window.addButton(getOkayButton());
}
return window;
}
@OverRide
public void hide() {
// TODO Auto-generated method stub
}
@OverRide
public void onValidationError() {
// TODO Auto-generated method stub
}
}
What is the expected output? What do you see instead?
I get the error :
com.googlecode.gwt.test.exceptions.GwtTestPatchException: Error while defining com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer from modified bytecode
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:200)
at javassist.Loader.loadClass(Loader.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at com.cacf.one.client.desktopapp.BadTest.setUp(BadTest.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at com.googlecode.gwt.test.internal.junit.GwtBlockJUnit4ClassRunner.run(GwtBlockJUnit4ClassRunner.java:27)
at com.googlecode.gwt.test.internal.junit.AbstractGwtRunner.run(AbstractGwtRunner.java:47)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: com.googlecode.gwt.test.exceptions.GwtTestPatchException: Error while defining com.sencha.gxt.widget.core.client.container.InsertResizeContainer from modified bytecode
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:200)
at javassist.Loader.loadClass(Loader.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:196)
... 31 more
Caused by: com.googlecode.gwt.test.exceptions.GwtTestPatchException: Error while defining com.sencha.gxt.widget.core.client.container.ResizeContainer from modified bytecode
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:200)
at javassist.Loader.loadClass(Loader.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:196)
... 38 more
Caused by: com.googlecode.gwt.test.exceptions.GwtTestPatchException: Error while defining com.sencha.gxt.widget.core.client.container.Container from modified bytecode
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:200)
at javassist.Loader.loadClass(Loader.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:196)
... 45 more
Caused by: java.lang.NullPointerException
at com.googlecode.gwt.test.internal.rewrite.OverlayTypesRewriter$MyInstanceMethodOracle.findOriginalDeclaringClass(OverlayTypesRewriter.java:111)
at com.googlecode.gwt.test.internal.rewrite.RewriteRefsToJsoClasses$MyMethodAdapter.visitMethodInsn(RewriteRefsToJsoClasses.java:78)
at com.google.gwt.dev.asm.ClassReader.accept(ClassReader.java:1371)
at com.google.gwt.dev.asm.ClassReader.accept(ClassReader.java:420)
at com.googlecode.gwt.test.internal.rewrite.OverlayTypesRewriter.rewrite(OverlayTypesRewriter.java:578)
at com.googlecode.gwt.test.internal.GwtClassLoader$GwtClassLoaderWithRewriter.findClassBytes(GwtClassLoader.java:100)
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:180)
at javassist.Loader.loadClass(Loader.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at com.googlecode.gwt.test.internal.GwtClassLoader.findClass(GwtClassLoader.java:196)
... 52 more
Please provide any additional information below:
This test run perfectly with gwt 2.4.0 and gwt-test-utils 0.42
Please Help me !!!!!