Пример #1
0
        public void CanBundleJavaScript()
        {
            var mockDebugStatusReader = new StubDebugStatusReader(false);
            var mockFileWriterFactory = new StubFileWriterFactory();
            var mockFileReaderFactory = new StubFileReaderFactory();
            mockFileReaderFactory.SetContents(javaScript);

            IJavaScriptBundle javaScriptBundle = new JavaScriptBundle(mockDebugStatusReader,
                                                                        mockFileWriterFactory,
                                                                        mockFileReaderFactory);

            var tag = javaScriptBundle
                .Add("~/js/test.js")
                .Render("~/js/output.js");

            Assert.AreEqual("<script type=\"text/javascript\" src=\"js/output.js?r=8AA0EB763B23F6041902F56782ADB346\"></script>", tag);
            Assert.AreEqual("\nfunction product(a,b)\n{return a*b;}\nfunction sum(a,b){return a+b;}", mockFileWriterFactory.Files["~/js/output.js"]);
        }
Пример #2
0
        public void CanCreateNamedBundleWithDebug()
        {
            var mockDebugStatusReader = new StubDebugStatusReader(true);
            var mockFileWriterFactory = new StubFileWriterFactory();
            var mockFileReaderFactory = new StubFileReaderFactory();
            mockFileReaderFactory.SetContents(javaScript);

            IJavaScriptBundle javaScriptBundle = new JavaScriptBundle(mockDebugStatusReader,
                                                                        mockFileWriterFactory,
                                                                        mockFileReaderFactory);

            javaScriptBundle
                .Add("~/js/test1.js")
                .Add("~/js/test2.js")
                .AsNamed("NamedWithDebug", "~/js/output.js");

            var tag = javaScriptBundle.RenderNamed("NamedWithDebug");

            Assert.AreEqual("<script type=\"text/javascript\" src=\"js/test1.js\"></script><script type=\"text/javascript\" src=\"js/test2.js\"></script>", tag);
        }
Пример #3
0
        public void CanRenderDebugTagsTwice()
        {
            var mockDebugStatusReader = new StubDebugStatusReader(true);
            var mockFileWriterFactory = new StubFileWriterFactory();
            var mockFileReaderFactory = new StubFileReaderFactory();
            mockFileReaderFactory.SetContents(javaScript);

            IJavaScriptBundle javaScriptBundle1 = new JavaScriptBundle(mockDebugStatusReader,
                                                                        mockFileWriterFactory,
                                                                        mockFileReaderFactory);

            IJavaScriptBundle javaScriptBundle2 = new JavaScriptBundle(mockDebugStatusReader,
                                                                        mockFileWriterFactory,
                                                                        mockFileReaderFactory);

            javaScriptBundle1
                .Add("~/js/test1.js")
                .Add("~/js/test2.js")
                .AsNamed("TestWithDebug", "~/js/output.js");

            javaScriptBundle2
                .Add("~/js/test1.js")
                .Add("~/js/test2.js")
                .AsNamed("TestWithDebug", "~/js/output.js");

            var tag1 = javaScriptBundle1.RenderNamed("TestWithDebug");
            var tag2 = javaScriptBundle2.RenderNamed("TestWithDebug");

            Assert.AreEqual("<script type=\"text/javascript\" src=\"js/test1.js\"></script><script type=\"text/javascript\" src=\"js/test2.js\"></script>", tag1);
            Assert.AreEqual("<script type=\"text/javascript\" src=\"js/test1.js\"></script><script type=\"text/javascript\" src=\"js/test2.js\"></script>", tag2);
        }