1
0
mirror of https://github.com/lidgren/lidgren-network-gen3.git synced 2026-05-05 18:01:12 +09:00

Added test that breaks when using PeekUInt64(int maxBits).

There's a bug in this function, as well as in ReadUInt64(int maxBits),
when trying to read more than 32 bits (and the value uses more than 32
bits).
This commit is contained in:
Sebastian Zander
2015-08-04 10:59:34 +02:00
parent 2a0027ec91
commit 754f33448e

View File

@@ -43,6 +43,7 @@ namespace UnitTests
msg.Write("duke of earl");
msg.Write((byte)43);
msg.Write((ushort)44);
msg.Write(UInt64.MaxValue, 64);
msg.Write(true);
msg.WritePadBits();
@@ -83,8 +84,13 @@ namespace UnitTests
throw new NetException("Read/write failure");
bdr.Append(inc.ReadUInt16());
if (inc.PeekUInt64(64) != UInt64.MaxValue)
throw new NetException("Read/write failure");
bdr.Append(inc.ReadUInt64());
bdr.Append(inc.ReadBoolean());
inc.SkipPadBits();
bdr.Append(inc.ReadSingle());
@@ -96,7 +102,7 @@ namespace UnitTests
bdr.Append(inc.ReadVariableUInt32());
bdr.Append(inc.ReadVariableInt64());
if (bdr.ToString().Equals("False-342duke of earl4344True56784521159980224614-4747000048-49"))
if (bdr.ToString().Equals("False-342duke of earl434418446744073709551615True56784521159980224614-4747000048-49"))
Console.WriteLine("Read/write tests OK");
else
throw new NetException("Read/write tests FAILED!");