Ejemplo n.º 1
0
        public void Throws_WhenCachingWithEmptyParams()
        {
            var cache = new MemoryCachingProvider();

            Assert.Throws <ArgumentNullException>(() => cache.CacheTemplate("someKey", null));
            Assert.Throws <ArgumentNullException>(() => cache.CacheTemplate(null, GetTestFactory()));
        }
Ejemplo n.º 2
0
        public void Contains_ReturnsTrue_OnCachedTemplate()
        {
            var    cache       = new MemoryCachingProvider();
            string templateKey = "key";

            cache.CacheTemplate(templateKey, GetTestFactory(templateKey));

            Assert.True(cache.Contains(templateKey));
        }
Ejemplo n.º 3
0
        public void Returns_EmptyTemplateCacheResult_OnNonExistingTemplate()
        {
            var cache = new MemoryCachingProvider();

            var templateResult = cache.RetrieveTemplate("someKey");

            Assert.NotNull(templateResult);
            Assert.Null(templateResult.Template.TemplatePageFactory);
            Assert.False(templateResult.Success);
        }
Ejemplo n.º 4
0
        public void Ensure_TemplateIsStored()
        {
            var cache = new MemoryCachingProvider();

            string templateKey = "key";
            var    factory     = GetTestFactory(templateKey);

            cache.CacheTemplate(templateKey, factory);

            var cachedFactory = cache.RetrieveTemplate(templateKey);

            Assert.Equal(factory, cachedFactory.Template.TemplatePageFactory);
        }
Ejemplo n.º 5
0
        /// <summary>
        ///Creates RazorLightEngine with a custom RazorLightProject
        /// </summary>
        /// <param name="project">The project</param>
        /// <returns>Instance of RazorLightEngine</returns>
        public virtual RazorLightEngine Create(RazorLightProject project, RazorLightOptions options = null)
        {
            var razorOptions = options ?? new RazorLightOptions();

            var sourceGenerator = new RazorSourceGenerator(DefaultRazorEngine.Instance, project, razorOptions.Namespaces);

            var metadataReferenceManager = new DefaultMetadataReferenceManager(razorOptions.AdditionalMetadataReferences);
            var compiler = new RoslynCompilationService(metadataReferenceManager, Assembly.GetEntryAssembly());
            var templateFactoryProvider = new TemplateFactoryProvider(sourceGenerator, compiler, razorOptions);

            ICachingProvider cacheProvider = new MemoryCachingProvider();

            return(new RazorLightEngine(razorOptions, templateFactoryProvider, cacheProvider));
        }
Ejemplo n.º 6
0
        public void Contains_ReturnsFalse_OnNonCachedTemplate()
        {
            var cache = new MemoryCachingProvider();

            Assert.False(cache.Contains("someKey"));
        }
Ejemplo n.º 7
0
        public void Throws_OnNullTemplateKey_WhenRetrieve()
        {
            var cache = new MemoryCachingProvider();

            Assert.Throws <ArgumentNullException>(() => cache.RetrieveTemplate(null));
        }