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"]); }
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); }
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); }