public void DoubleFooter()
 {
     TrackedMemoryStream memStream=new TrackedMemoryStream();
     GZipOutputStream s=new GZipOutputStream(memStream);
     s.Finish();
     Int64 length=memStream.Length;
     s.Close();
     Assert.AreEqual(length, memStream.ToArray().Length);
 }
Exemple #2
0
        byte[] MakeLocalHeader(string asciiName, short versionToExtract, short flags, short method,
            int dostime, int crc, int compressedSize, int size)
        {
            using ( TrackedMemoryStream ms = new TrackedMemoryStream())
            {
                ms.WriteByte((byte)'P');
                ms.WriteByte((byte)'K');
                ms.WriteByte(3);
                ms.WriteByte(4);

                ms.WriteLEShort(versionToExtract);
                ms.WriteLEShort(flags);
                ms.WriteLEShort(method);
                ms.WriteLEInt(dostime);
                ms.WriteLEInt(crc);
                ms.WriteLEInt(compressedSize);
                ms.WriteLEInt(size);

                byte[] rawName = Encoding.ASCII.GetBytes(asciiName);
                ms.WriteLEShort((short)rawName.Length);
                ms.WriteLEShort(0);
                ms.Write(rawName, 0, rawName.Length);
                return ms.ToArray();
            }
        }