using System.Collections.Generic; using System.Web.Mvc; using Microsoft.Web.Mvc; using NUnit.Framework; using Umbraco.Core.Profiling; using Umbraco.Web; using Umbraco.Web.Mvc; namespace Umbraco.Tests.BootManagers { [TestFixture] public class WebBootManagerTests { [Test] public void WrapViewEngines_HasEngines_WrapsAll() { IList engines = new List { new FixedWebFormViewEngine(), new FixedRazorViewEngine(), new RenderViewEngine(), new PluginViewEngine() }; WebBootManager.WrapViewEngines(engines); Assert.That(engines.Count, Is.EqualTo(4)); Assert.That(engines[0], Is.InstanceOf()); Assert.That(engines[1], Is.InstanceOf()); Assert.That(engines[2], Is.InstanceOf()); Assert.That(engines[3], Is.InstanceOf()); } [Test] public void WrapViewEngines_HasEngines_KeepsSortOrder() { IList engines = new List { new FixedWebFormViewEngine(), new FixedRazorViewEngine(), new RenderViewEngine(), new PluginViewEngine() }; WebBootManager.WrapViewEngines(engines); Assert.That(engines.Count, Is.EqualTo(4)); Assert.That(((ProfilingViewEngine)engines[0]).Inner, Is.InstanceOf()); Assert.That(((ProfilingViewEngine)engines[1]).Inner, Is.InstanceOf()); Assert.That(((ProfilingViewEngine)engines[2]).Inner, Is.InstanceOf()); Assert.That(((ProfilingViewEngine)engines[3]).Inner, Is.InstanceOf()); } [Test] public void WrapViewEngines_HasProfiledEngine_AddsSameInstance() { var profiledEngine = new ProfilingViewEngine(new FixedRazorViewEngine()); IList engines = new List { profiledEngine }; WebBootManager.WrapViewEngines(engines); Assert.That(engines[0], Is.SameAs(profiledEngine)); } [Test] public void WrapViewEngines_CollectionIsNull_DoesNotThrow() { IList engines = null; Assert.DoesNotThrow(() => WebBootManager.WrapViewEngines(engines)); Assert.That(engines, Is.Null); } } }