예제 #1
0
        public void CompileFile_with_valid_CoffeeScript_returns_JavaScript()
        {
            using (var queue = new IECoffeeScriptCompilationQueue())
            {
                queue.Start();

                var source = "x = 1";
                var compiler = new IECoffeeScriptCompiler(queue);
                var javaScript = compiler.Compile(source, new CompileContext());
                javaScript.Output.ShouldEqual("(function() {\n  var x;\n\n  x = 1;\n\n}).call(this);\n");
            }
        }
예제 #2
0
        public void CompileFile_with_invalid_CoffeeScript_throws_CompileException()
        {
            using (var queue = new IECoffeeScriptCompilationQueue())
            {
                queue.Start();

                var source = "'unclosed string";
                var compiler = new IECoffeeScriptCompiler(queue);
                var exception = Assert.Throws<CoffeeScriptCompileException>(delegate
                {
                    compiler.Compile(source, new CompileContext { SourceFilePath = "~/test.coffee" });
                });
                exception.Message.ShouldContain("Parse error on line 1: Unexpected ''' in ~/test.coffee");
                exception.SourcePath.ShouldEqual("~/test.coffee");
            }
        }
예제 #3
0
 public IECoffeeScriptCompiler(IECoffeeScriptCompilationQueue compilationQueue)
 {
     this.compilationQueue = compilationQueue;
 }
예제 #4
0
 public IECoffeeScriptCompiler(IECoffeeScriptCompilationQueue compilationQueue)
 {
     this.compilationQueue = compilationQueue;
 }