### Question:
KVPair { public static KVPair parsePair(String str) { int sep = str.indexOf('='); if (sep == 0 || str.length() == 0) { return null; } if (sep < 0) { return new KVPair(LessBytes.urldecode(str), ""); } if (sep < str.length() - 1) { return new KVPair(LessBytes.urldecode(str.substring(0, sep)), LessBytes.urldecode(str.substring(sep + 1))); } return new KVPair(LessBytes.urldecode(str.substring(0, sep)), ""); } KVPair(String key, String val); static KVPair parsePair(String str); static KVPair parseHttpHeader(String str); void setKeyValue(String key, String val); String getKey(); boolean keyMatch(String k); void setKey(String nk); String setValue(String nv); String getValue(); String toQuotedKeyString(); String toString(); boolean equals(KVPair other);  }### Answer:
@Test public void parsePair() { testPair(KVPair.parsePair("abc=def"), "abc", "def"); testPair(KVPair.parsePair("abc==x"), "abc", "=x"); testPair(KVPair.parsePair("abc=="), "abc", "="); testPair(KVPair.parsePair("abc= "), "abc", " "); testPair(KVPair.parsePair("abc="), "abc", ""); testPair(KVPair.parsePair("abc"), "abc", ""); assertEquals(KVPair.parsePair("=123"), null); assertEquals(KVPair.parsePair("="), null); assertEquals(KVPair.parsePair(""), null); }