예제 #1
0
        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);
        }
예제 #2
0
        public void TryWithEmptyBlock()
        {
            JSBuilder builder = new JSBuilder();

            builder.Try(tryBlock => { });
            AssertEx.EqualLines(
                new[]
            {
                "try {",
                "}"
            },
                builder);
            Assert.IsTrue(builder.WriteNewLineBeforeNextText);
        }
예제 #3
0
        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());
        }
예제 #4
0
 public JSTryBlock Try(Action <JSBlock> tryAction)
 {
     SetCurrentState(State.Try);
     return(builder.Try(tryAction));
 }