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); }
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()); }