public void WhenPreConsolidatedReportIsLoaded_ResourceUrlCacheIsPrepopulated() { var groupTemplate = new Mock <IResourceGroupTemplate>(); _context.ScriptGroups.Add(groupTemplate.Object); var preConsolidationReport = new PreCompilationReport(); var scriptGroup = new PreCompiledResourceGroup { ConsolidatedUrl = "~/scripts/consolidated/common.js", Resources = new List <string> { "~/scripts/myscript.js" } }; preConsolidationReport.Scripts.Groups.Add(scriptGroup); _context.LoadPreCompilationReport(preConsolidationReport); var resolvedUrl = _context.ScriptPathResolver.GetMatchingGroupUrls("~/scripts/myscript.js").Single(); resolvedUrl.ShouldEqual("~/scripts/consolidated/common.js"); //verify that the group template was not looked at (that proves the value came from the prepopulated cache) string consolidatedUrl; groupTemplate.Verify(t => t.TryGetConsolidatedUrl(It.IsAny <string>(), It.IsAny <ResourceMode>(), out consolidatedUrl), Times.Never()); }
public void WhenPreConsolidatedReportIsLoaded_DependenciesAreCachedSoThatDependencyProviderIsNotCalled() { var preConsolidationReport = new PreCompilationReport { Dependencies = new List <PreCompiledResourceDependencies> { new PreCompiledResourceDependencies { ResourcePath = "~/scripts/myscript.js", Dependencies = new List <string> { "~/scripts/jquery.js" } } } }; _context.LoadPreCompilationReport(preConsolidationReport); var dependencies = _context.GetResourceDependencies("~/scripts/myscript.js"); dependencies.CountShouldEqual(1); dependencies.First().ShouldEqual("~/scripts/jquery.js"); _dependencyProvider.Verify(p => p.GetDependencies(It.IsAny <IResource>()), Times.Never()); }
public void AfterPreConsolidatedReportIsLoaded_WhenUrlForFileThatDoesNotExistButWhosePatternMatchesGroup_ItsGroupUrlCanStillBeResolved() { var group = new ScriptGroupElement(); group.ConsolidatedUrl = "~/scripts/consolidated/common.js"; group.Include.AddPattern("~/scripts/.+"); _context.ScriptGroups.Add(group); var preConsolidationReport = new PreCompilationReport(); var scriptGroup = new PreCompiledResourceGroup { ConsolidatedUrl = "~/scripts/consolidated/common.js", Resources = new List <string> { "~/scripts/myscript.js" } }; preConsolidationReport.Scripts.Groups.Add(scriptGroup); _context.LoadPreCompilationReport(preConsolidationReport); var resolvedUrl = _context.ScriptPathResolver.GetMatchingGroupUrls("~/scripts/bogusscript.js").Single(); resolvedUrl.ShouldEqual("~/scripts/consolidated/common.js"); }
public void LoadPreCompilationReport(PreCompilationReport preCompilationReport) { _scriptGroups = new PreCompiledGroupManager(preCompilationReport.Scripts, _scriptGroups); _styleGroups = new PreCompiledGroupManager(preCompilationReport.Stylesheets, _styleGroups); _dependencyManager.SetCache(new PreCompiledDependencyCache(preCompilationReport.Dependencies)); Version = preCompilationReport.Version; PreCompiled = true; }
public void WhenPreConsolidationReportIsLoaded_PreConsolidatedFlagIsSetToTrue() { var preConsolidationReport = new PreCompilationReport(); _context.LoadPreCompilationReport(preConsolidationReport); _context.PreCompiled.ShouldBeTrue(); }
public void WhenPreConsolidationReportIsLoaded_VersionIsSet() { var preConsolidationReport = new PreCompilationReport { Version = "311" }; _context.LoadPreCompilationReport(preConsolidationReport); _context.Version.ShouldEqual("311"); }
public void SavePreConsolidationReport(PreCompilationReport report) { var preConsolidationPersister = CompiledFilePersister.ForWebDirectory(RootFilePath); preConsolidationPersister.SavePreConsolidationInfo(report); }