package org.javabuilders.swing.test; import static org.junit.Assert.*; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPasswordField; import javax.swing.JProgressBar; import javax.swing.JRadioButton; import javax.swing.JSeparator; import javax.swing.JSlider; import javax.swing.JSpinner; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JToggleButton; import javax.swing.JTree; import org.javabuilders.BuildResult; import org.javabuilders.swing.SwingJavaBuilder; import org.junit.Test; /** * Tests logic for autocreation of controls based on name */ public class AutoCreationTest { @Test public void testPrefixCreation() { String yaml = "JPanel: \n" + " - JTextField(name=txtNormal)\n" + " - MigLayout: |\n" + " txtNormal txtAuto tglAuto btnAuto cbxAuto rbAuto cmbAuto lstAuto txaAuto tblAuto trAuto \n" + " sldAuto prgAuto pwdAuto spnAuto sepAuto "; BuildResult r = SwingJavaBuilder.build(this, yaml); assertControl(r,"txtNormal",JTextField.class); assertControl(r,"txtAuto",JTextField.class); assertControl(r,"tglAuto",JToggleButton.class); assertControl(r,"btnAuto",JButton.class); assertControl(r,"cbxAuto",JCheckBox.class); assertControl(r,"rbAuto", JRadioButton.class); assertControl(r,"cmbAuto",JComboBox.class); assertControl(r,"lstAuto",JList.class); assertControl(r,"txaAuto",JTextArea.class); assertControl(r,"tblAuto",JTable.class); assertControl(r,"trAuto",JTree.class); assertControl(r,"sldAuto",JSlider.class); assertControl(r,"prgAuto",JProgressBar.class); assertControl(r,"pwdAuto",JPasswordField.class); assertControl(r,"spnAuto",JSpinner.class); assertControl(r,"sepAuto",JSeparator.class); } @Test public void testEmptyLabelCreation_Issue_121() { String yaml = "JPanel: \n" + " - JTextField(name=txtNormal)\n" + " - MigLayout: |\n" + " txtNormal txtAuto tglAuto \"\" \"\""; BuildResult r = SwingJavaBuilder.build(this, yaml); assertControl(r,"txtNormal",JTextField.class); assertControl(r,"txtAuto",JTextField.class); assertControl(r,"lblBlank",JLabel.class); assertControl(r,"lblBlank2",JLabel.class); //verify text is truly blank JLabel lbl = (JLabel) r.get("lblBlank"); assertEquals("",lbl.getText()); lbl = (JLabel) r.get("lblBlank2"); assertEquals("",lbl.getText()); } private void assertControl(BuildResult r, String name, Class<?> type) { assertNotNull(r.get(name)); assertEquals(type,r.get(name).getClass()); } @SuppressWarnings("unused") private void auto() { //dummym method for btnAuto } }