Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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");
        }
Exemple #4
0
 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;
 }
Exemple #5
0
        public void WhenPreConsolidationReportIsLoaded_PreConsolidatedFlagIsSetToTrue()
        {
            var preConsolidationReport = new PreCompilationReport();

            _context.LoadPreCompilationReport(preConsolidationReport);

            _context.PreCompiled.ShouldBeTrue();
        }
Exemple #6
0
        public void WhenPreConsolidationReportIsLoaded_VersionIsSet()
        {
            var preConsolidationReport = new PreCompilationReport
            {
                Version = "311"
            };

            _context.LoadPreCompilationReport(preConsolidationReport);

            _context.Version.ShouldEqual("311");
        }
Exemple #7
0
        public void SavePreConsolidationReport(PreCompilationReport report)
        {
            var preConsolidationPersister = CompiledFilePersister.ForWebDirectory(RootFilePath);

            preConsolidationPersister.SavePreConsolidationInfo(report);
        }