Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Jint.Tests.PublicInterface/ShadowRealmTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void CanUseViaEngineMethods()

// modules
var importValue = shadowRealm.ImportValue("./modules/format-name.js", "formatName");
var formatName = (ObjectInstance) importValue.UnwrapIfPromise();
var formatName = (ObjectInstance) importValue.UnwrapIfPromise(TestContext.Current.CancellationToken);
var result = engine.Invoke(formatName, "John", "Doe").AsString();
Assert.Equal("John Doe", result);
}
Expand Down
26 changes: 13 additions & 13 deletions Jint.Tests/Runtime/AsyncTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public void AwaitPropagationAgainstPrimitiveValue()
{
var engine = new Engine();
var result = engine.Evaluate("(async ()=>await '1')()");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal("1", result);
}

Expand All @@ -21,7 +21,7 @@ public void ShouldTaskConvertedToPromiseInJS()
Engine engine = new();
engine.SetValue("callable", Callable);
var result = engine.Evaluate("callable().then(x=>x*2)");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(2, result);

static async Task<int> Callable()
Expand All @@ -38,7 +38,7 @@ public void ShouldReturnedTaskConvertedToPromiseInJS()
Engine engine = new(options => options.ExperimentalFeatures = ExperimentalFeature.TaskInterop);
engine.SetValue("asyncTestClass", new AsyncTestClass());
var result = engine.Evaluate("asyncTestClass.ReturnDelayedTaskAsync().then(x=>x)");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(AsyncTestClass.TestString, result);
}

Expand All @@ -48,7 +48,7 @@ public void ShouldUnwrapPromiseWithCustomTimeout()
Engine engine = new(options => options.ExperimentalFeatures = ExperimentalFeature.TaskInterop);
engine.SetValue("asyncTestClass", new AsyncTestClass());
var result = engine.Evaluate("asyncTestClass.ReturnDelayedTaskAsync().then(x=>x)");
result = result.UnwrapIfPromise(TimeSpan.FromMilliseconds(200));
result = result.UnwrapIfPromise(TimeSpan.FromMilliseconds(200), TestContext.Current.CancellationToken);
Assert.Equal(AsyncTestClass.TestString, result);
}

Expand All @@ -62,7 +62,7 @@ async function test() {
return await asyncTestClass.ReturnDelayedTaskAsync();
}
""");
var result = engine.Invoke("test").UnwrapIfPromise();
var result = engine.Invoke("test").UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(AsyncTestClass.TestString, result);
}

Expand All @@ -72,7 +72,7 @@ public void ShouldReturnedCompletedTaskConvertedToPromiseInJS()
Engine engine = new(options => options.ExperimentalFeatures = ExperimentalFeature.TaskInterop);
engine.SetValue("asyncTestClass", new AsyncTestClass());
var result = engine.Evaluate("asyncTestClass.ReturnCompletedTask().then(x=>x)");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(AsyncTestClass.TestString, result);
}

Expand All @@ -86,7 +86,7 @@ public void ShouldTaskCatchWhenCancelled()
engine.SetValue("callable", Callable);
engine.SetValue("assert", new Action<bool>(Assert.True));
var result = engine.Evaluate("callable(token).then(_ => assert(false)).catch(_ => assert(true))");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
static async Task Callable(CancellationToken token)
{
await Task.FromCanceled(token);
Expand All @@ -103,7 +103,7 @@ public void ShouldReturnedTaskCatchWhenCancelled()
engine.SetValue("asyncTestClass", new AsyncTestClass());
engine.SetValue("assert", new Action<bool>(Assert.True));
var result = engine.Evaluate("asyncTestClass.ReturnCancelledTask(token).then(_ => assert(false)).catch(_ => assert(true))");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
}

[Fact]
Expand All @@ -128,7 +128,7 @@ public void ShouldReturnedTaskCatchWhenThrowError()
engine.SetValue("asyncTestClass", new AsyncTestClass());
engine.SetValue("assert", new Action<bool>(Assert.True));
var result = engine.Evaluate("asyncTestClass.ThrowAfterDelayAsync().then(_ => assert(false)).catch(_ => assert(true))");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
}

[Fact]
Expand Down Expand Up @@ -160,7 +160,7 @@ public void ShouldValueTaskConvertedToPromiseInJS()
Engine engine = new();
engine.SetValue("callable", Callable);
var result = engine.Evaluate("callable().then(x=>x*2)");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(2, result);

static async ValueTask<int> Callable()
Expand All @@ -181,7 +181,7 @@ public void ShouldValueTaskCatchWhenCancelled()
engine.SetValue("callable", Callable);
engine.SetValue("assert", new Action<bool>(Assert.True));
var result = engine.Evaluate("callable(token).then(_ => assert(false)).catch(_ => assert(true))");
result = result.UnwrapIfPromise();
result = result.UnwrapIfPromise(TestContext.Current.CancellationToken);
static async ValueTask Callable(CancellationToken token)
{
await ValueTask.FromCanceled(token);
Expand Down Expand Up @@ -277,7 +277,7 @@ async function main() {
""";
var result = engine.Execute(Script);
var val = result.GetValue("main");
val.Call().UnwrapIfPromise();
val.Call().UnwrapIfPromise(TestContext.Current.CancellationToken);
Assert.Equal(2, log.Count);
Assert.Equal("Promise!", log[0]);
Assert.Equal("Resolved!", log[1]);
Expand All @@ -302,7 +302,7 @@ async function main() {
""";
var result = engine.Execute(Script);
var val = result.GetValue("main").Call();
Assert.Equal(1, val.UnwrapIfPromise().AsInteger());
Assert.Equal(1, val.UnwrapIfPromise(TestContext.Current.CancellationToken).AsInteger());
}

[Fact]
Expand Down
2 changes: 1 addition & 1 deletion Jint.Tests/Runtime/InteropDisposeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public void Dispose()
[InlineData("(async function x() { await using temp = getAsync(); })();")]
public void ShouldAsyncDispose(string program)
{
_engine.Evaluate(program).UnwrapIfPromise();
_engine.Evaluate(program).UnwrapIfPromise(TestContext.Current.CancellationToken);
_asyncDisposable.Disposed.Should().BeTrue();
}

Expand Down
Loading
Loading