private void StartWebViewCoreIfPossible() { if (!RequiredStartupPropertiesSet || _webviewManager != null) { return; } if (NativeView == null) { throw new InvalidOperationException($"Can't start {nameof(BlazorWebView)} without native web view instance."); } // We assume the host page is always in the root of the content directory, because it's // unclear there's any other use case. We can add more options later if so. var contentRootDir = Path.GetDirectoryName(HostPage !) ?? string.Empty; var hostPageRelativePath = Path.GetRelativePath(contentRootDir, HostPage !); // On Windows we don't use IFileProvider because it is sync-only, whereas in WinUI all the // file storage APIs are async-only. So instead we override HandleWebResourceRequest in // WinUIWebViewManager so that loading static assets is done entirely there. var mauiAssetFileProvider = new NullFileProvider(); _webviewManager = new WinUIWebViewManager(NativeView, new WinUIWebView2Wrapper(NativeView), Services !, MauiDispatcher.Instance, mauiAssetFileProvider, VirtualView.JSComponents, hostPageRelativePath, contentRootDir); if (RootComponents != null) { foreach (var rootComponent in RootComponents) { // Since the page isn't loaded yet, this will always complete synchronously _ = rootComponent.AddToWebViewManagerAsync(_webviewManager); } } _webviewManager.Navigate("/"); }
public void GetCompiler_ThrowsIfNullFileProvider() { // Arrange var expected = $"'{typeof(RazorViewEngineOptions).FullName}.{nameof(RazorViewEngineOptions.FileProviders)}' must " + $"not be empty. At least one '{typeof(IFileProvider).FullName}' is required to locate a view for " + "rendering."; var fileProvider = new NullFileProvider(); var accessor = Mock.Of <IRazorViewEngineFileProviderAccessor>(a => a.FileProvider == fileProvider); var partManager = new ApplicationPartManager(); var options = Options.Create(new RazorViewEngineOptions()); var referenceManager = new DefaultRazorReferenceManager(partManager, options); var provider = new RazorViewCompilerProvider( partManager, new RazorTemplateEngine( RazorEngine.Create(), new FileProviderRazorProject(accessor)), accessor, new CSharpCompiler(referenceManager, Mock.Of <IHostingEnvironment>()), options, NullLoggerFactory.Instance); // Act & Assert var exception = Assert.Throws <InvalidOperationException>( () => provider.GetCompiler()); Assert.Equal(expected, exception.Message); }
public BenchmarkHostingEnvironment() { ApplicationName = typeof(ViewAssemblyMarker).Assembly.FullName; WebRootFileProvider = new NullFileProvider(); ContentRootFileProvider = new NullFileProvider(); ContentRootPath = AppContext.BaseDirectory; WebRootPath = AppContext.BaseDirectory; }
public TestHostingEnvironment() { ApplicationName = typeof(TestHostingEnvironment).Assembly.FullName; WebRootFileProvider = new NullFileProvider(); ContentRootFileProvider = new NullFileProvider(); ContentRootPath = AppContext.BaseDirectory; WebRootPath = AppContext.BaseDirectory; }
public DummyHostEnvironment() { EnvironmentName = "Development"; ApplicationName = "Gridwich"; WebRootPath = "/a/b/c"; WebRootFileProvider = new NullFileProvider(); ContentRootFileProvider = new NullFileProvider(); ContentRootPath = "/"; }
public void TransformFile() { NullFileProvider nullFile = new NullFileProvider(); File.WriteAllText("before.txt", "mattias;asplund;1971\namanda;asplund;2003\n"); File.WriteAllText("after.txt", "MATTIAS ASPLUND ÄR 46 ÅR GAMMAL.\nAMANDA ASPLUND ÄR 14 ÅR GAMMAL.\n"); var sut = new FileConverter(); sut.TransformFile("before.txt", "actual.txt"); string expected = File.ReadAllText("after.txt"); string actual = File.ReadAllText("actual.txt"); Assert.AreEqual(expected, actual); }
public void GetOrAdd_ThrowsIfNullFileProvider() { // Arrange var expected = $"'{typeof(RazorViewEngineOptions).FullName}.{nameof(RazorViewEngineOptions.FileProviders)}' must " + $"not be empty. At least one '{typeof(IFileProvider).FullName}' is required to locate a view for " + "rendering."; var fileProvider = new NullFileProvider(); var cache = new CompilerCache(fileProvider); // Act & Assert var exception = Assert.Throws <InvalidOperationException>( () => cache.GetOrAdd(ViewPath, _ => { throw new InvalidTimeZoneException(); })); Assert.Equal(expected, exception.Message); }
public void Test1() { //Microsoft.Extensions.FileProviders.Composite.CompositeDirectoryContents // Microsoft.Extensions.FileProviders.NotFoundDirectoryContents //Microsoft.Extensions.FileProviders.Internal.PhysicalDirectoryContents //Microsoft.Extensions.FileProviders.PhysicalFileProvider var sss1 = new EmbeddedFileProvider(typeof(UnitTest1).Assembly); //var sss2 = new ManifestEmbeddedFileProvider(typeof(UnitTest1).Assembly); var sss3 = new PhysicalFileProvider(@"D:\Users\mccj\Source\Repos\FileManager\FileManager\"); var sss4 = new NullFileProvider(); var sss5 = new FileStorage.StoreFileProvider(new FileStorage.Standard.PhysicalFileSystemStore(@"D:\Users\mccj\Source\Repos\FileManager\FileManager\")); var sss6 = new FileStorage.StoreFileProvider(new FileStorage.Standard.FileSystemStore(@"D:\Users\mccj\Source\Repos\FileManager\FileManager\")); var sss7 = new CompositeFileProvider(sss1, sss3, sss4, sss5, sss6); var sdfsd = sss4.Watch(""); var rr = sss4.GetFileInfo(""); var sss11 = sss3.GetFileInfo("aaaa"); var sssd11 = sss5.GetFileInfo("aaaa"); var sssc11 = sss6.GetFileInfo("aaaa"); var sss113 = sss3.GetFileInfo("FileProviderStore"); var sssd113 = sss5.GetFileInfo("FileProviderStore"); var sssd213 = sss6.GetFileInfo("FileProviderStore"); var sss112 = sss3.GetFileInfo("ApplicationBuilderExtensions.cs"); var sssd112 = sss5.GetFileInfo("ApplicationBuilderExtensions.cs"); var sssc112 = sss6.GetFileInfo("ApplicationBuilderExtensions.cs"); var sss = sss3.GetDirectoryContents(""); var sssd = sss5.GetDirectoryContents(""); var sssc = sss6.GetDirectoryContents(""); var sss75 = sss3.GetDirectoryContents("aaaaa"); var sssd5 = sss5.GetDirectoryContents("aaaaa"); var sssdc = sss6.GetDirectoryContents("aaaaa"); var sss76 = sss3.GetDirectoryContents("FileProviderStore"); var sssd6 = sss5.GetDirectoryContents("FileProviderStore"); var sssdcc = sss6.GetDirectoryContents("FileProviderStore"); var sdsdasd = sss7.GetDirectoryContents(""); //sss6.GetDirectoryContents(""); //sss6.GetFileInfo(""); }
/// <summary> /// Initializes a new instance of <see cref="ShapeTemplateFileProviderAccessor"/>. /// </summary> /// <param name="optionsAccessor">Accessor to <see cref="FluidViewOptions"/>.</param> public ShapeTemplateFileProviderAccessor(IOptions <ShapeTemplateOptions> optionsAccessor) { var fileProviders = optionsAccessor.Value.FileProviders; if (fileProviders.Count == 0) { FileProvider = new NullFileProvider(); } else if (fileProviders.Count == 1) { FileProvider = fileProviders[0]; } else { FileProvider = new CompositeFileProvider(fileProviders); } }
/// <summary> /// Initializes a new instance of <see cref="LiquidViewFileProviderAccessor"/>. /// </summary> /// <param name="optionsAccessor">Accessor to <see cref="LiquidViewOptions"/>.</param> public LiquidViewFileProviderAccessor(IOptions <LiquidViewOptions> optionsAccessor) { var fileProviders = optionsAccessor.Value.FileProviders; if (fileProviders.Count == 0) { FileProvider = new NullFileProvider(); } else if (fileProviders.Count == 1) { FileProvider = fileProviders[0]; } else { FileProvider = new CompositeFileProvider(fileProviders); } }
/// <summary> /// Initializes a new instance of <see cref="DefaultRazorViewEngineFileProviderAccessor"/>. /// </summary> /// <param name="optionsAccessor">Accessor to <see cref="RazorViewEngineOptions"/>.</param> public DefaultRazorViewEngineFileProviderAccessor(IOptions <RazorViewEngineOptions> optionsAccessor) { var fileProviders = optionsAccessor.Value.FileProviders; if (fileProviders.Count == 0) { FileProvider = new NullFileProvider(); } else if (fileProviders.Count == 1) { FileProvider = fileProviders[0]; } else { FileProvider = new CompositeFileProvider(fileProviders); } }
public void UseStaticWebAssetsCore_DoesNothing_WhenManifestDoesNotContainEntries() { // Arrange var manifestContent = @$ "<StaticWebAssets Version=" "1.0" "> </StaticWebAssets>"; var manifest = CreateManifest(manifestContent); var originalRoot = new NullFileProvider(); var environment = new HostingEnvironment() { WebRootFileProvider = originalRoot }; // Act StaticWebAssetsLoader.UseStaticWebAssetsCore(environment, manifest); // Assert Assert.Equal(originalRoot, environment.WebRootFileProvider); }
public void ResolveManifest_FindsEmbeddedManifestProvider() { // Arrange var expectedManifest = @"<StaticWebAssets Version=""1.0""> <ContentRoot Path=""/Path"" BasePath=""/BasePath"" /> </StaticWebAssets> "; var originalRoot = new NullFileProvider(); var environment = new HostingEnvironment() { ApplicationName = typeof(StaticWebAssetsReaderTests).Assembly.GetName().Name }; // Act var manifest = StaticWebAssetsLoader.ResolveManifest(environment); // Assert Assert.Equal(expectedManifest, new StreamReader(manifest).ReadToEnd()); }
public void UseStaticWebAssetsCore_CreatesCompositeRoot_WhenThereAreContentRootsInTheManifest() { // Arrange var manifestContent = @$ "<StaticWebAssets Version=" "1.0" "> <ContentRoot Path=" "{AppContext.BaseDirectory}" " BasePath=" "/BasePath" " /> </StaticWebAssets>"; var manifest = CreateManifest(manifestContent); var originalRoot = new NullFileProvider(); var environment = new HostingEnvironment() { WebRootFileProvider = originalRoot }; // Act StaticWebAssetsLoader.UseStaticWebAssetsCore(environment, manifest); // Assert var composite = Assert.IsType <CompositeFileProvider>(environment.WebRootFileProvider); Assert.Equal(2, composite.FileProviders.Count()); Assert.Equal(originalRoot, composite.FileProviders.First()); }
protected RecordFSRepository(string rootPath) { RootPath = rootPath; FileProvider = new NullFileProvider().AsFileProvider(); }