private void DoHaveLeftCompressedContentUntouched(string html, int bufferLength) { using (var htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html))) using (var compressedHtmlStream = new MemoryStream()) using (var outputStream = new MemoryStream()) { using (var compresser = new GZipStream(compressedHtmlStream, CompressionMode.Compress, true)) { htmlStream.CopyTo(compresser); } compressedHtmlStream.Position = 0; var preBodyTagFilter = new PreBodyTagFilter("HTML SNIPPET", outputStream, Encoding.UTF8, "REQUEST URL", LoggerMock.Object); compressedHtmlStream.Position = 0; compressedHtmlStream.CopyTo(preBodyTagFilter, bufferLength); preBodyTagFilter.Flush(); preBodyTagFilter.Position = 0; //Assert.True(StreamEquals(compressedHtmlStream, outputStream)); } }
private string ProcessInputByPreBodyTagFilter(string inputToProcess, string htmlSnippet) { using (var memoryStream = new MemoryStream()) { var preBodyTagFilter = new PreBodyTagFilter(htmlSnippet, memoryStream, Encoding.UTF8, this.loggerMock.Object); byte[] buffer = Encoding.UTF8.GetBytes(inputToProcess); preBodyTagFilter.Write(buffer, 0, buffer.Length); preBodyTagFilter.Flush(); preBodyTagFilter.Position = 0; return Encoding.UTF8.GetString(memoryStream.ToArray()); } }
private string ProcessInputByPreBodyTagFilter(string inputToProcess, string htmlSnippet, string requestUrl, int? chunkLastNumberOfCharacters) { using (var memoryStream = new MemoryStream()) { var preBodyTagFilter = new PreBodyTagFilter(htmlSnippet, memoryStream, Encoding.UTF8, requestUrl, LoggerMock.Object); string[] inputsToProcess = { inputToProcess }; if (chunkLastNumberOfCharacters.HasValue) { inputsToProcess = new[] { inputToProcess.Substring(0, inputToProcess.Length - chunkLastNumberOfCharacters.Value), inputToProcess.Substring(inputToProcess.Length - chunkLastNumberOfCharacters.Value) }; } foreach (string inputToProcessChunk in inputsToProcess) { byte[] buffer = Encoding.UTF8.GetBytes(inputToProcessChunk); preBodyTagFilter.Write(buffer, 0, buffer.Length); } preBodyTagFilter.Flush(); preBodyTagFilter.Position = 0; return Encoding.UTF8.GetString(memoryStream.ToArray()); } }