From c342a2576b44988eface41e6d1f7297a65101ffd Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Thu, 29 Apr 2010 09:56:49 +0000 Subject: [PATCH] test case svn changeset:12904/svn branch:6.3 --- .../upload/TestUploadAndDisableOnSuccess.java | 52 ++++++++----------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/tests/src/com/vaadin/tests/components/upload/TestUploadAndDisableOnSuccess.java b/tests/src/com/vaadin/tests/components/upload/TestUploadAndDisableOnSuccess.java index 4a4c391947..1e3abe146d 100644 --- a/tests/src/com/vaadin/tests/components/upload/TestUploadAndDisableOnSuccess.java +++ b/tests/src/com/vaadin/tests/components/upload/TestUploadAndDisableOnSuccess.java @@ -5,8 +5,6 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; -import com.vaadin.terminal.PaintException; -import com.vaadin.terminal.PaintTarget; import com.vaadin.tests.components.ComponentTestCase; import com.vaadin.ui.Button; import com.vaadin.ui.Component; @@ -22,7 +20,7 @@ public class TestUploadAndDisableOnSuccess extends ComponentTestCase implements Receiver { @Override protected String getDescription() { - return "Possible timing issue, when upload is disabled on success."; + return "If upload is detached and attached during upload, the client side componenent never receives information that the upload has finished. Second update will not be successful."; } @Override @@ -36,64 +34,53 @@ public class TestUploadAndDisableOnSuccess extends ComponentTestCase implements @Override protected void setup() { super.setup(); - final Upload u; - u = new Upload("Undefined wide upload", this); + final Label labe = new Label(); + + addComponent(labe); + + final Upload u; + u = new Upload(null, this); u.setImmediate(true); addTestComponent(u); l = new Label(getUploadcount()); addComponent(l); - // TODO incomplete test, still hard to repeat the issue - u.addListener(new Upload.StartedListener() { public void uploadStarted(StartedEvent event) { - addComponent(new Label("SluggishLabel") { - @Override - public void paintContent(PaintTarget target) - throws PaintException { - try { - Thread.sleep(600); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - super.paintContent(target); - } - }); - + /* + * Remove component before upload from the same vertical layout. + * Causes upload to be detached/attached -> upload loses it + * target iframes onload listener -> puts VUpload inappropriate + * state. + */ + getLayout().removeComponent(labe); } }); u.addListener(new Upload.FinishedListener() { public void uploadFinished(FinishedEvent event) { getMainWindow().showNotification("Done"); - u.setEnabled(false); - Label l2 = new Label(getUploadcount()); - getLayout().replaceComponent(l, l2); - l = l2; + l.setValue(getUploadcount()); } }); } private String getUploadcount() { - return counter++ + " Downloads"; + return counter++ + " uploads"; } @Override protected List createActions() { List actions = new ArrayList(); - Button enabled = new Button("Toggle Enabled", new ClickListener() { - public void buttonClick(ClickEvent event) { for (Component c : getTestComponents()) { c.setEnabled(!c.isEnabled()); } - } }); actions.add(enabled); @@ -102,7 +89,12 @@ public class TestUploadAndDisableOnSuccess extends ComponentTestCase implements } public OutputStream receiveUpload(String filename, String MIMEType) { - getMainWindow().showNotification("Receiving upload"); + // sleep to ensure change before upload is complete + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } return new ByteArrayOutputStream(); } -- 2.39.5