public async Task ScriptCanAccessProjectedNamespace() { successSignal = new TaskCompletionSource <int>(); await DispatchContainer.GlobalDispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { engine_.SetGlobalVariable("echo", engine_.CreateFunction(EchoForProjectedNamespace, "echo")); engine_.InitializeWindowsRuntimeNamespace("Windows"); engine_.InitializeWindowsRuntimeNamespace("TestLib"); engine_.Execute(new ScriptSource("[eval code]", @"(function(global) { echo(Object.keys(global).join(', ')); var str = JSON.stringify(global, null, 2); //echo(str); var toaster = new TestLib.Toaster(); toaster.addEventListener('done', function(e) { echo('Toast completed'); }); toaster.toastAsync().then(function() { echo('toast promise done'); }); })(this);")); }); await successSignal.Task; }
public async Task ScriptCanAccessProjectedNamespace() { engine_.SetGlobalVariable("echo", engine_.CreateFunction(Echo, "echo")); engine_.InitializeWindowsRuntimeNamespace("Windows"); engine_.InitializeWindowsRuntimeNamespace("TestLib"); engine_.Execute(new ScriptSource("[eval code]", @"(function(global) { echo(Object.keys(global).join(', ')); var str = JSON.stringify(global, null, 2); //echo(str); var toaster = new TestLib.Toaster(); toaster.addEventListener('done', function(e) { echo('Toast completed'); }); toaster.toastAsync().then(function() { echo('toast promise done'); }); })(this);")); await Assert.WaitForSuccessOrFailure(30000); }