aboutsummaryrefslogtreecommitdiffhomepage
path: root/java
diff options
context:
space:
mode:
authorGravatar Feng Xiao <xfxyjwf@gmail.com>2014-12-09 11:57:52 -0800
committerGravatar Feng Xiao <xfxyjwf@gmail.com>2014-12-09 11:57:52 -0800
commit9104da3261db96779e80f4713a50f5d19921ade8 (patch)
tree2f4739161c5a896c36f62bd2922687c489666b7d /java
parentbe20ae0b6975071563ecc61f8372fd7936f174ed (diff)
Down-integrate from internal code base.
Diffstat (limited to 'java')
-rw-r--r--java/src/main/java/com/google/protobuf/MapFieldLite.java2
-rw-r--r--java/src/test/java/com/google/protobuf/MapTest.java7
2 files changed, 8 insertions, 1 deletions
diff --git a/java/src/main/java/com/google/protobuf/MapFieldLite.java b/java/src/main/java/com/google/protobuf/MapFieldLite.java
index eea36d9e..7f94c690 100644
--- a/java/src/main/java/com/google/protobuf/MapFieldLite.java
+++ b/java/src/main/java/com/google/protobuf/MapFieldLite.java
@@ -97,7 +97,7 @@ public class MapFieldLite<K, V> {
if (a == b) {
return true;
}
- if (a.size() != a.size()) {
+ if (a.size() != b.size()) {
return false;
}
for (Map.Entry<K, V> entry : a.entrySet()) {
diff --git a/java/src/test/java/com/google/protobuf/MapTest.java b/java/src/test/java/com/google/protobuf/MapTest.java
index 542a20e7..9a25e302 100644
--- a/java/src/test/java/com/google/protobuf/MapTest.java
+++ b/java/src/test/java/com/google/protobuf/MapTest.java
@@ -260,6 +260,13 @@ public class MapTest extends TestCase {
assertFalse(m1.equals(m2));
// Don't check m1.hashCode() != m2.hashCode() because it's not guaranteed
// to be different.
+
+ // Regression test for b/18549190: if a map is a subset of the other map,
+ // equals() should return false.
+ b2.getMutableInt32ToInt32Field().remove(1);
+ m2 = b2.build();
+ assertFalse(m1.equals(m2));
+ assertFalse(m2.equals(m1));
}