4
4
using Microsoft . Extensions . Options ;
5
5
using Moq ;
6
6
using NUnit . Framework ;
7
+ using Our . Umbraco . TagHelpers . Configuration ;
7
8
using System ;
8
9
using System . Collections . Generic ;
9
10
using System . IO ;
@@ -20,6 +21,7 @@ public class InlineSvgTagHelperTests
20
21
{
21
22
private TagHelperContext _context = null ! ;
22
23
private TagHelperOutput _output = null ! ;
24
+ private IOptions < OurUmbracoTagHelpersConfiguration > _settings = null ! ;
23
25
24
26
[ SetUp ]
25
27
public void Setup ( )
@@ -36,12 +38,25 @@ public void Setup()
36
38
content . SetContent ( "Something else" ) ;
37
39
return Task . FromResult < TagHelperContent > ( content ) ;
38
40
} ) ;
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
+
39
53
}
40
54
41
55
[ Test ]
42
56
public void NoOutputIfNoMediaOrFileSet ( )
43
57
{
44
- var tagHelper = new InlineSvgTagHelper ( null , null , null ) ;
58
+
59
+ var tagHelper = new InlineSvgTagHelper ( null , null , null , _settings , null ) ;
45
60
46
61
tagHelper . Process ( _context , _output ) ;
47
62
@@ -52,7 +67,7 @@ public void NoOutputIfNoMediaOrFileSet()
52
67
public void NoOutputIfBothMediaAndFileSet ( )
53
68
{
54
69
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 )
56
71
{
57
72
FileSource = "test.svg" ,
58
73
MediaItem = umbContent
@@ -66,7 +81,7 @@ public void NoOutputIfBothMediaAndFileSet()
66
81
[ Test ]
67
82
public void NoOutputIfFileNotSvg ( )
68
83
{
69
- var tagHelper = new InlineSvgTagHelper ( null , null , null )
84
+ var tagHelper = new InlineSvgTagHelper ( null , null , null , _settings , null )
70
85
{
71
86
FileSource = "test.notsvg"
72
87
} ;
@@ -82,7 +97,7 @@ public void NoOutputIfFileNotFound()
82
97
var fileProvider = new Mock < IFileProvider > ( ) ;
83
98
fileProvider . Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) ) . Returns ( Mock . Of < IFileInfo > ( f => ! f . Exists ) ) ;
84
99
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 )
86
101
{
87
102
FileSource = "test.svg"
88
103
} ;
@@ -98,7 +113,7 @@ public void ExpectedOutputIfValidFile()
98
113
var fileProvider = new Mock < IFileProvider > ( ) ;
99
114
fileProvider . Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) ) . Returns ( Mock . Of < IFileInfo > ( f => f . Exists && f . CreateReadStream ( ) == new MemoryStream ( Encoding . UTF8 . GetBytes ( "test svg" ) ) ) ) ;
100
115
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 )
102
117
{
103
118
FileSource = "test.svg"
104
119
} ;
@@ -116,7 +131,7 @@ public void NoOutputIfMediaUrlNull()
116
131
{
117
132
var urlProvider = new Mock < IPublishedUrlProvider > ( ) ;
118
133
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 )
120
135
{
121
136
MediaItem = Mock . Of < IPublishedContent > ( c => c . ContentType . ItemType == PublishedItemType . Media )
122
137
} ;
@@ -132,7 +147,7 @@ public void NoOutputIfMediaNotSvg()
132
147
var umbContent = Mock . Of < IPublishedContent > ( c => c . ContentType . ItemType == PublishedItemType . Media ) ;
133
148
var urlProvider = new Mock < IPublishedUrlProvider > ( ) ;
134
149
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 )
136
151
{
137
152
MediaItem = umbContent
138
153
} ;
@@ -152,7 +167,9 @@ public void NoOutputIfMediaNotFound()
152
167
var tagHelper = new InlineSvgTagHelper (
153
168
new MediaFileManager ( fileSystem , null , null , null , null , Mock . Of < IOptions < ContentSettings > > ( ) ) ,
154
169
null ,
155
- urlProvider . Object )
170
+ urlProvider . Object ,
171
+ _settings ,
172
+ null )
156
173
{
157
174
MediaItem = umbContent
158
175
} ;
@@ -172,7 +189,9 @@ public void ExpectedOutputIfValidMedia()
172
189
var tagHelper = new InlineSvgTagHelper (
173
190
new MediaFileManager ( fileSystem , null , null , null , null , Mock . Of < IOptions < ContentSettings > > ( ) ) ,
174
191
null ,
175
- urlProvider . Object )
192
+ urlProvider . Object ,
193
+ _settings ,
194
+ null )
176
195
{
177
196
MediaItem = umbContent
178
197
} ;
@@ -193,7 +212,7 @@ public void SanitizesJavascript()
193
212
. Setup ( p => p . GetFileInfo ( It . IsAny < string > ( ) ) )
194
213
. 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" ) ) ) ) ;
195
214
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 )
197
216
{
198
217
FileSource = "test.svg"
199
218
} ;
0 commit comments