@@ -16,24 +16,54 @@ class HtmlToComposableUnitTest {
16
16
17
17
@Before
18
18
fun setup () {
19
- every { element.attr(" width" ) } returns null
20
- every { element.attr(" height" ) } returns null
21
- every { element.attr(" data-img-url" ) } returns null
19
+ every { element.attr(" width" ) } returns " "
20
+ every { element.attr(" height" ) } returns " "
21
+ every { element.attr(" data-img-url" ) } returns " "
22
22
}
23
23
24
24
@Test
25
25
fun findImageSrcWithNoSrc () {
26
- every { element.attr(" srcset" ) } returns null
27
- every { element.attr(" abs:src" ) } returns null
26
+ every { element.attr(" srcset" ) } returns " "
27
+ every { element.attr(" abs:src" ) } returns " "
28
28
29
29
val result = getImageSource(" http://foo" , element)
30
30
31
31
assertFalse(result.hasImage)
32
32
}
33
33
34
+ @Test
35
+ fun findImageOnlySrcWithZeroPixels () {
36
+ every { element.attr(" srcset" ) } returns " "
37
+ every { element.attr(" abs:src" ) } returns " http://foo/image.jpg"
38
+ every { element.attr(" width" ) } returns " 0"
39
+ every { element.attr(" height" ) } returns " 0"
40
+
41
+ val result = getImageSource(" http://foo" , element)
42
+
43
+ assertTrue(result.notHasImage)
44
+ }
45
+
46
+ @Test
47
+ fun findImageBestZeroPixelSrcSetIsNoImage () {
48
+ every { element.attr(" srcset" ) } returns " header640.png 0w"
49
+ every { element.attr(" abs:src" ) } returns " "
50
+ every { element.attr(" width" ) } returns " "
51
+ every { element.attr(" height" ) } returns " "
52
+
53
+ val result = getImageSource(" http://foo" , element)
54
+
55
+ assertTrue(result.hasImage)
56
+
57
+ val maxSize = 1
58
+ val best = result.getBestImageForMaxSize(maxSize, 1.0f )
59
+ assertTrue(" $best should be NoImageCandidate" ) {
60
+ best is NoImageCandidate
61
+ }
62
+ }
63
+
34
64
@Test
35
65
fun findImageOnlySrc () {
36
- every { element.attr(" srcset" ) } returns null
66
+ every { element.attr(" srcset" ) } returns " "
37
67
every { element.attr(" abs:src" ) } returns " http://foo/image.jpg"
38
68
39
69
val result = getImageSource(" http://foo" , element)
@@ -46,7 +76,7 @@ class HtmlToComposableUnitTest {
46
76
@Test
47
77
fun findImageOnlySingleSrcSet () {
48
78
every { element.attr(" srcset" ) } returns " image.jpg"
49
- every { element.attr(" abs:src" ) } returns null
79
+ every { element.attr(" abs:src" ) } returns " "
50
80
51
81
val result = getImageSource(" http://foo" , element)
52
82
@@ -58,7 +88,7 @@ class HtmlToComposableUnitTest {
58
88
@Test
59
89
fun findImageBestMinSrcSet () {
60
90
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
61
- every { element.attr(" abs:src" ) } returns null
91
+ every { element.attr(" abs:src" ) } returns " "
62
92
63
93
val result = getImageSource(" http://foo" , element)
64
94
@@ -72,7 +102,7 @@ class HtmlToComposableUnitTest {
72
102
@Test
73
103
fun findImageBest640SrcSet () {
74
104
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
75
- every { element.attr(" abs:src" ) } returns null
105
+ every { element.attr(" abs:src" ) } returns " "
76
106
77
107
val result = getImageSource(" http://foo" , element)
78
108
@@ -86,7 +116,7 @@ class HtmlToComposableUnitTest {
86
116
@Test
87
117
fun findImageBest960SrcSet () {
88
118
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
89
- every { element.attr(" abs:src" ) } returns null
119
+ every { element.attr(" abs:src" ) } returns " "
90
120
91
121
val result = getImageSource(" http://foo" , element)
92
122
@@ -100,7 +130,7 @@ class HtmlToComposableUnitTest {
100
130
@Test
101
131
fun findImageBest650SrcSet () {
102
132
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
103
- every { element.attr(" abs:src" ) } returns null
133
+ every { element.attr(" abs:src" ) } returns " "
104
134
105
135
val result = getImageSource(" http://foo" , element)
106
136
@@ -114,7 +144,7 @@ class HtmlToComposableUnitTest {
114
144
@Test
115
145
fun findImageBest950SrcSet () {
116
146
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
117
- every { element.attr(" abs:src" ) } returns null
147
+ every { element.attr(" abs:src" ) } returns " "
118
148
119
149
val result = getImageSource(" http://foo" , element)
120
150
@@ -128,7 +158,7 @@ class HtmlToComposableUnitTest {
128
158
@Test
129
159
fun findImageBest1500SrcSet () {
130
160
every { element.attr(" srcset" ) } returns " header640.png 640w, header960.png 960w, header2x.png 2x, header3.0x.png 3.0x, header.png"
131
- every { element.attr(" abs:src" ) } returns null
161
+ every { element.attr(" abs:src" ) } returns " "
132
162
133
163
val result = getImageSource(" http://foo" , element)
134
164
@@ -142,7 +172,7 @@ class HtmlToComposableUnitTest {
142
172
@Test
143
173
fun findImageBest3xSrcSet () {
144
174
every { element.attr(" srcset" ) } returns " header2x.png 2x, header3.0x.png 3.0x, header.png"
145
- every { element.attr(" abs:src" ) } returns null
175
+ every { element.attr(" abs:src" ) } returns " "
146
176
147
177
val result = getImageSource(" http://foo" , element)
148
178
@@ -156,7 +186,7 @@ class HtmlToComposableUnitTest {
156
186
@Test
157
187
fun findImageBest1xSrcSet () {
158
188
every { element.attr(" srcset" ) } returns " header2x.png 2x, header3.0x.png 3.0x, header.png"
159
- every { element.attr(" abs:src" ) } returns null
189
+ every { element.attr(" abs:src" ) } returns " "
160
190
161
191
val result = getImageSource(" http://foo" , element)
162
192
@@ -220,8 +250,8 @@ class HtmlToComposableUnitTest {
220
250
every {
221
251
element.attr(" abs:src" )
222
252
} returns " https://duet-cdn.vox-cdn.com/thumbor/184x0:2614x1535/2400x1600/filters:focal(1847x240:1848x241):format(webp)/cdn.vox-cdn.com/uploads/chorus_asset/file/24842461/Screenshot_2023_08_10_at_12.22.58_PM.png"
223
- every { element.attr(" width" ) } returns null
224
- every { element.attr(" height" ) } returns null
253
+ every { element.attr(" width" ) } returns " "
254
+ every { element.attr(" height" ) } returns " "
225
255
226
256
val result = getImageSource(" https://www.politico.eu/feed/" , element)
227
257
@@ -246,12 +276,12 @@ class HtmlToComposableUnitTest {
246
276
} returns " https://static1.xdaimages.com/wordpress/wp-content/uploads/2023/12/onedrive-app-for-microsoft-teams.png"
247
277
every {
248
278
element.attr(" srcset" )
249
- } returns null
279
+ } returns " "
250
280
every {
251
281
element.attr(" abs:src" )
252
- } returns null
253
- every { element.attr(" width" ) } returns null
254
- every { element.attr(" height" ) } returns null
282
+ } returns " "
283
+ every { element.attr(" width" ) } returns " "
284
+ every { element.attr(" height" ) } returns " "
255
285
256
286
val result = getImageSource(" https://www.xda-developers.com" , element)
257
287
@@ -273,8 +303,8 @@ class HtmlToComposableUnitTest {
273
303
fun noSourcesMeansEmptyResult () {
274
304
every { element.attr(" srcset" ) } returns " "
275
305
every { element.attr(" abs:src" ) } returns " "
276
- every { element.attr(" width" ) } returns null
277
- every { element.attr(" height" ) } returns null
306
+ every { element.attr(" width" ) } returns " "
307
+ every { element.attr(" height" ) } returns " "
278
308
279
309
val result = getImageSource(" https://www.politico.eu/feed/" , element)
280
310
0 commit comments