public void find_combination_in_the_underlying_storage() { var theCache = new AssetCombinationCache(); var scriptCombo1 = new ScriptFileCombination("script1", files(5)); theCache.StoreCombination(MimeType.Javascript, scriptCombo1); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script2", files(6))); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script3", files(7))); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script4", files(4))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css1", null, files(10))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css2", null, files(8))); var cssCombo3 = new StyleFileCombination("css3", null, files(12)); theCache.StoreCombination(MimeType.Css, cssCombo3); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css4", null, files(15))); theCache.FindCombination("script1").ShouldBeTheSameAs(scriptCombo1); theCache.FindCombination("css3").ShouldBeTheSameAs(cssCombo3); theCache.FindCombination("something that does not exist").ShouldBeNull(); }
public void store_combinations_and_pull_out_in_order_by_size() { var theCache = new AssetCombinationCache(); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script1", files(5))); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script2", files(6))); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script3", files(7))); theCache.StoreCombination(MimeType.Javascript, new ScriptFileCombination("script4", files(4))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css1", null, files(10))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css2", null, files(8))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css3", null, files(12))); theCache.StoreCombination(MimeType.Css, new StyleFileCombination("css4", null, files(15))); theCache.OrderedListOfCombinations(MimeType.Javascript).Select(x => x.Name) .ShouldHaveTheSameElementsAs("script3", "script2", "script1", "script4"); theCache.OrderedListOfCombinations(MimeType.Css).Select(x => x.Name) .ShouldHaveTheSameElementsAs("css4", "css3", "css1", "css2"); }
public ContentPlan BuildPlan() { var library = new TransformerPolicyLibrary(_policies); var combinations = new AssetCombinationCache(); if (_combination != null) { combinations.StoreCombination(_combination.MimeType, _combination); } var pipeline = new AssetPipeline(); _files.Each(f => { var path = new AssetPath(AssetPipeline.Application, f.Name, f.Folder); pipeline.AddFile(path, f); }); var planner = new ContentPlanner(combinations, pipeline, library); return(planner.BuildPlanFor(_name)); }