public void NestedTryBlocks() { JSBuilder builder = new JSBuilder(); builder.Try(tryBlock1 => { tryBlock1.Try(tryBlock2 => { }) .Catch("error1", catchBlock2 => { }); }) .Catch("error2", catchBlock1 => { }); AssertEx.EqualLines( new[] { "try {", " try {", " } catch (error1) {", " }", "} catch (error2) {", "}" }, builder); }
public void TryWithEmptyBlock() { JSBuilder builder = new JSBuilder(); builder.Try(tryBlock => { }); AssertEx.EqualLines( new[] { "try {", "}" }, builder); Assert.IsTrue(builder.WriteNewLineBeforeNextText); }
public void IfBlockInTryBlock() { JSBuilder builder = new JSBuilder(); builder.Try(tryBlock => { tryBlock.If("true", ifBlock => { }); }) .Catch("error", catchBlock1 => { }); AssertEx.EqualLines( "try {" + Environment.NewLine + " if (true) {" + Environment.NewLine + " }" + Environment.NewLine + "} catch (error) {" + Environment.NewLine + "}", builder.ToString()); }
public JSTryBlock Try(Action <JSBlock> tryAction) { SetCurrentState(State.Try); return(builder.Try(tryAction)); }