public void Test_Properties()
        {
            string config = @"
<magick.net.web canCreateDirectories=""false"" cacheDirectory=""~\cache"" tempDirectory=""c:\temp\"" enableGzip=""false"" showVersion=""true"" useOpenCL=""true"">
  <clientCache cacheControlMaxAge=""4:2:0"" cacheControlMode=""NoControl""/>
  <optimization enabled=""false"" lossless=""false"" optimalCompression=""true""/>
  <resourceLimits width=""1"" height=""2""/>
  <urlResolvers>
    <urlResolver type=""Magick.NET.Tests.TestFileUrlResolver, Magick.NET.Tests""/>
  </urlResolvers>
</magick.net.web>";

            MagickWebSettings settings = TestSectionLoader.Load(config);

            Assert.IsTrue(settings.CacheDirectory.EndsWith(@"\cache\"));
            Assert.IsFalse(settings.CanCreateDirectories);
            Assert.AreEqual(new TimeSpan(4, 2, 0), settings.ClientCache.CacheControlMaxAge);
            Assert.AreEqual(CacheControlMode.NoControl, settings.ClientCache.CacheControlMode);
            Assert.IsFalse(settings.EnableGzip);
            Assert.IsFalse(settings.Optimization.IsEnabled);
            Assert.IsFalse(settings.Optimization.Lossless);
            Assert.IsTrue(settings.Optimization.OptimalCompression);
            Assert.AreEqual(1, settings.ResourceLimits.Width);
            Assert.AreEqual(2, settings.ResourceLimits.Height);
            Assert.IsTrue(settings.ShowVersion);
            Assert.AreEqual(@"c:\temp\", settings.TempDirectory);
            Assert.IsTrue(settings.UseOpenCL);

            var urlResolverSettings = settings.UrlResolvers.Cast <UrlResolverSettings>();

            Assert.AreEqual(1, urlResolverSettings.Count());

            IUrlResolver urlResolver = urlResolverSettings.First().CreateInstance();

            Assert.AreEqual(urlResolver.GetType(), typeof(TestFileUrlResolver));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Registers the resolver.
        /// </summary>
        /// <param name="scheme">The scheme.</param>
        /// <param name="resolver">The resolver.</param>
        public void RegisterResolver(string scheme, IUrlResolver resolver)
        {
            if (instanceResolvers.ContainsKey(scheme))
            {
                log.WarnFormat("Overwriting existing resolver {0} for scheme '{1}' with resolver {2}",
                    instanceResolvers[scheme].GetType().FullName, scheme, resolver.GetType().FullName);
            }

            instanceResolvers[scheme] = resolver;
        }