public void ForReturnsForWithConditionAndIteration()
        {
            var a = JS.Id("a");
            var f = JS.For(condition: a.IsGreaterThan(0), iteration: a.PreDecrement());

            Assert.AreEqual("for(;a>0;--a);", f.ToString());
        }
        public void ForReturnsForWithInitializationConditionAndIteration()
        {
            var a = JS.Id("a");
            var f = JS.For(JS.Var(a.AssignWith(10)), a.IsGreaterThan(0), a.PreDecrement());

            Assert.AreEqual("for(var a=10;a>0;--a);", f.ToString());
        }
        public override object Run()
        {
            var a = JS.Id("a");

            return(JS.For(JS.Var(a.AssignWith(10)), a.IsGreaterThan(0), a.PostDecrement()).Do(
                       JS.Alert(a)));
        }
        public override object Run()
        {
            var a = JS.Id("a");

            return(JS.For(null, a.IsGreaterThan(0), a.PostDecrement()).Do(
                       JS.Alert(a),
                       JS.If(a.IsEqualTo(5)).Then(
                           JS.Break())));
        }
        public void LoopStatementHasWithHelpers()
        {
            LoopStatement statement1 = JS.For().Do(JS.Return());
            LoopStatement statement2 = JS.For().Do(new List <Statement> {
                JS.Return()
            });

            Assert.AreEqual(JS.Return(), statement1.Statement);
            Assert.AreEqual(JS.Return(), statement2.Statement);
        }
Example #6
0
        public void IteratorHasHelpers()
        {
            var statement1 = JS.For(JS.Id("a")).In(JS.Array()).Do();
            var statement2 = JS.For(JS.Id("b")).In(JS.Id("c")).Do(new List <Statement> {
                JS.Empty()
            });

            Assert.AreEqual("for(a in []);", statement1.ToString());
            Assert.AreEqual("for(b in c);", statement2.ToString());
        }
        public void LabelProducesLabel()
        {
            var label = new LabelStatement("exit", JS.Return());

            Assert.AreEqual("exit", label.Name);
            Assert.AreEqual("return;", label.Statement.ToString());
            Assert.AreEqual("exit:return;", label.ToString());

            label.Name      = "loop";
            label.Statement = JS.For();

            Assert.AreEqual("loop", label.Name);
            Assert.AreEqual("for(;;);", label.Statement.ToString());
            Assert.AreEqual("loop:for(;;);", label.ToString());
        }
        public void ScriptProducesStatements()
        {
            var    a       = JS.Id("a");
            Script script1 = new Script
            {
                JS.Var(a),
                {
                    JS.For(a.AssignWith(3), a.IsGreaterThan(0), a.PreDecrement())
                    .Do(JS.Alert(a)),
                    JS.Return(a)
                }
            };

            Assert.AreEqual(3, script1.Statements.Count);
            Assert.AreEqual("var a;for(a=3;a>0;--a)alert(a);return a;", script1.ToString());

            Script script2 = new Script();


            script2.Add(script1);

            Assert.AreEqual("var a;for(a=3;a>0;--a)alert(a);return a;", script2.ToString());
        }
        public void ForReturnsForWithIteration()
        {
            var f = JS.For(iteration: JS.Id("a").PreIncrement());

            Assert.AreEqual("for(;;++a);", f.ToString());
        }
        public void ForReturnsEternalLoop()
        {
            var f = JS.For();

            Assert.AreEqual("for(;;);", f.ToString());
        }
        public void ForReturnsForIn()
        {
            var f = JS.For(JS.Var(JS.Id("a"))).In(JS.Array());

            Assert.AreEqual("for(var a in []);", f.ToString());
        }