@@ -39,28 +39,42 @@ public void Returns_Udis_From_Data_Udi_Html_Attributes()
39
39
Assert . AreEqual ( UdiParser . Parse ( "umb://media-type/B726D735E4C446D58F703F3FBCFC97A5" ) , result [ 1 ] ) ;
40
40
}
41
41
42
- [ Test ]
43
- public void Remove_Image_Sources ( )
44
- {
45
- var imageSourceParser = new HtmlImageSourceParser ( Mock . Of < IPublishedUrlProvider > ( ) ) ;
46
-
47
- var result = imageSourceParser . RemoveImageSources ( @"<p>
42
+ [ TestCase (
43
+ @"<p>
48
44
<div>
49
45
<img src=""/media/12354/test.jpg"" />
50
46
</div></p>
51
47
<p>
52
48
<div><img src=""/media/987645/test.jpg"" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" /></div>
53
- </p>" ) ;
54
-
55
- Assert . AreEqual (
56
- @"<p>
49
+ </p>" ,
50
+ ExpectedResult = @"<p>
57
51
<div>
58
52
<img src=""/media/12354/test.jpg"" />
59
53
</div></p>
60
54
<p>
61
55
<div><img src="""" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" /></div>
62
56
</p>" ,
63
- result ) ;
57
+ TestName = "Remove image source with data-udi set" ) ]
58
+ [ TestCase (
59
+ @"<img alt title=""Title"" src=""/media/12354/test.jpg?width=400&height=400&hmac=test"" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" />" ,
60
+ ExpectedResult = @"<img alt title=""Title"" src=""?width=400&height=400&hmac=test"" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" />" ,
61
+ TestName = "Remove image source but keep querystring" ) ]
62
+ [ TestCase (
63
+ @"<img alt title=""Title"" src="""" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" />" ,
64
+ ExpectedResult = @"<img alt title=""Title"" src="""" data-udi=""umb://media/81BB2036-034F-418B-B61F-C7160D68DCD4"" />" ,
65
+ TestName = "Remove image source with empty src" ) ]
66
+ [ TestCase (
67
+ @"<img src=""/media/12345/test.jpg"" />" ,
68
+ ExpectedResult = @"<img src=""/media/12345/test.jpg"" />" ,
69
+ TestName = "Do not remove image source without data-udi set" ) ]
70
+ [ Category ( "Remove image sources" ) ]
71
+ public string Remove_Image_Sources ( string sourceHtml )
72
+ {
73
+ var imageSourceParser = new HtmlImageSourceParser ( Mock . Of < IPublishedUrlProvider > ( ) ) ;
74
+
75
+ var actual = imageSourceParser . RemoveImageSources ( sourceHtml ) ;
76
+
77
+ return actual ;
64
78
}
65
79
66
80
[ Test ]
@@ -146,6 +160,10 @@ public void Ensure_Image_Sources()
146
160
@"<div><img src=""non empty src"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4""/></div>" ,
147
161
ExpectedResult = @"<div><img src=""/media/1001/image.jpg"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4""/></div>" ,
148
162
TestName = "Filled source is overwritten with data-udi set" ) ]
163
+ [ TestCase (
164
+ @"<div><img alt title=""Test"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" src=""non empty src"" /></div>" ,
165
+ ExpectedResult = @"<div><img alt title=""Test"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" src=""/media/1001/image.jpg"" /></div>" ,
166
+ TestName = "Order of attributes does not matter" ) ]
149
167
[ TestCase (
150
168
@"<div><img src=""some src"" some-attribute data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" another-attribute/></div>" ,
151
169
ExpectedResult = @"<div><img src=""/media/1001/image.jpg"" some-attribute data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" another-attribute/></div>" ,
@@ -158,6 +176,10 @@ public void Ensure_Image_Sources()
158
176
@"<div><img src=""?width=100&height=500"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4""/></div>" ,
159
177
ExpectedResult = @"<div><img src=""/media/1001/image.jpg?width=100&height=500"" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4""/></div>" ,
160
178
TestName = "Parameters are prefixed" ) ]
179
+ [ TestCase (
180
+ @"<div><img data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" src=""?width=100&height=500"" /></div>" ,
181
+ ExpectedResult = @"<div><img data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4"" src=""/media/1001/image.jpg?width=100&height=500"" /></div>" ,
182
+ TestName = "Parameters are prefixed (order of attributes reversed)" ) ]
161
183
[ TestCase (
162
184
@"<div>
163
185
<img src="""" data-udi=""umb://media/81BB2036034F418BB61FC7160D68DCD4""/>
0 commit comments