public void ScriptManager_Generate_Sets_Correct_ContentType_For_JavaScript()
        {
            var cacheManager = new Mock<ICacheManager>();
            var contextAccessor = new Mock<IHttpContextAccessor>();
            var info = new Mock<IScriptGenerationInfo>();
            info.SetupGet(i => i.Type).Returns(ScriptType.JavaScript);
            var list = new Mock<IScriptFileList>();
            var items = new Dictionary<string, object>();
            items.Add("__sm__JavaScript", list.Object);

            var context = new Mock<HttpContextBase>
            {
                DefaultValue = DefaultValue.Mock
            };

            contextAccessor.Setup(c => c.Current()).Returns(context.Object);
            context.SetupGet(c => c.Items).Returns(items);

            var target = new ScriptManager(cacheManager.Object, contextAccessor.Object);

            IScriptOutput actual;
            actual = target.Generate(info.Object);

            var expected = @"application/javascript";

            Assert.AreEqual(expected, actual.ContentType);
        }
        public void ScriptManager_Generate_Sets_Correct_ContentType_For_Stylesheet()
        {
            string area = "foo";

            List<IScriptInfo> scripts = new List<IScriptInfo>();

            var cacheManager = new Mock<ICacheManager>();
            var contextAccessor = new Mock<IHttpContextAccessor>();

            var info = new Mock<IScriptGenerationInfo>();
            info.SetupGet(i => i.Type).Returns(ScriptType.Stylesheet);
            info.SetupGet(i => i.Area).Returns(area);

            var list = new Mock<IScriptFileList>();

            list.Setup(l => l.ScriptsForArea(area)).Returns(scripts);

            var items = new Dictionary<string, object>();
            items.Add("__sm__Stylesheet", list.Object);

            var context = new Mock<HttpContextBase>
            {
                DefaultValue = DefaultValue.Mock
            };

            contextAccessor.Setup(c => c.Current()).Returns(context.Object);
            context.SetupGet(c => c.Items).Returns(items);

            var target = new ScriptManager(cacheManager.Object, contextAccessor.Object);

            IScriptOutput actual;
            actual = target.Generate(info.Object);

            var expected = @"text/css";

            Assert.AreEqual(expected, actual.ContentType);
        }
        public void ScriptManager_Generate_With_Null_ScriptInfo_Throws_Exception_Test()
        {
            var cacheManager = new Mock<ICacheManager>();
            var contextAccessor = new Mock<IHttpContextAccessor>();

            var target = new ScriptManager(cacheManager.Object, contextAccessor.Object);

            IScriptGenerationInfo info = null;
            IScriptOutput actual;
            actual = target.Generate(info);
        }