You've already forked linux-packaging-mono
Imported Upstream version 5.4.0.167
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
This commit is contained in:
parent
e49d6f06c0
commit
536cd135cc
@ -30,10 +30,24 @@ namespace System.Threading.Tasks.Tests
|
||||
Task<Task> outer = Task.FromResult(inner);
|
||||
Task unwrappedInner = outer.Unwrap();
|
||||
Assert.True(unwrappedInner.IsCompleted);
|
||||
Assert.Same(inner, unwrappedInner);
|
||||
AssertTasksAreEqual(inner, unwrappedInner);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests Unwrap when both the outer task and non-generic inner task have completed by the time Unwrap is called.
|
||||
/// </summary>
|
||||
/// <param name="inner">Will be run with a RanToCompletion, Faulted, and Canceled task.</param>
|
||||
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Core optimization to return the exact same object")]
|
||||
[Theory]
|
||||
[MemberData(nameof(CompletedNonGenericTasks))]
|
||||
public void NonGeneric_Completed_Completed_OptimizeToUseSameInner(Task inner)
|
||||
{
|
||||
Task<Task> outer = Task.FromResult(inner);
|
||||
Task unwrappedInner = outer.Unwrap();
|
||||
Assert.True(unwrappedInner.IsCompleted);
|
||||
Assert.Same(inner, unwrappedInner);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests Unwrap when both the outer task and generic inner task have completed by the time Unwrap is called.
|
||||
/// </summary>
|
||||
@ -45,10 +59,24 @@ namespace System.Threading.Tasks.Tests
|
||||
Task<Task<string>> outer = Task.FromResult(inner);
|
||||
Task<string> unwrappedInner = outer.Unwrap();
|
||||
Assert.True(unwrappedInner.IsCompleted);
|
||||
Assert.Same(inner, unwrappedInner);
|
||||
AssertTasksAreEqual(inner, unwrappedInner);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests Unwrap when both the outer task and generic inner task have completed by the time Unwrap is called.
|
||||
/// </summary>
|
||||
/// <param name="inner">The inner task.</param>
|
||||
[SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework, ".NET Core optimization to return the exact same object")]
|
||||
[Theory]
|
||||
[MemberData(nameof(CompletedStringTasks))]
|
||||
public void Generic_Completed_Completed_OptimizeToUseSameInner(Task<string> inner)
|
||||
{
|
||||
Task<Task<string>> outer = Task.FromResult(inner);
|
||||
Task<string> unwrappedInner = outer.Unwrap();
|
||||
Assert.True(unwrappedInner.IsCompleted);
|
||||
Assert.Same(inner, unwrappedInner);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests Unwrap when the non-generic inner task has completed but the outer task has not completed by the time Unwrap is called.
|
||||
/// </summary>
|
||||
|
Reference in New Issue
Block a user