示例#1
0
        public void AddScript_CanAddItems()
        {
            var context = new DefaultHttpContext();

            context.AddScript("script1");
            context.AddScript("script2");

            var values = (HashSet <string>)context.Items.First().Value;

            Assert.AreEqual(2, values.Count);
        }
示例#2
0
        public void RegisterWebpackAssetsResolver_RegistersOnlyForSingleContext()
        {
            var assetsResolverMock = new Mock <IWebpackAssetsResolver>();

            assetsResolverMock
            .Setup(m => m
                   .GetStylesheetTag(It.IsAny <string>()))
            .Returns <string>(s => s);

            var unregisteredContext = new DefaultHttpContext();
            var registeredContext   = new DefaultHttpContext();

            registeredContext.RegisterWebpackAssetsResolver(assetsResolverMock.Object);
            registeredContext.AddStylesheet("stylesheet");
            registeredContext.AddScript("script");

            var registeredStylesheets = registeredContext.RenderStylesheets();
            var registeredScripts     = registeredContext.RenderScripts();

            var unregisteredStylesheets = unregisteredContext.RenderStylesheets();
            var unregisteredScripts     = unregisteredContext.RenderScripts();

            Assert.IsNotEmpty(registeredScripts.Value);
            Assert.IsNotEmpty(registeredStylesheets.Value);

            Assert.IsEmpty(unregisteredScripts.Value);
            Assert.IsEmpty(unregisteredStylesheets.Value);
        }
示例#3
0
        public void AddScript_WorksFine()
        {
            var context = new DefaultHttpContext();

            context.AddScript("main");
            context.AddScript("secondary");

            int expectedItems   = 1;
            int expectedScripts = 2;

            Assert.AreEqual(expectedItems, context.Items.Count);
            Assert.IsInstanceOf <HashSet <string> >(context.Items["scripts"]);

            var set = (HashSet <string>)context.Items["scripts"];

            Assert.AreEqual(expectedScripts, set.Count);
            Assert.AreEqual("script:main", set.First());
            Assert.AreEqual("script:secondary", set.ToList()[1]);
        }
示例#4
0
        public void RenderScripts_WorksFine()
        {
            var context = new DefaultHttpContext();

            context.AddScript("main");

            var rendered = context.RenderScripts();

            var expected = new HtmlString("<script src=\"script:main\"></script>\n");

            Assert.AreEqual(expected.Value, rendered.Value);
        }
示例#5
0
        public void RenderScripts_UsesAssetsResolver()
        {
            var assetsResolverMock = new Mock <IWebpackAssetsResolver>();

            assetsResolverMock
            .Setup(m => m
                   .GetScriptTag(It.IsAny <string>()))
            .Returns <string>(s => $"<script>{s}</script>");

            var context = new DefaultHttpContext();

            context.RegisterWebpackAssetsResolver(assetsResolverMock.Object);
            context.AddScript("alamakota");

            var result = context.RenderScripts();

            Assert.AreEqual("<script>alamakota</script>", result.Value.Trim());
        }