/// <summary> /// Initializes a new instance of the <see cref="POIFSWriterEvent"/> class. /// </summary> /// <param name="stream">the POIFSDocumentWriter, freshly opened</param> /// <param name="path">the path of the document</param> /// <param name="documentName">the name of the document</param> /// <param name="limit">the limit, in bytes, that can be written to the stream</param> public POIFSWriterEventArgs(POIFSDocumentWriter stream, POIFSDocumentPath path, string documentName, int limit) { this.stream = stream; this.path = path; this.documentName = documentName; this.limit = limit; }
public void TestWrite3() { MemoryStream stream = new MemoryStream(); POIFSDocumentWriter dstream = new POIFSDocumentWriter(stream, 25); byte[] array = new byte[50]; for (int j = 0; j < 50; j++) { array[j] = (byte)j; } dstream.Write(array, 1, 25); try { dstream.Write(array, 0, 1); Assert.Fail("Should have caught IOException"); } catch (IOException) { } byte[] output = stream.ToArray(); Assert.AreEqual(25, output.Length); for (int j = 0; j < 25; j++) { Assert.AreEqual((byte)(j + 1), output[j]); } stream.Close(); }
public void TestWrite1() { MemoryStream stream = new MemoryStream(); POIFSDocumentWriter dstream = new POIFSDocumentWriter(stream, 25); for (int j = 0; j < 25; j++) { dstream.WriteByte((byte)j); } try { dstream.WriteByte(0); Assert.Fail("Should have caught IOException"); } catch (IOException) { } byte[] output = stream.ToArray(); Assert.AreEqual(25, output.Length); for (int j = 0; j < 25; j++) { Assert.AreEqual((byte)j, output[j]); } stream.Close(); }
public void TestWrite2() { MemoryStream stream = new MemoryStream(); POIFSDocumentWriter dstream = new POIFSDocumentWriter(stream, 25); for (int j = 0; j < 6; j++) { byte[] array = new byte[4]; for (int i = 0; i < array.Length; i++) { array[i] = (byte)j; } dstream.Write(array); } try { byte[] array = new byte[4]; for (int i = 0; i < array.Length; i++) { array[i] = (byte)7; } dstream.Write(array); Assert.Fail("Should have caught IOException"); } catch (IOException) { } byte[] output = stream.ToArray(); Assert.AreEqual(24, output.Length); for (int j = 0; j < 6; j++) { for (int k = 0; k < 4; k++) { Assert.AreEqual((byte)j, output[(j * 4) + k], ((j * 4) + k).ToString()); } } stream.Close(); }