44using Microsoft . Extensions . Options ;
55using Moq ;
66using NUnit . Framework ;
7+ using Our . Umbraco . TagHelpers . Configuration ;
78using System ;
89using System . Collections . Generic ;
910using System . IO ;
@@ -20,6 +21,7 @@ public class InlineSvgTagHelperTests
2021 {
2122 private TagHelperContext _context = null ! ;
2223 private TagHelperOutput _output = null ! ;
24+ private IOptions < OurUmbracoTagHelpersConfiguration > _settings = null ! ;
2325
2426 [ SetUp ]
2527 public void Setup ( )
@@ -36,12 +38,25 @@ public void Setup()
3638 content . SetContent ( "Something else" ) ;
3739 return Task . FromResult < TagHelperContent > ( content ) ;
3840 } ) ;
41+
42+ var settings = new OurUmbracoTagHelpersConfiguration ( )
43+ {
44+ OurSVG =
45+ {
46+ Cache = false ,
47+ EnsureViewBox = false ,
48+ CacheMinutes = 180
49+ }
50+ } ;
51+ _settings = Options . Create ( settings ) ;
52+
3953 }
4054
4155 [ Test ]
4256 public void NoOutputIfNoMediaOrFileSet ( )
4357 {
44- var tagHelper = new InlineSvgTagHelper ( null , null , null ) ;
58+
59+ var tagHelper = new InlineSvgTagHelper ( null , null , null , _settings , null ) ;
4560
4661 tagHelper . Process ( _context , _output ) ;
4762
@@ -52,7 +67,7 @@ public void NoOutputIfNoMediaOrFileSet()
5267 public void NoOutputIfBothMediaAndFileSet ( )
5368 {
5469 var umbContent = Mock . Of < IPublishedContent > ( c => c . ContentType . ItemType == PublishedItemType . Media ) ;
55- var tagHelper = new InlineSvgTagHelper ( null , null , null )
70+ var tagHelper = new InlineSvgTagHelper ( null , null , null , _settings , null )
5671 {
5772 FileSource = "test.svg" ,
5873 MediaItem = umbContent
@@ -66,7 +81,7 @@ public void NoOutputIfBothMediaAndFileSet()
6681 [ Test ]
6782 public void NoOutputIfFileNotSvg ( )
6883 {
69- var tagHelper = new InlineSvgTagHelper ( null , null , null )
84+ var tagHelper = new InlineSvgTagHelper ( null , null , null , _settings , null )
7085 {
7186 FileSource = "test.notsvg"
7287 } ;
@@ -82,7 +97,7 @@ public void NoOutputIfFileNotFound()
8297 var fileProvider = new Mock < IFileProvider > ( ) ;
8398 fileProvider . Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) ) . Returns ( Mock . Of < IFileInfo > ( f => ! f . Exists ) ) ;
8499 var hostEnv = Mock . Of < IWebHostEnvironment > ( e => e . WebRootFileProvider == fileProvider . Object ) ;
85- var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null )
100+ var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null , _settings , null )
86101 {
87102 FileSource = "test.svg"
88103 } ;
@@ -98,7 +113,7 @@ public void ExpectedOutputIfValidFile()
98113 var fileProvider = new Mock < IFileProvider > ( ) ;
99114 fileProvider . Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) ) . Returns ( Mock . Of < IFileInfo > ( f => f . Exists && f . CreateReadStream ( ) == new MemoryStream ( Encoding . UTF8 . GetBytes ( "test svg" ) ) ) ) ;
100115 var hostEnv = Mock . Of < IWebHostEnvironment > ( e => e . WebRootFileProvider == fileProvider . Object ) ;
101- var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null )
116+ var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null , _settings , null )
102117 {
103118 FileSource = "test.svg"
104119 } ;
@@ -116,7 +131,7 @@ public void NoOutputIfMediaUrlNull()
116131 {
117132 var urlProvider = new Mock < IPublishedUrlProvider > ( ) ;
118133 urlProvider . Setup ( p => p . GetMediaUrl ( It . IsAny < IPublishedContent > ( ) , It . IsAny < UrlMode > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < Uri > ( ) ) ) . Returns ( ( string ) null ! ) ;
119- var tagHelper = new InlineSvgTagHelper ( null , null , urlProvider . Object )
134+ var tagHelper = new InlineSvgTagHelper ( null , null , urlProvider . Object , _settings , null )
120135 {
121136 MediaItem = Mock . Of < IPublishedContent > ( c => c . ContentType . ItemType == PublishedItemType . Media )
122137 } ;
@@ -132,7 +147,7 @@ public void NoOutputIfMediaNotSvg()
132147 var umbContent = Mock . Of < IPublishedContent > ( c => c . ContentType . ItemType == PublishedItemType . Media ) ;
133148 var urlProvider = new Mock < IPublishedUrlProvider > ( ) ;
134149 urlProvider . Setup ( p => p . GetMediaUrl ( umbContent , It . IsAny < UrlMode > ( ) , It . IsAny < string > ( ) , It . IsAny < string > ( ) , It . IsAny < Uri > ( ) ) ) . Returns ( "test.notsvg" ) ;
135- var tagHelper = new InlineSvgTagHelper ( null , null , urlProvider . Object )
150+ var tagHelper = new InlineSvgTagHelper ( null , null , urlProvider . Object , _settings , null )
136151 {
137152 MediaItem = umbContent
138153 } ;
@@ -152,7 +167,9 @@ public void NoOutputIfMediaNotFound()
152167 var tagHelper = new InlineSvgTagHelper (
153168 new MediaFileManager ( fileSystem , null , null , null , null , Mock . Of < IOptions < ContentSettings > > ( ) ) ,
154169 null ,
155- urlProvider . Object )
170+ urlProvider . Object ,
171+ _settings ,
172+ null )
156173 {
157174 MediaItem = umbContent
158175 } ;
@@ -172,7 +189,9 @@ public void ExpectedOutputIfValidMedia()
172189 var tagHelper = new InlineSvgTagHelper (
173190 new MediaFileManager ( fileSystem , null , null , null , null , Mock . Of < IOptions < ContentSettings > > ( ) ) ,
174191 null ,
175- urlProvider . Object )
192+ urlProvider . Object ,
193+ _settings ,
194+ null )
176195 {
177196 MediaItem = umbContent
178197 } ;
@@ -193,7 +212,7 @@ public void SanitizesJavascript()
193212 . Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) )
194213 . Returns ( Mock . Of < IFileInfo > ( f => f . Exists && f . CreateReadStream ( ) == new MemoryStream ( Encoding . UTF8 . GetBytes ( "<a xlink:href=\" javascript:alert('test');\" >Click here</a><script attr=\" test\" >test</script>end" ) ) ) ) ;
195214 var hostEnv = Mock . Of < IWebHostEnvironment > ( e => e . WebRootFileProvider == fileProvider . Object ) ;
196- var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null )
215+ var tagHelper = new InlineSvgTagHelper ( null , hostEnv , null , _settings , null )
197216 {
198217 FileSource = "test.svg"
199218 } ;
0 commit comments