Add simple test for LineMapper.appendReplace

Change-Id: I19902da5445bd63c8a8c4578426a8b22d93e96c7
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/LineMapper.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/LineMapper.java
index 968b1f6..8ddb19e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/LineMapper.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/LineMapper.java
@@ -52,11 +52,9 @@
   void appendReplace(int aLen, int bLen) {
     appendCommon(Math.min(aLen, bLen));
     if (aLen < bLen) { // Edit with insertion
-      int insertCnt = bLen - aLen;
-      appendInsert(insertCnt);
+      appendInsert(bLen - aLen);
     } else if (aLen > bLen) { // Edit with deletion
-      int deleteCnt = aLen - bLen;
-      appendDelete(deleteCnt);
+      appendDelete(aLen - bLen);
     }
   }
 
diff --git a/gerrit-gwtui/src/test/java/com/google/gerrit/client/diff/LineMapperTest.java b/gerrit-gwtui/src/test/java/com/google/gerrit/client/diff/LineMapperTest.java
index 756e879..25c8270 100644
--- a/gerrit-gwtui/src/test/java/com/google/gerrit/client/diff/LineMapperTest.java
+++ b/gerrit-gwtui/src/test/java/com/google/gerrit/client/diff/LineMapperTest.java
@@ -102,4 +102,31 @@
     assertEquals(new LineOnOtherInfo(10, true),
         mapper.lineOnOther(DisplaySide.B, 0));
   }
+
+  @Test
+  public void testReplaceWithInsertInB() {
+    // 0 c c
+    // 1 a b
+    // 2 a b
+    // 3 - b
+    // 4 - b
+    // 5 c c
+    LineMapper mapper = new LineMapper();
+    mapper.appendCommon(1);
+    mapper.appendReplace(2, 4);
+    mapper.appendCommon(1);
+
+    assertEquals(4, mapper.getLineA());
+    assertEquals(6, mapper.getLineB());
+
+    assertEquals(new LineOnOtherInfo(1, true),
+        mapper.lineOnOther(DisplaySide.B, 1));
+    assertEquals(new LineOnOtherInfo(3, true),
+        mapper.lineOnOther(DisplaySide.B, 5));
+
+    assertEquals(new LineOnOtherInfo(2, true),
+        mapper.lineOnOther(DisplaySide.B, 2));
+    assertEquals(new LineOnOtherInfo(2, false),
+        mapper.lineOnOther(DisplaySide.B, 3));
+  }
 }