diff --git a/extras/src/main/java/edu/umd/cs/piccolox/pswing/PComboBox.java b/extras/src/main/java/edu/umd/cs/piccolox/pswing/PComboBox.java index b837994..5e41e3a 100644 --- a/extras/src/main/java/edu/umd/cs/piccolox/pswing/PComboBox.java +++ b/extras/src/main/java/edu/umd/cs/piccolox/pswing/PComboBox.java @@ -191,4 +191,12 @@ return r1c; } + public PSwing getPSwing() { + return pSwing; + } + + public PSwingCanvas getCanvas() { + return canvas; + } + } diff --git a/extras/src/test/java/edu/umd/cs/piccolox/pswing/PComboBoxTest.java b/extras/src/test/java/edu/umd/cs/piccolox/pswing/PComboBoxTest.java new file mode 100644 index 0000000..c1b1de9 --- /dev/null +++ b/extras/src/test/java/edu/umd/cs/piccolox/pswing/PComboBoxTest.java @@ -0,0 +1,51 @@ +package edu.umd.cs.piccolox.pswing; + +import java.util.Vector; + +import javax.swing.DefaultComboBoxModel; + +import junit.framework.TestCase; + +public class PComboBoxTest extends TestCase { + public void testPComboInstallsItsOwnUI() { + PComboBox combo = new PComboBox(); + assertTrue(combo.getUI() instanceof PComboBox.PBasicComboBoxUI); + } + + public void testConstructsWithVector() { + Vector items = new Vector(); + items.add("A"); + items.add("B"); + PComboBox combo = new PComboBox(items); + assertEquals(2, combo.getModel().getSize()); + } + + public void testConstructsWithArray() { + String[] items = new String[] { "A", "B" }; + PComboBox combo = new PComboBox(items); + assertEquals(2, combo.getModel().getSize()); + } + + public void testConstructsWithComboBoxModel() { + DefaultComboBoxModel model = new DefaultComboBoxModel(); + model.addElement("A"); + model.addElement("B"); + PComboBox combo = new PComboBox(model); + assertEquals(2, combo.getModel().getSize()); + } + + public void testSetEnvironmentPersists() { + PComboBox combo = new PComboBox(); + + PSwingCanvas canvas = new PSwingCanvas(); + PSwing pCombo = new PSwing(combo); + combo.setEnvironment(pCombo, canvas); + + assertEquals(pCombo, combo.getPSwing()); + assertEquals(canvas, combo.getCanvas()); + } + + public void testPopupIsRepositioned() { + // Need a way of dispatching mock events to canvas before this can be tested + } +}