public KnapsackHttpHandler_tests() { var coffeeScriptCompiler = new CoffeeScriptCompiler(File.ReadAllText); storage = IsolatedStorageFile.GetUserStoreForAssembly(); rootDirectory = Path.GetFullPath(Guid.NewGuid().ToString()); // Create a fake set of scripts in modules. Directory.CreateDirectory(Path.Combine(rootDirectory, "lib")); File.WriteAllText(Path.Combine(rootDirectory, "lib", "jquery.js"), "function jQuery(){}"); File.WriteAllText(Path.Combine(rootDirectory, "lib", "knockout.js"), "function knockout(){}"); Directory.CreateDirectory(Path.Combine(rootDirectory, "app")); File.WriteAllText(Path.Combine(rootDirectory, "app", "widgets.js"), "/// <reference path=\"../lib/jquery.js\"/>\r\n/// <reference path=\"../lib/knockout.js\"/>\r\nfunction widgets(){}"); File.WriteAllText(Path.Combine(rootDirectory, "app", "main.js"), "/// <reference path=\"widgets.js\"/>\r\nfunction main() {}"); File.WriteAllText(Path.Combine(rootDirectory, "app", "test.coffee"), "x = 1"); var builder = new ScriptModuleContainerBuilder(storage, rootDirectory, coffeeScriptCompiler); builder.AddModule("lib", null); builder.AddModule("app", null); scriptModuleContainer = builder.Build(); scriptModuleContainer.UpdateStorage("scripts.xml"); var styleBuilder = new StylesheetModuleContainerBuilder(storage, rootDirectory, "/"); handler = new KnapsackHttpHandler(() => scriptModuleContainer, () => stylesheetModuleContainer, coffeeScriptCompiler); httpContext = new Mock <HttpContextBase>(); httpRequest = new Mock <HttpRequestBase>(); requestHeaders = new NameValueCollection(); responseHeaders = new NameValueCollection(); httpResponse = new Mock <HttpResponseBase>(); responseOutputStream = new MemoryStream(); cache = new Mock <HttpCachePolicyBase>(); server = new Mock <HttpServerUtilityBase>(); httpRequest.SetupGet(r => r.Headers).Returns(requestHeaders); httpResponse.SetupGet(r => r.Headers).Returns(responseHeaders); httpResponse.SetupGet(r => r.OutputStream).Returns(responseOutputStream); httpResponse.SetupGet(r => r.Cache).Returns(cache.Object); httpContext.SetupGet(c => c.Request).Returns(httpRequest.Object); httpContext.SetupGet(c => c.Response).Returns(httpResponse.Object); httpContext.SetupGet(c => c.Server).Returns(server.Object); httpResponse.Setup(r => r.Write(It.IsAny <string>())).Callback <string>(data => { var writer = new StreamWriter(responseOutputStream); writer.Write(data); writer.Flush(); }); }
ModuleContainer BuildStylesheetModuleContainer(IsolatedStorageFile storage, KnapsackSection config) { var builder = new StylesheetModuleContainerBuilder(storage, HttpRuntime.AppDomainAppPath, HttpRuntime.AppDomainAppVirtualPath); return(BuildModuleContainer(builder, config.Styles, "styles")); }
ModuleContainer BuildStylesheetModuleContainer(IsolatedStorageFile storage, KnapsackSection config) { var builder = new StylesheetModuleContainerBuilder(storage, HttpRuntime.AppDomainAppPath, HttpRuntime.AppDomainAppVirtualPath); return BuildModuleContainer(builder, config.Styles, "styles"); }