public AssetFinderCache(AssetSettings settings, IFubuApplicationFiles files) { _settings = settings; _files = files; _searches.OnMissing = findAsset; _graph = new Lazy<AssetGraph>(findAll); }
public void add_exclusions() { var settings = new AssetSettings(); settings.Exclude("something.js"); settings.Exclude("node-content"); settings.CreateAssetSearch().Exclude.ShouldEqual("node_modules/*;something.js;node-content"); }
public AssetFinderCache(AssetSettings settings, IFubuApplicationFiles files) { _settings = settings; _files = files; _searches.OnMissing = findAsset; _graph = new Lazy <AssetGraph>(findAll); }
public void default_allowable_mimetypes_includes_fonts() { var settings = new AssetSettings(); var search = settings.CreateAssetSearch(); search.Include.ShouldContain(".svg"); search.Include.ShouldContain(".eot"); search.Include.ShouldContain(".ttf"); search.Include.ShouldContain(".woff"); }
public void no_public_folder_if_in_anywhere_mode() { var settings = new AssetSettings { Mode = SearchMode.Anywhere }; settings.CreateFileWatcherManifest().PublicAssetFolder.ShouldBeEmpty(); }
public void set_the_public_folder_if_in_that_mode() { var settings = new AssetSettings { Mode = SearchMode.PublicFolderOnly, PublicFolder = "public" }; var manifest = settings.CreateFileWatcherManifest(); manifest.PublicAssetFolder.ShouldEqual( FubuMvcPackageFacility.GetApplicationPath().AppendPath("public").Replace('\\', '/')); }
public void adds_content_extensions() { var settings = new AssetSettings(); settings.ContentMatches.Add(".foo"); var manifest = settings.CreateFileWatcherManifest(); manifest.ContentMatches.ShouldContain(".foo"); manifest.ContentMatches.ShouldContain(".htm"); manifest.ContentMatches.ShouldContain(".html"); }
public void adds_the_user_supplied_extensions() { var settings = new AssetSettings(); var manifest = settings.CreateFileWatcherManifest(); manifest.AssetExtensions.ShouldContain(".svg"); manifest.AssetExtensions.ShouldContain(".ttf"); manifest.AssetExtensions.ShouldContain(".eot"); }
private AuthorizationRight forFile(string filename) { var file = new FubuFile(filename, null); var owinSettings = new AssetSettings(); owinSettings.StaticFileRules.Add(new AssetSettings()); return owinSettings.DetermineStaticFileRights(file); }
public void adds_all_the_default_asset_extensions() { var settings = new AssetSettings(); var manifest = settings.CreateFileWatcherManifest(); manifest.AssetExtensions.ShouldContain(".js"); manifest.AssetExtensions.ShouldContain(".css"); manifest.AssetExtensions.ShouldContain(".jpeg"); manifest.AssetExtensions.ShouldContain(".jpg"); manifest.AssetExtensions.ShouldContain(".bmp"); }
public void determine_the_public_folder_with_a_non_null_but_nonexistent_version() { new FileSystem().CreateDirectory( PublicFolder.ToFullPath()); var settings = new AssetSettings { Version = Guid.NewGuid().ToString() }; settings.DeterminePublicFolder(FubuApplicationFiles.ForDefault()) .ShouldBe(PublicFolder.ToFullPath()); }
private static IEnumerable<IFubuFile> findAssetFiles(BehaviorGraph behaviorGraph, AssetSettings settings) { var search = settings.CreateAssetSearch(); if (settings.Mode == SearchMode.PublicFolderOnly) { var publicFolder = settings.DeterminePublicFolder(); var appFolder = FubuMvcPackageFacility.GetApplicationPath(); return new FileSystem().FindFiles(publicFolder, search) .Select(x => { return new FubuFile(x, ContentFolder.Application) { RelativePath = x.PathRelativeTo(appFolder) }; }); } return behaviorGraph.Files.FindFiles(search); }
public void determine_the_public_folder_with_a_non_null_but_nonexistent_version() { new FileSystem().CreateDirectory( FubuMvcPackageFacility.GetApplicationPath().AppendPath("public").ToFullPath()); var settings = new AssetSettings { Version = Guid.NewGuid().ToString() }; settings.DeterminePublicFolder() .ShouldEqual(FubuMvcPackageFacility.GetApplicationPath().AppendPath("public").ToFullPath()); }
public void default_content_files() { var settings = new AssetSettings(); settings.ContentMatches.ShouldContain(".htm"); settings.ContentMatches.ShouldContain(".html"); settings.ContentMatches.ShouldContain(".txt"); }
public void determine_the_public_folder_when_the_version_does_exist() { new FileSystem().CreateDirectory( FubuMvcPackageFacility.GetApplicationPath().AppendPath("public").ToFullPath()); new FileSystem().CreateDirectory( FubuMvcPackageFacility.GetApplicationPath().AppendPath("public", "1.0.1").ToFullPath()); var settings = new AssetSettings { Version = "1.0.1" }; settings.DeterminePublicFolder() .ShouldEqual(FubuMvcPackageFacility.GetApplicationPath().AppendPath("public", "1.0.1").ToFullPath()); }
public StaticFileMiddleware(Func<IDictionary<string, object>, Task> inner, IFubuApplicationFiles files, AssetSettings settings) : base(inner) { _files = files; _settings = settings; }
public void set_the_public_folder_if_in_that_mode() { var settings = new AssetSettings { Mode = SearchMode.PublicFolderOnly, PublicFolder = "public" }; var manifest = settings.CreateFileWatcherManifest(FubuApplicationFiles.ForDefault()); manifest.PublicAssetFolder.ShouldBe( AppDomain.CurrentDomain.BaseDirectory.ParentDirectory().ParentDirectory().AppendPath("public").Replace('\\', '/')); }
public void determine_the_public_folder_with_no_version() { new FileSystem().CreateDirectory( PublicFolder.ToFullPath()); var settings = new AssetSettings { Version = null }; settings.DeterminePublicFolder(FubuApplicationFiles.ForDefault()) .ShouldBe(PublicFolder); }
public void headers_in_production_mode() { FubuMode.Reset(); var settings = new AssetSettings(); settings.Headers.GetAllKeys() .ShouldHaveTheSameElementsAs(HttpRequestHeaders.CacheControl, HttpRequestHeaders.Expires); settings.Headers[HttpRequestHeaders.CacheControl]().ShouldEqual("private, max-age=86400"); settings.Headers[HttpRequestHeaders.Expires]().ShouldNotBeNull(); }
public void determine_the_public_folder_with_no_version() { new FileSystem().CreateDirectory( FubuMvcPackageFacility.GetApplicationPath().AppendPath("public").ToFullPath()); var settings = new AssetSettings { Version = null }; settings.DeterminePublicFolder() .ShouldEqual(FubuMvcPackageFacility.GetApplicationPath().AppendPath("public")); }
public WriteFileContinuation(IHttpResponse response, IFubuFile file, AssetSettings settings) : base(response, DoNext.Stop) { _file = file; _settings = settings; }
public void exclusions_includes_node_modules() { var settings = new AssetSettings(); settings.Exclusions.ShouldStartWith("node_modules/*"); }
public void determine_the_public_folder_when_the_version_does_exist() { new FileSystem().CreateDirectory( PublicFolder.ToFullPath()); var expectedPath = AppDomain.CurrentDomain.BaseDirectory .ParentDirectory().ParentDirectory().AppendPath("public", "1.0.1").ToFullPath(); new FileSystem().CreateDirectory( expectedPath); var settings = new AssetSettings { Version = "1.0.1" }; settings.DeterminePublicFolder(FubuApplicationFiles.ForDefault()) .ShouldBe(expectedPath); }