@@ -59,6 +59,26 @@ public async Task CancelAsyncTest()
59
59
Assert . AreEqual ( typeof ( TaskCanceledException ) , eventArgs . Error . GetType ( ) ) ;
60
60
}
61
61
62
+ [ TestMethod ]
63
+ public async Task CancelTaskAsyncTest ( )
64
+ {
65
+ // arrange
66
+ AsyncCompletedEventArgs eventArgs = null ;
67
+ string address = DummyFileHelper . GetFileUrl ( DummyFileHelper . FileSize16Kb ) ;
68
+ Options = GetDefaultConfig ( ) ;
69
+ DownloadStarted += async ( s , e ) => await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
70
+ DownloadFileCompleted += ( s , e ) => eventArgs = e ;
71
+
72
+ // act
73
+ await DownloadFileTaskAsync ( address ) . ConfigureAwait ( false ) ;
74
+
75
+ // assert
76
+ Assert . IsTrue ( IsCancelled ) ;
77
+ Assert . IsNotNull ( eventArgs ) ;
78
+ Assert . IsTrue ( eventArgs . Cancelled ) ;
79
+ Assert . AreEqual ( typeof ( TaskCanceledException ) , eventArgs . Error . GetType ( ) ) ;
80
+ }
81
+
62
82
[ TestMethod ]
63
83
[ Timeout ( 5000 ) ]
64
84
public async Task CompletesWithErrorWhenBadUrlTest ( )
@@ -86,7 +106,7 @@ public async Task CompletesWithErrorWhenBadUrlTest()
86
106
public async Task ClearTest ( )
87
107
{
88
108
// arrange
89
- CancelAsync ( ) ;
109
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
90
110
91
111
// act
92
112
await Clear ( ) ;
@@ -155,9 +175,9 @@ public async Task CancelPerformanceTest()
155
175
var watch = new Stopwatch ( ) ;
156
176
string address = DummyFileHelper . GetFileUrl ( DummyFileHelper . FileSize16Kb ) ;
157
177
Options = GetDefaultConfig ( ) ;
158
- DownloadProgressChanged += ( s , e ) => {
178
+ DownloadProgressChanged += async ( s , e ) => {
159
179
watch . Start ( ) ;
160
- CancelAsync ( ) ;
180
+ await CancelTaskAsync ( ) ;
161
181
} ;
162
182
DownloadFileCompleted += ( s , e ) => eventArgs = e ;
163
183
@@ -182,10 +202,10 @@ public async Task ResumePerformanceTest()
182
202
string address = DummyFileHelper . GetFileUrl ( DummyFileHelper . FileSize16Kb ) ;
183
203
Options = GetDefaultConfig ( ) ;
184
204
DownloadFileCompleted += ( s , e ) => eventArgs = e ;
185
- DownloadProgressChanged += ( s , e ) => {
205
+ DownloadProgressChanged += async ( s , e ) => {
186
206
if ( isCancelled == false )
187
207
{
188
- CancelAsync ( ) ;
208
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
189
209
isCancelled = true ;
190
210
}
191
211
else
@@ -247,11 +267,11 @@ public async Task CancelAfterPauseTest()
247
267
DownloadFileCompleted += ( s , e ) => eventArgs = e ;
248
268
249
269
// act
250
- DownloadProgressChanged += ( s , e ) => {
270
+ DownloadProgressChanged += async ( s , e ) => {
251
271
Pause ( ) ;
252
272
cancelStateBeforeCancel = IsCancelled ;
253
273
pauseStateBeforeCancel = IsPaused ;
254
- CancelAsync ( ) ;
274
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
255
275
pauseStateAfterCancel = IsPaused ;
256
276
cancelStateAfterCancel = IsCancelled ;
257
277
} ;
@@ -308,10 +328,10 @@ public async Task ResumeNotSupportedUrlTest()
308
328
var address = DummyFileHelper . GetFileWithNoAcceptRangeUrl ( "test.dat" , DummyFileHelper . FileSize16Kb ) ;
309
329
Options = GetDefaultConfig ( ) ;
310
330
DownloadFileCompleted += ( s , e ) => eventArgs = e ;
311
- DownloadProgressChanged += ( s , e ) => {
331
+ DownloadProgressChanged += async ( s , e ) => {
312
332
if ( cancelOnProgressNo == progressCount ++ )
313
333
{
314
- CancelAsync ( ) ;
334
+ await CancelTaskAsync ( ) ;
315
335
isCancelled = true ;
316
336
}
317
337
else if ( isCancelled )
@@ -394,11 +414,11 @@ public async Task ActiveChunksAfterCancelResumeWithNotSupportedUrlTest()
394
414
var cancelOnProgressNo = 6 ;
395
415
var address = DummyFileHelper . GetFileWithNoAcceptRangeUrl ( "test.dat" , DummyFileHelper . FileSize16Kb ) ;
396
416
Options = GetDefaultConfig ( ) ;
397
- DownloadProgressChanged += ( s , e ) => {
417
+ DownloadProgressChanged += async ( s , e ) => {
398
418
allActiveChunksCount . Add ( e . ActiveChunks ) ;
399
419
if ( cancelOnProgressNo == progressCount ++ )
400
420
{
401
- CancelAsync ( ) ;
421
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
402
422
isCancelled = true ;
403
423
}
404
424
else if ( isCancelled )
@@ -549,11 +569,11 @@ public async Task TestResumeFromSerializedPackage(bool onMemory)
549
569
var packageText = string . Empty ;
550
570
var url = DummyFileHelper . GetFileUrl ( DummyFileHelper . FileSize16Kb ) ;
551
571
Options = GetDefaultConfig ( ) ;
552
- ChunkDownloadProgressChanged += ( s , e ) => {
572
+ ChunkDownloadProgressChanged += async ( s , e ) => {
553
573
if ( isCancelOccurred == false )
554
574
{
555
575
isCancelOccurred = true ;
556
- CancelAsync ( ) ;
576
+ await CancelTaskAsync ( ) ;
557
577
}
558
578
} ;
559
579
DownloadFileCompleted += ( s , e ) => {
@@ -598,11 +618,11 @@ public async Task TestPackageStatusAfterCancellation()
598
618
var completedStatus = DownloadStatus . None ;
599
619
600
620
DownloadStarted += ( s , e ) => createdStatus = Package . Status ;
601
- DownloadProgressChanged += ( s , e ) => {
621
+ DownloadProgressChanged += async ( s , e ) => {
602
622
runningStatus = Package . Status ;
603
623
if ( e . ProgressPercentage > 50 && e . ProgressPercentage < 70 )
604
624
{
605
- CancelAsync ( ) ;
625
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
606
626
cancelledStatus = Package . Status ;
607
627
}
608
628
} ;
@@ -644,7 +664,7 @@ public async Task TestResumeDownloadImmedietalyAfterCancellationAsync()
644
664
}
645
665
else if ( e . ProgressPercentage > 50 && e . ProgressPercentage < 60 )
646
666
{
647
- CancelAsync ( ) ;
667
+ await CancelTaskAsync ( ) . ConfigureAwait ( false ) ;
648
668
checkProgress = true ;
649
669
await DownloadFileTaskAsync ( Package ) . ConfigureAwait ( false ) ;
650
670
tcs . SetResult ( true ) ;
0 commit comments