public void Will_return_compiled_files_that_are_cache() { var generator = new TestableCoffeeScriptFileGenerator(); var file = new ReferencedFile { Path = "path1.ts" }; generator.Mock <IFileSystemWrapper>().Setup(x => x.GetText(It.IsAny <string>())).Returns("content"); generator.Mock <ICompilerCache>().Setup(x => x.Get(It.IsAny <string>())).Returns("compiled"); var result = generator.ClassUnderTest.GenerateCompiledSources(new[] { file }, new ChutzpahTestSettingsFile().InheritFromDefault()); Assert.Equal("compiled", result[file.Path]); generator.Mock <ICoffeeScriptEngineWrapper>().Verify(x => x.Compile(It.IsAny <string>()), Times.Never()); generator.Mock <ICompilerCache>().Verify(x => x.Set(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); }
public void Will_return_compiled_files_and_set_to_cache() { var generator = new TestableCoffeeScriptFileGenerator(); var file = new ReferencedFile { Path = "path1.ts" }; generator.Mock <ICoffeeScriptEngineWrapper>().Setup(x => x.Compile(It.IsAny <string>(), It.IsAny <object[]>())).Returns("compiled"); generator.Mock <IFileSystemWrapper>().Setup(x => x.GetText(It.IsAny <string>())).Returns("content"); generator.Mock <ICompilerCache>().Setup(x => x.Get(It.IsAny <string>())).Returns((string)null); var result = generator.ClassUnderTest.GenerateCompiledSources(new[] { file }, new ChutzpahTestSettingsFile()); Assert.Equal("compiled", result[file.Path]); generator.Mock <ICompilerCache>().Verify(x => x.Set("coffeeScriptBareMode:True,Source:content", "compiled")); }
public void Will_set_the_correct_filename_on_a_compilation_failed_exception() { var generator = new TestableCoffeeScriptFileGenerator(); var file1 = new ReferencedFile { Path = "path1.coffee" }; var file2 = new ReferencedFile { Path = "path2.coffee" }; generator.Mock <IFileSystemWrapper>().Setup(x => x.GetText("path1.coffee")).Returns("content1"); generator.Mock <IFileSystemWrapper>().Setup(x => x.GetText("path2.coffee")).Returns("content2"); generator.Mock <ICoffeeScriptEngineWrapper>().Setup(x => x.Compile("content1", It.IsAny <object[]>())).Returns("compiled"); generator.Mock <ICoffeeScriptEngineWrapper>().Setup(x => x.Compile("content2", It.IsAny <object[]>())). Throws(new ChutzpahCompilationFailedException("Parse error")); generator.Mock <ICompilerCache>().Setup(x => x.Get(It.IsAny <string>())).Returns((string)null); var ex = Record.Exception(() => generator.ClassUnderTest.GenerateCompiledSources(new[] { file1, file2 }, new ChutzpahTestSettingsFile().InheritFromDefault())) as ChutzpahCompilationFailedException; Assert.Equal("path2.coffee", ex.SourceFile); }