Ignore:
Timestamp:
2021-10-06T13:24:19+02:00 (3 years ago)
Author:
Don-vip
Message:

fix #21408 - fix #19013, fix #21385, fix #21404 - Fix MultiSelect issues (patch by marcello)

Location:
trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items/ComboTest.java

    r17609 r18254  
    99import javax.swing.JPanel;
    1010
     11import org.junit.jupiter.api.Test;
    1112import org.junit.jupiter.api.extension.RegisterExtension;
    12 import org.junit.jupiter.api.Test;
    1313import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1414import org.openstreetmap.josm.data.osm.OsmUtils;
     
    4242
    4343    /**
    44      * Unit test for {@link ComboMultiSelect#use_last_as_default} and {@link ComboMultiSelect#getItemToSelect}
     44     * Unit test for {@link ComboMultiSelect#use_last_as_default} and {@link ComboMultiSelect#getInitialValue}
    4545     */
    4646    @Test
     
    4848        Combo combo = new Combo();
    4949        combo.key = "addr:country";
    50         combo.use_last_as_default = 1;
    5150        combo.values_from = "java.util.Locale#getISOCountries";
    5251        OsmPrimitive way = OsmUtils.createPrimitive("way");
     52        OsmPrimitive wayTagged = OsmUtils.createPrimitive("way highway=residential");
    5353        OsmPrimitive wayAT = OsmUtils.createPrimitive("way addr:country=AT");
    5454        OsmPrimitive waySI = OsmUtils.createPrimitive("way addr:country=SI");
     55        KeyedItem.LAST_VALUES.clear();
     56        KeyedItem.LAST_VALUES.put("addr:country", "AT");
    5557
     58        combo.use_last_as_default = 0;
    5659        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, way));
    57         assertEquals("", combo.getSelectedValue());
     60        assertEquals("", combo.getSelectedItem().value);
     61        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayTagged));
     62        assertEquals("", combo.getSelectedItem().value);
     63        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT));
     64        assertEquals("AT", combo.getSelectedItem().value);
     65        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, waySI));
     66        assertEquals("SI", combo.getSelectedItem().value);
     67        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT, waySI));
     68        assertEquals(Combo.DIFFERENT, combo.getSelectedItem().value);
    5869
    59         combo.default_ = "SI";
     70        combo.default_ = "AT";
    6071        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, way));
    61         assertEquals("SI", combo.getSelectedValue());
     72        assertEquals("AT", combo.getSelectedItem().value);
     73        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayTagged));
     74        assertEquals("", combo.getSelectedItem().value);
    6275        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT));
    63         assertEquals("AT", combo.getSelectedValue());
     76        assertEquals("AT", combo.getSelectedItem().value);
     77        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, waySI));
     78        assertEquals("SI", combo.getSelectedItem().value);
     79        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT, waySI));
     80        assertEquals(Combo.DIFFERENT, combo.getSelectedItem().value);
    6481        combo.default_ = null;
    6582
     83        combo.use_last_as_default = 1; // untagged objects only
     84        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, way));
     85        assertEquals("AT", combo.getSelectedItem().value);
     86        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayTagged));
     87        assertEquals("", combo.getSelectedItem().value);
     88        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT));
     89        assertEquals("AT", combo.getSelectedItem().value);
     90        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, waySI));
     91        assertEquals("SI", combo.getSelectedItem().value);
     92        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT, waySI));
     93        assertEquals(Combo.DIFFERENT, combo.getSelectedItem().value);
     94
     95        combo.use_last_as_default = 2; // "force" on tagged objects too
     96        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, way));
     97        assertEquals("AT", combo.getSelectedItem().value);
     98        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayTagged));
     99        assertEquals("AT", combo.getSelectedItem().value);
     100        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT));
     101        assertEquals("AT", combo.getSelectedItem().value);
     102        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, waySI));
     103        assertEquals("SI", combo.getSelectedItem().value);
     104        combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, wayAT, waySI));
     105        assertEquals(Combo.DIFFERENT, combo.getSelectedItem().value);
     106
    66107        KeyedItem.LAST_VALUES.clear();
    67         KeyedItem.LAST_VALUES.put("addr:country", "AT");
    68         combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(false, way));
    69         assertEquals("AT", combo.getSelectedValue());
    70         combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(true, wayAT));
    71         assertEquals("AT", combo.getSelectedValue());
    72         combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(true));
    73         assertEquals("", combo.getSelectedValue());
    74         combo.use_last_as_default = 2; // "force"
    75         combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(true));
    76         assertEquals("AT", combo.getSelectedValue());
    77         KeyedItem.LAST_VALUES.clear();
    78 
    79         combo.addToPanel(new JPanel(), TaggingPresetItemGuiSupport.create(true, wayAT, waySI));
    80         assertEquals(Combo.DIFFERENT, combo.getSelectedValue());
    81108    }
    82109
     
    91118        assertEquals(5, combo.combobox.getItemCount());
    92119        combo.presetListEntries.stream().filter(e -> "red".equals(e.value)).findFirst().ifPresent(combo.combobox::setSelectedItem);
    93         assertEquals("red", combo.getSelectedValue());
     120        assertEquals("red", combo.getSelectedItem().value);
    94121        assertEquals("Rot", combo.getSelectedItem().toString());
    95122        assertEquals(new Color(0xFF0000), combo.getColor());
    96123        combo.presetListEntries.stream().filter(e -> "green".equals(e.value)).findFirst().ifPresent(combo.combobox::setSelectedItem);
    97         assertEquals("green", combo.getSelectedValue());
     124        assertEquals("green", combo.getSelectedItem().value);
    98125        assertEquals("Grün", combo.getSelectedItem().toString());
    99126        assertEquals(new Color(0x008000), combo.getColor());
    100127        combo.combobox.setSelectedItem("#135");
    101         assertEquals("#135", combo.getSelectedValue());
     128        assertEquals("#135", combo.getSelectedItem().value);
    102129        assertEquals(new Color(0x113355), combo.getColor());
    103130        combo.combobox.setSelectedItem("#123456");
    104         assertEquals("#123456", combo.getSelectedValue());
     131        assertEquals("#123456", combo.getSelectedItem().value);
    105132        assertEquals(new Color(0x123456), combo.getColor());
    106133        combo.setColor(new Color(0x448822));
    107         assertEquals("#448822", combo.getSelectedValue());
     134        assertEquals("#448822", combo.getSelectedItem().value);
    108135    }
    109136}
  • trunk/test/unit/org/openstreetmap/josm/gui/tagging/presets/items/PresetListEntryTest.java

    r18221 r18254  
    2626    @Test
    2727    void testTicket12416() {
    28         assertTrue(new PresetListEntry("").getListDisplay(200).contains(" "));
     28        assertTrue(new PresetListEntry("", null).getListDisplay(200).contains(" "));
    2929    }
    3030}
Note: See TracChangeset for help on using the changeset viewer.