Skip to content

Commit 570ae57

Browse files
committed
Added unit test for Utils.buildMapFromKeyValuePairs
- Fixed a bug in buildMapFromKeyValuePairs
1 parent bbba60a commit 570ae57

File tree

2 files changed

+38
-1
lines changed
  • WordPressEditor/src

2 files changed

+38
-1
lines changed

WordPressEditor/src/androidTest/java/org/wordpress/android/editor/UtilsTest.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.Set;
1313

1414
import static org.junit.Assert.assertEquals;
15+
import static org.wordpress.android.editor.Utils.buildMapFromKeyValuePairs;
1516
import static org.wordpress.android.editor.Utils.getChangeMapFromSets;
1617
import static org.wordpress.android.editor.Utils.splitDelimitedString;
1718

@@ -34,6 +35,40 @@ public void testSplitDelimitedString() {
3435
assertEquals(Collections.emptySet(), splitDelimitedString("", "~"));
3536
}
3637

38+
@Test
39+
public void testBuildMapFromKeyValuePairs() {
40+
Set<String> keyValueSet = new HashSet<>();
41+
Map<String, String> expectedMap = new HashMap<>();
42+
43+
// Test normal usage
44+
keyValueSet.add("id=test");
45+
keyValueSet.add("name=example");
46+
47+
expectedMap.put("id", "test");
48+
expectedMap.put("name", "example");
49+
50+
assertEquals(expectedMap, buildMapFromKeyValuePairs(keyValueSet));
51+
52+
// Test mixed valid and invalid entries
53+
keyValueSet.clear();
54+
keyValueSet.add("test");
55+
keyValueSet.add("name=example");
56+
57+
expectedMap.clear();
58+
expectedMap.put("name", "example");
59+
60+
assertEquals(expectedMap, buildMapFromKeyValuePairs(keyValueSet));
61+
62+
// Test invalid entry
63+
keyValueSet.clear();
64+
keyValueSet.add("test");
65+
66+
assertEquals(Collections.emptyMap(), buildMapFromKeyValuePairs(keyValueSet));
67+
68+
// Test empty sets
69+
assertEquals(Collections.emptyMap(), buildMapFromKeyValuePairs(Collections.<String>emptySet()));
70+
}
71+
3772
@Test
3873
public void testGetChangeMapFromSets() {
3974
Set<String> oldSet = new HashSet<>();

WordPressEditor/src/main/java/org/wordpress/android/editor/Utils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ public static Map<String, String> buildMapFromKeyValuePairs(Set<String> keyValue
7575
Map<String, String> selectionArgs = new HashMap<>();
7676
for (String pair : keyValueSet) {
7777
String[] splitString = pair.split("=");
78-
selectionArgs.put(splitString[0], splitString[1]);
78+
if (splitString.length == 2) {
79+
selectionArgs.put(splitString[0], splitString[1]);
80+
}
7981
}
8082
return selectionArgs;
8183
}

0 commit comments

Comments
 (0)