Эх сурвалжийг харах

Reflect Java source code.

Jon Skeet 17 жил өмнө
parent
commit
10ad653ce5

+ 15 - 0
csharp/ProtocolBuffers.Test/UnknownFieldSetTest.cs

@@ -295,5 +295,20 @@ namespace Google.ProtocolBuffers {
       }
       }
     }
     }
 
 
+    [Test]
+    public void LargeVarint() {
+      ByteString data =
+        UnknownFieldSet.CreateBuilder()
+          .AddField(1,
+            UnknownField.CreateBuilder()
+              .AddVarint(0x7FFFFFFFFFFFFFFFL)
+              .Build())
+          .Build()
+          .ToByteString();
+      UnknownFieldSet parsed = UnknownFieldSet.ParseFrom(data);
+      UnknownField field = parsed[1];
+      Assert.AreEqual(1, field.VarintList.Count);
+      Assert.AreEqual(0x7FFFFFFFFFFFFFFFUL, field.VarintList[0]);
+    }
   }
   }
 }
 }

+ 0 - 1
csharp/ProtocolBuffers/UnknownFieldSet.cs

@@ -314,7 +314,6 @@ namespace Google.ProtocolBuffers {
         int number = WireFormat.GetTagFieldNumber(tag);
         int number = WireFormat.GetTagFieldNumber(tag);
         switch (WireFormat.GetTagWireType(tag)) {
         switch (WireFormat.GetTagWireType(tag)) {
           case WireFormat.WireType.Varint:
           case WireFormat.WireType.Varint:
-            // TODO(jonskeet): Check this is correct (different to Java)
             GetFieldBuilder(number).AddVarint(input.ReadUInt64());
             GetFieldBuilder(number).AddVarint(input.ReadUInt64());
             return true;
             return true;
           case WireFormat.WireType.Fixed64:
           case WireFormat.WireType.Fixed64: