public void NoReplacementReturnsSameDocument() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; IDocument document = Substitute.For <IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For <IExecutionContext>(); Dictionary <string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return(true); }); HtmlEscape htmlEscape = new HtmlEscape(); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then context.DidNotReceiveWithAnyArgs().GetDocument((IDocument)null, (string)null); stream.Dispose(); }
public void NoReplacementReturnsSameDocument() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; IDocument document = Substitute.For<IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For<IExecutionContext>(); Dictionary<string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return true; }); HtmlEscape htmlEscape = new HtmlEscape(); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then document.DidNotReceiveWithAnyArgs().Clone((string)null); stream.Dispose(); }
public void EscapeNonStandard() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; TestExecutionContext context = new TestExecutionContext(); TestDocument document = new TestDocument(input); HtmlEscape htmlEscape = new HtmlEscape().EscapeAllNonstandard().WithDefaultStandard(); // When IList <IDocument> results = htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { output })); }
public void EscapeNonStandard() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; IDocument document = Substitute.For <IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For <IExecutionContext>(); Dictionary <string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return(true); }); HtmlEscape htmlEscape = new HtmlEscape().EscapeAllNonstandard().WithDefaultStandard(); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then context.Received(1).GetDocument(Arg.Any <IDocument>(), Arg.Any <string>()); context.Received().GetDocument(document, output); stream.Dispose(); }
public void EscapeNonStandard() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; IDocument document = Substitute.For<IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For<IExecutionContext>(); Dictionary<string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return true; }); HtmlEscape htmlEscape = new HtmlEscape().EscapeAllNonstandard().WithDefaultStandard(); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then context.Received(1).GetDocument(Arg.Any<IDocument>(), Arg.Any<string>()); context.Received().GetDocument(document, output); stream.Dispose(); }
public void NoReplacementReturnsSameDocument() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Title</h1> <p>This is some Foobar text</p> </body> </html>"; TestExecutionContext context = new TestExecutionContext(); TestDocument document = new TestDocument(input); HtmlEscape htmlEscape = new HtmlEscape(); // When IList <IDocument> results = htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then Assert.That(results, Is.EquivalentTo(new[] { document })); }
public void EscapeWith() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; IDocument document = Substitute.For<IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For<IExecutionContext>(); Dictionary<string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return true; }); HtmlEscape htmlEscape = new HtmlEscape().WithEscapedChar('ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß', '©'); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then context.Received(1).GetDocument(Arg.Any<IDocument>(), Arg.Any<string>()); context.Received().GetDocument(document, output); stream.Dispose(); }
public void EscapeWith() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; IDocument document = Substitute.For <IDocument>(); MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(input)); document.GetStream().Returns(stream); document.Content.Returns(input); IExecutionContext context = Substitute.For <IExecutionContext>(); Dictionary <string, string> convertedLinks; context.TryConvert(new object(), out convertedLinks) .ReturnsForAnyArgs(x => { x[1] = x[0]; return(true); }); HtmlEscape htmlEscape = new HtmlEscape().WithEscapedChar('ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß', '©'); // When htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then context.Received(1).GetDocument(Arg.Any <IDocument>(), Arg.Any <string>()); context.Received().GetDocument(document, output); stream.Dispose(); }
public void EscapeWith() { // Given string input = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; string output = @"<html> <head> <title>Foobar</title> </head> <body> <h1>Die Sache mit dem Umlaut</h1> <p>Lerchen-Lärchen-Ähnlichkeiten<br/> fehlen.Dieses abzustreiten<br/> mag im Klang der Worte liegen.<br/> Merke, eine Lerch‘ kann fliegen,<br/> Lärchen nicht, was kaum verwundert,<br/> denn nicht eine unter hundert<br/> ist geflügelt.Auch im Singen<br/> sind die Bäume zu bezwingen.<br/> <br/> Die Bätrachtung sollte reichen,<br/> Rächtschreibfählern auszuweichen.<br/> Leicht gälingt’s, zu unterscheiden,<br/> wär ist wär nun von dän beiden.</p> <p>©Ingo Baumgartner, <u>2013</u><br/> Aus der Sammlung<u>Humor, Satire und Nonsens</u> </a> </p> </body> </html>"; TestExecutionContext context = new TestExecutionContext(); TestDocument document = new TestDocument(input); HtmlEscape htmlEscape = new HtmlEscape().WithEscapedChar('ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß', '©'); // When IList <IDocument> results = htmlEscape.Execute(new[] { document }, context).ToList(); // Make sure to materialize the result list // Then Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { output })); }