Esempio n. 1
0
 public void RequireAssemblyTest()
 {
     var runtime = new CoffeeScript();
     dynamic exports = runtime.Execute(@"exports.mscorlib = require('mscorlib')");
     var mscorlib = exports.mscorlib;
     mscorlib.System.Console.WriteLine("hello");
 }
Esempio n. 2
0
        public static string TransformToJs(string fullFileName, string text, EnvDTE.ProjectItem projectItem)
        {
            string error = null;

            try
            {
                Settings settings = Settings.Instance(fullFileName);
                return(CoffeeScript.compile(text, settings.CoffeeScriptOptions));
            }
            catch (Exception e)
            {
                Match match;
                if (TaskList.Instance != null && (match = regexError.Match(e.Message)).Success)
                {
                    TaskList.Instance.Add(
                        projectItem.ContainingProject,
                        Microsoft.VisualStudio.Shell.TaskErrorCategory.Error,
                        fullFileName,
                        match.Groups[2].Value.ToInt(1),
                        0,
                        match.Groups[1].Value);
                }
                else
                {
                    error = e.Message;
                }

                return(null);
            }
        }
Esempio n. 3
0
 public void HelloWorldTest()
 {
     var runtime = new CoffeeScript();
     dynamic exports = runtime.Execute(
     @"Console = require('mscorlib').System.Console
     Console.WriteLine ""Hello World""");
 }
Esempio n. 4
0
        public void ShouldCreateLocalVariables()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"value = 1
            exports.value = value");

            Assert.AreEqual(1, exports.value);
        }
 public override void Start()
 {
     base.Start();
     coffee        = GameObject.FindGameObjectWithTag("Coffee").GetComponent <CoffeeScript>();
     sRenderer     = GetComponent <SpriteRenderer>();
     anim          = GetComponent <Animator>();
     moveAnimSpeed = TimeManagerScript.instance.moveAnimationSpeed;
 }
        public CoffeeScriptModule(string id, CoffeeScript runtime)
        {
            this.Id = id;
            this.Runtime = runtime;
            this.Exports = new ExpandoObject();

            this.FileInfo = new FileInfo(this.Id);
        }
        public void TestCoffeeScript()
        {
            var code = "/*CoffeeScript: bare: true */\r\nalert 'hello!'";

            code = CoffeeScript.compile(code);

            code.Should().Contain("alert('hello!')");
            code.Should().Not.Contain("function");
        }
Esempio n. 8
0
        public void FunctionsCanPassVariables()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(
            @"func = (s)->
              s.value = 1

            func(exports)");

            Assert.AreEqual(1, exports.value);
        }
Esempio n. 9
0
        public void ShouldCreateArrays()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"exports.value = [1,2,3,4,5]");

            Assert.AreEqual(5, exports.value.Length);
            Assert.AreEqual(1, exports.value[0]);
            Assert.AreEqual(2, exports.value[1]);
            Assert.AreEqual(3, exports.value[2]);
            Assert.AreEqual(4, exports.value[3]);
            Assert.AreEqual(5, exports.value[4]);
        }
Esempio n. 10
0
        public void SetExportsField()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"exports.value = 1
            exports.value2 = 2
            exports.value3 = 3
            exports.value4 = 4");

            Assert.AreEqual(1, exports.value);
            Assert.AreEqual(2, exports.value2);
            Assert.AreEqual(3, exports.value3);
            Assert.AreEqual(4, exports.value4);
        }
Esempio n. 11
0
        private void btnCWatch_Click(object sender, RoutedEventArgs e)
        {
            if (coffeeScript == null)
            {
                coffeeScript = new CoffeeScript();
            }
            setCoffee(true);
            Binding coffeeMainBinding = new Binding("Message");

            coffeeMainBinding.Source = coffeeScript;
            txtCMain.SetBinding(TextBox.TextProperty, coffeeMainBinding);
            setCoffeeEvents();
            if (coffeeScript.Start())
            {
                coffeeWatchStarted();
            }
        }
Esempio n. 12
0
 public void CompileCoffeeFile([ValueSource("GetCoffee")] string filename)
 {
     var runtime = new CoffeeScript();
     runtime.ExecuteFile(filename);
 }
Esempio n. 13
0
        public void SupportsChains()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"cholesterol = 127

            healthy = 200 > cholesterol > 60

            exports.value = healthy");

            Assert.AreEqual(true, exports.value);
        }
Esempio n. 14
0
 public void ShouldThrowReferenceError()
 {
     var runtime = new CoffeeScript();
     dynamic exports = runtime.Execute(@"
     # Objects:
     exports.math =
       cube:   (x) -> x * square x
     ");
     //should throw reference error since square is not defined
     var result = exports.math.cube(1);
 }
Esempio n. 15
0
        public void SupportsFunctions()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            # Functions:
            exports.square = (x) -> x * x
            ");

            Assert.AreEqual(1, exports.square(1));
            Assert.AreEqual(4, exports.square(2));
            Assert.AreEqual(9, exports.square(3));
            Assert.AreEqual(16, exports.square(4));
            Assert.AreEqual(25, exports.square(5));
        }
Esempio n. 16
0
        public void SupportsComparisons()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"exports.value = 200 > 127");

            Assert.AreEqual(true, exports.value);
        }
Esempio n. 17
0
        public void SupportsObjectAssignments()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            testObject =
            value1: 1
            value15: 15
            value2: 2

            {value1, value2} = testObject

            exports.value1 = value1
            exports.value2 = value2
            ");

            Assert.AreEqual(1, exports.value1);
            Assert.AreEqual(2, exports.value2);
        }
Esempio n. 18
0
        public void ShouldExecuteFunctions()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(
            @"func = ->
              exports.value = 1

            func()");

            Assert.AreEqual(1, exports.value);
        }
Esempio n. 19
0
        public void SupportsObjects()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            # Objects:
            square = (x) -> x * x

            exports.math =
              cube:   (x) -> x * square x
            ");
            Assert.AreEqual(1, exports.math.cube(1));
            Assert.AreEqual(8, exports.math.cube(2));
            Assert.AreEqual(27, exports.math.cube(3));
            Assert.AreEqual(64, exports.math.cube(4));
            Assert.AreEqual(125, exports.math.cube(5));
        }
Esempio n. 20
0
        public void SupportsObjects2()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            # Objects:
            exports.math = {}
            exports.math.root   = 1
            ");

            dynamic math = exports.math;
            Assert.AreEqual(1, math.root);
        }
Esempio n. 21
0
        public void SupportsPreIncrement()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            exports.value = 1
            exports.inc = () -> ++exports.value
            ");

            Assert.AreEqual(1, exports.value);
            Assert.AreEqual(1, exports.inc());
            Assert.AreEqual(2, exports.value);
            Assert.AreEqual(2, exports.inc());
            Assert.AreEqual(3, exports.value);
        }
Esempio n. 22
0
 public void VariableReferenceShouldFallbackToThisContext()
 {
     var runtime = new CoffeeScript();
     dynamic exports = runtime.Execute(@"
     this.value = 5
     exports.getValue = () -> value
     ");
     //should throw reference error since square is not defined
     //TODO: "square" is defined in the wrong lambda
     Assert.AreEqual(5, exports.getValue());
 }
Esempio n. 23
0
        public void ShouldNotThrowReferenceErrorOnLateBoundObjects()
        {
            var runtime = new CoffeeScript();
            dynamic exports = runtime.Execute(@"
            exports.math =
              cube:   (x) -> x * square x

            defineSquare = () ->
            this.square = (x) -> x * x

            defineSquare()
            ");
            //should throw reference error since square is not defined
            //TODO: "square" is defined in the wrong lambda
            Assert.AreEqual(1, exports.math.cube(1));
            Assert.AreEqual(8, exports.math.cube(2));
            Assert.AreEqual(27, exports.math.cube(3));
            Assert.AreEqual(64, exports.math.cube(4));
            Assert.AreEqual(125, exports.math.cube(5));
        }