9
9
using System ;
10
10
using System . IO ;
11
11
using System . Linq ;
12
- using System . Net . Http ;
12
+ using System . Reflection ;
13
13
using System . Threading . Tasks ;
14
14
using Windows . UI . Xaml ;
15
15
using Windows . UI . Xaml . Controls ;
@@ -29,20 +29,11 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
29
29
{
30
30
var bitmapImage = new BitmapImage ( ) ;
31
31
32
- using var client = new HttpClient ( ) ;
33
- var response = await client . GetAsync ( new Uri ( "https://st.depositphotos.com/1428083/2946/i/600/depositphotos_29460297-stock-photo-bird-cage.jpg" ) ) ;
34
- using var stream = await response . Content . ReadAsStreamAsync ( ) ;
35
- try
36
- {
37
- using var memStream = new MemoryStream ( ) ;
38
- await stream . CopyToAsync ( memStream ) ;
39
- memStream . Seek ( 0 , SeekOrigin . Begin ) ;
40
- await bitmapImage . SetSourceAsync ( memStream . AsRandomAccessStream ( ) ) ;
41
- }
42
- catch
43
- {
44
- Assert . Fail ( ) ;
45
- }
32
+ using var stream = Assembly . GetExecutingAssembly ( ) . GetManifestResourceStream ( @"UnitTests.UWP.Assets.StoreLogo.embeded.png" ) ;
33
+ using var memStream = new MemoryStream ( ) ;
34
+ await stream . CopyToAsync ( memStream ) ;
35
+ memStream . Seek ( 0 , SeekOrigin . Begin ) ;
36
+ await bitmapImage . SetSourceAsync ( memStream . AsRandomAccessStream ( ) ) ;
46
37
47
38
var imageLoader = new ImageEx ( ) ;
48
39
@@ -65,9 +56,10 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
65
56
}
66
57
67
58
[ TestMethod ]
68
- public async Task SetSourceToUriOfData ( )
59
+ [ DataRow ( ImageString ) ]
60
+ [ DataRow ( @"ms-appx:///Assets/StoreLogo.png" ) ]
61
+ public async Task SetSourceToUri ( string uri )
69
62
{
70
- var imageOpendedCallCount = 0 ;
71
63
await App . DispatcherQueue . EnqueueAsync ( async ( ) =>
72
64
{
73
65
var imageLoader = new ImageEx ( ) ;
@@ -76,13 +68,14 @@ await App.DispatcherQueue.EnqueueAsync(async () =>
76
68
77
69
Assert . AreEqual ( "Unloaded" , GetCurrentState ( imageLoader ) ) ;
78
70
71
+ var imageOpendedCallCount = 0 ;
79
72
imageLoader . ImageExOpened += ( s , e ) =>
80
73
{
81
74
imageOpendedCallCount ++ ;
82
75
Assert . AreEqual ( "Loaded" , GetCurrentState ( imageLoader ) ) ;
83
76
} ;
84
77
85
- imageLoader . Source = new Uri ( ImageString ) ;
78
+ imageLoader . Source = new Uri ( uri ) ;
86
79
87
80
// TODO (2021.05.11): Test in a more deterministic way.
88
81
// Setting source causes some async code to trigger and
0 commit comments