public void Css_Global_Then_Style() { var stylePreprocessor = new StubStylePreprocessor(); var globalPreprocessor = new StubGlobalPreprocessor(); using(new StylePreprocessorScope<StubStylePreprocessor>(stylePreprocessor)) using(new GlobalPreprocessorScope<StubGlobalPreprocessor>(globalPreprocessor)) { CSSBundle cssBundle = cssBundleFactory .WithHasher(hasher) .WithDebuggingEnabled(false) .WithContents("start") .Create(); string tag = cssBundle .Add("~/css/test.style.global") .Render("~/css/output.css"); string contents = cssBundleFactory.FileWriterFactory.Files[TestUtilities.PrepareRelativePath(@"css\output.css")]; Assert.AreEqual("<link rel=\"stylesheet\" type=\"text/css\" href=\"css/output.css?r=hash\" />", tag); Assert.AreEqual("styley", contents); Assert.AreEqual("globey", stylePreprocessor.CalledWith); Assert.AreEqual("start", globalPreprocessor.CalledWith); } }
public void CanBundleDirectoryContentsInDebug_Writes_And_Ignores_Preprocessed_Debug_Files() { var path = Guid.NewGuid().ToString(); var file1 = TestUtilities.PrepareRelativePath(path + "\\file1.style.css"); var file2 = TestUtilities.PrepareRelativePath(path + "\\file1.style.css.squishit.debug.css"); var content = "some stuffs"; var preprocessor = new StubStylePreprocessor(); using(new ScriptPreprocessorScope<StubStylePreprocessor>(preprocessor)) using(new ResolverFactoryScope(typeof(FileSystemResolver).FullName, StubResolver.ForDirectory(new[] { file1, file2 }))) { var frf = new StubFileReaderFactory(); frf.SetContentsForFile(file1, content); var writerFactory = new StubFileWriterFactory(); var tag = cssBundleFactory.WithDebuggingEnabled(true) .WithFileReaderFactory(frf) .WithFileWriterFactory(writerFactory) .Create() .Add(path) .Render("~/output.css"); var expectedTag = string.Format("<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}/file1.style.css.squishit.debug.css\" />\n", path); Assert.AreEqual(expectedTag, TestUtilities.NormalizeLineEndings(tag)); Assert.AreEqual(content, preprocessor.CalledWith); Assert.AreEqual(1, writerFactory.Files.Count); Assert.AreEqual("styley", writerFactory.Files[file1 + ".squishit.debug.css"]); } }
public void WithPreprocessor_Uses_Instance_Preprocessors() { var stylePreprocessor = new StubStylePreprocessor(); var globalPreprocessor = new StubGlobalPreprocessor(); CSSBundle cssBundle = cssBundleFactory .WithHasher(hasher) .WithDebuggingEnabled(false) .WithContents("start") .Create(); string tag = cssBundle .Add("~/css/test.style.global") .WithPreprocessor(stylePreprocessor) .WithPreprocessor(globalPreprocessor) .Render("~/css/output.css"); string contents = cssBundleFactory.FileWriterFactory.Files[TestUtilities.PrepareRelativePath(@"css\output.css")]; Assert.AreEqual("<link rel=\"stylesheet\" type=\"text/css\" href=\"css/output.css?r=hash\" />", tag); Assert.AreEqual("styley", contents); Assert.AreEqual("globey", stylePreprocessor.CalledWith); Assert.AreEqual("start", globalPreprocessor.CalledWith); Assert.IsEmpty(Bundle.Preprocessors.Where(x => !(x is NullPreprocessor))); }