public async Task can_provide_access_to_fronted_capabilities() { var cSharpKernel = new CSharpKernel(); using var kernel = new CompositeKernel { cSharpKernel }; kernel.UseFrontedEnvironment(_ => new TestFrontendEnvironment()); using var kernelEvents = kernel.KernelEvents.ToSubscribedList(); FrontendEnvironmentBase frontendEnvironment = null; kernel.AddMiddleware(async(command, context, next) => { frontendEnvironment = context.FrontendEnvironment; await next(command, context); }); await kernel.SendAsync(new SubmitCode("2")); frontendEnvironment .Should() .BeOfType <TestFrontendEnvironment>(); }
private static IKernel CreateKernel( string defaultKernelName, FrontendEnvironmentBase frontendEnvironment, StartupOptions startupOptions) { var compositeKernel = new CompositeKernel(); compositeKernel.UseFrontedEnvironment(context => frontendEnvironment); compositeKernel.Add( new CSharpKernel() .UseDefaultFormatting() .UseNugetDirective() .UseKernelHelpers() .UseJupyterHelpers() .UseWho() .UseXplot() .UseMathAndLaTeX()); compositeKernel.Add( new FSharpKernel() .UseDefaultFormatting() .UseKernelHelpers() .UseWho() .UseDefaultNamespaces() .UseXplot() .UseMathAndLaTeX()); compositeKernel.Add( new PowerShellKernel() .UseJupyterHelpers() .UseXplot(), new[] { "#!pwsh" }); compositeKernel.Add( new JavaScriptKernel(), new[] { "#!js" }); compositeKernel.Add( new HtmlKernel()); var kernel = compositeKernel .UseDefaultMagicCommands() .UseLog() .UseAbout() .UseHttpApi(startupOptions); kernel.DefaultKernelName = defaultKernelName; var enableHttp = new SubmitCode("#!enable-http", compositeKernel.Name); enableHttp.PublishInternalEvents(); compositeKernel.DeferCommand(enableHttp); return(kernel); }
private static IKernel CreateKernel( string defaultKernelName, FrontendEnvironmentBase frontendEnvironment) { var compositeKernel = new CompositeKernel(); compositeKernel.UseFrontedEnvironment(context => frontendEnvironment); compositeKernel.Add( new CSharpKernel() .UseDefaultFormatting() .UseNugetDirective() .UseKernelHelpers() .UseJupyterHelpers() .UseWho() .UseXplot() .UseMathAndLaTeX()); compositeKernel.Add( new FSharpKernel() .UseDefaultFormatting() .UseKernelHelpers() .UseWho() .UseDefaultNamespaces() .UseXplot() .UseMathAndLaTeX()); compositeKernel.Add( new PowerShellKernel() .UseXplot() , new[] { "#!pwsh" }); var kernel = compositeKernel .UseDefaultMagicCommands() .UseLog() .UseAbout(); kernel.DefaultKernelName = defaultKernelName; kernel.Name = ".NET"; return(kernel); }