Exemple #1
0
        public void BasicParseTest3()
        {
            var target = new ToParse();

            Assert.Equal("[P~Path~project]", target.Eval("$(Path:project)"));
            Assert.Equal("$(Path:project)", target.Eval("$$(Path:project)"));
        }
Exemple #2
0
        public void ParseStringTest13()
        {
            var target = new ToParse();

            Assert.Throws <IncorrectSyntaxException>(() => target.Eval("$(name = 'left'right')"));
            Assert.Throws <IncorrectSyntaxException>(() => target.Eval("$(name = \"left\"right\")"));
        }
Exemple #3
0
        public void ParseWrappingTest3()
        {
            string data   = "$($(var.Method('str', $(OS))):$(var.Method('str2', $(SO))))";
            string actual = new ToParse().Eval(data);

            Assert.Equal("[E~[E~var.Method('str', [P~OS~])~]:[E~var.Method('str2', [P~SO~])~]~]", actual);
        }
Exemple #4
0
        public void ParseWrappingTest2()
        {
            string data   = "$($(ProjectDir.Replace('\\', '/')))";
            string actual = new ToParse().Eval(data);

            Assert.Equal("[E~[E~ProjectDir.Replace('\\', '/')~]~]", actual);
        }
Exemple #5
0
        public void BasicParseTest8()
        {
            string data   = "$(var.Method('~str~', $(OS:$($(data):project2)), \"~str2~\"):project)";
            string actual = new ToParse().Eval(data);

            Assert.Equal("[E~var.Method('~str~', [P~OS~[E~[P~data~]~project2]], \"~str2~\")~project]", actual);
        }
Exemple #6
0
        public void ParseNestedTest9()
        {
            var target = new ToParse();

            string data = "$([System.TimeSpan]::FromTicks($([MSBuild]::Subtract($([System.DateTime]::UtcNow.Ticks), $([System.DateTime]::Parse('27.03.2015').ToBinary())))).TotalMinutes.ToString(\"0\"))";

            Assert.Equal("[E~[System.TimeSpan]::FromTicks([E~[MSBuild]::Subtract([E~[System.DateTime]::UtcNow.Ticks~], [E~[System.DateTime]::Parse('27.03.2015').ToBinary()~])~]).TotalMinutes.ToString(\"0\")~]", target.Eval(data));
        }
Exemple #7
0
        public void ParseNestedTest8()
        {
            var target = new ToParse();

            string data = "$([System.DateTime]::Parse(' left $([System.DateTime]::UtcNow.Ticks) right').ToBinary())";

            Assert.Equal("[E~[System.DateTime]::Parse(' left $([System.DateTime]::UtcNow.Ticks) right').ToBinary()~]", target.Eval(data));
        }
Exemple #8
0
        public void ParseNestedTest6()
        {
            var target = new ToParse();

            string data = "$([System.DateTime]::Parse(\"01.01.2000\").ToBinary())";

            Assert.Equal("[E~[System.DateTime]::Parse(\"01.01.2000\").ToBinary()~]", target.Eval(data));
        }
Exemple #9
0
        public void ParseVarAndDataTest4()
        {
            var target = new ToParse();

            string data = "$$(var = $(Path:project))";

            Assert.Equal("$(var = $(Path:project))", target.Eval(data));
        }
Exemple #10
0
        public void ParseNestedTest4()
        {
            var target = new ToParse();

            string data = "$(var.Method('str1', $(OS:$($(test.Ticks):project2)), \\\"str2\\\"):project)";

            Assert.Equal("[E~var.Method('str1', [P~OS~[E~[E~test.Ticks~]~project2]], \\\"str2\\\")~project]", target.Eval(data));
        }
Exemple #11
0
        public void ParseNestedTest3()
        {
            var target = new ToParse();

            string data = "$(var.Method('str1', $(OS:$($([System.DateTime]::Parse(\"27.03.2015\").ToBinary()):project2)), 'str2'):project)";

            Assert.Equal("[E~var.Method('str1', [E~OS:[E~[E~[System.DateTime]::Parse(\"27.03.2015\").ToBinary()~]~project2]~], 'str2')~project]", target.Eval(data));
        }
Exemple #12
0
        public void ParseNestedTest2()
        {
            var target = new ToParse();

            string data = @"$(var.Method('str1', $(OS:$($(data.Method2):project2)), 'str2'):project)";

            Assert.Equal(@"[E~var.Method('str1', [P~OS~[E~[E~data.Method2~]~project2]], 'str2')~project]", target.Eval(data));
        }
Exemple #13
0
        public void ParseNestedTest1()
        {
            var target = new ToParse();

            string data = @"$(var.Method('str1', $(OS:$($(data.Replace('\', '/')):project2)), 'str2'):project)";

            Assert.Equal(@"[E~var.Method('str1', [E~OS:[E~[E~data.Replace('\', '/')~]~project2]~], 'str2')~project]", target.Eval(data));
        }
Exemple #14
0
        public void BasicParseTest2()
        {
            var target = new ToParse();

            Assert.Equal("[P~Path~]", target.Eval("$(Path)"));
            Assert.Equal("$(Path)", target.Eval("$$(Path)"));
            Assert.Equal("$$(Path)", target.Eval("$$$(Path)"));
            Assert.Equal("(Path)", target.Eval("(Path)"));
        }
Exemple #15
0
        public void ParseWrappingTest4()
        {
            var target = new ToParse();

            string data   = "$($(Path:project))";
            string actual = target.Eval(data);

            Assert.True("[E~[P~Path~project]~]" == actual || "[P~[P~Path~project]~]" == actual);
        }
Exemple #16
0
        public void ParseEscapeAndVarTest8()
        {
            var target = new ToParse();

            string data = "$(p2 = $$$$(Platform))";

            Assert.Equal("", target.Eval(data));
            Assert.Equal("$$$(Platform)", target.AccessToVariables.GetValue("p2"));
        }
Exemple #17
0
        public void ParseStringTest10()
        {
            var target = new ToParse();

            string data = "$(var = $(Path.Replace(\\\"1\\\", \"2\")))";

            Assert.Equal("", target.Eval(data));
            Assert.Equal("[E~Path.Replace(\\\"1\\\", \"2\")~]", target.AccessToVariables.GetValue("var"));
        }
Exemple #18
0
        public void ParseVarAndDataTest5()
        {
            var target = new ToParse();

            string data = "$(var = $(Path:project))";

            Assert.Equal("", target.Eval(data));
            Assert.Equal("[P~Path~project]", target.AccessToVariables.GetValue("var"));
        }
Exemple #19
0
        public void ParseStringTest7()
        {
            var target = new ToParse();

            string data = "$(var = \"$(Path.Replace(\\'1\\', \\'2\\'))\")";

            Assert.Equal("", target.Eval(data));
            Assert.Equal("[E~Path.Replace(\\'1\\', \\'2\\')~]", target.AccessToVariables.GetValue("var"));
        }
Exemple #20
0
        public void ParseStringTest9()
        {
            var target = new ToParse();

            string data = @"$(var = $(Path.Replace(\'1\', '2')))";

            Assert.Equal("", target.Eval(data));
            Assert.Equal(@"[E~Path.Replace(\'1\', '2')~]", target.AccessToVariables.GetValue("var"));
        }
Exemple #21
0
        public void ParseStringTest5()
        {
            var target = new ToParse();

            string data = @"$(var = '$(Path.Replace(\'1\', \'2\'))')";

            Assert.Equal("", target.Eval(data));
            Assert.Equal("$(Path.Replace('1', '2'))", target.AccessToVariables.GetValue("var"));
        }
Exemple #22
0
        public void ParseStringTest4()
        {
            var target = new ToParse();

            string data = "$(var = ' $(Path:project) ')";

            Assert.Equal("", target.Eval(data));
            Assert.Equal(" $(Path:project) ", target.AccessToVariables.GetValue("var"));
        }
Exemple #23
0
        public void ParseStringTest2()
        {
            var target = new ToParse();

            string data = "$(var = \" mixed $(Path:project) \" )";

            Assert.Equal("", target.Eval(data));
            Assert.Equal(" mixed [P~Path~project] ", target.AccessToVariables.GetValue("var"));
        }
Exemple #24
0
        public void ParseNestedTest5()
        {
            var target = new ToParse();

            string data   = "$(var.Method('str1', $(OS:$($(data):project2)), \\\"str2\\\"):project)";
            string actual = target.Eval(data);

            Assert.True("[E~var.Method('str1', [P~OS~[E~[P~data~]~project2]], \\\"str2\\\")~project]" == actual ||
                        "[E~var.Method('str1', [P~OS~[P~[P~data~]~project2]], \\\"str2\\\")~project]" == actual);
        }
Exemple #25
0
        public void ParseVarAndDataTest1()
        {
            var target = new ToParse();

            string data = "$(var=$(Path.Replace('\\', '/')):project)";

            Assert.Equal("", target.Eval(data));
            Assert.Null(target.AccessToVariables.GetValue("var"));
            Assert.Equal("[E~Path.Replace('\\', '/')~]", target.AccessToVariables.GetValue("var", "project"));
        }
Exemple #26
0
        public void ParseStringTest11()
        {
            var target = new ToParse();

            Assert.Equal("", target.Eval("$(name = ' test 12345  -_*~!@#$%^&= :) ')"));
            Assert.Equal(" test 12345  -_*~!@#$%^&= :) ", target.AccessToVariables.GetValue("name"));

            Assert.Equal("", target.Eval("$(name = ' $( -_*~!@#$%^&= :) ')"));
            Assert.Equal(" $( -_*~!@#$%^&= :) ", target.AccessToVariables.GetValue("name"));
        }
Exemple #27
0
        public void ParseStringTest3()
        {
            var target = new ToParse();

            Assert.Equal(string.Empty, target.Eval("$(var = \" $$(Path:project) \")"));
            Assert.Equal(" $(Path:project) ", target.AccessToVariables.GetValue("var"));

            Assert.Equal(string.Empty, target.Eval("$(var = ' $$(Path:project) ')"));
            Assert.Equal(" $$(Path:project) ", target.AccessToVariables.GetValue("var"));
        }
Exemple #28
0
        public void ParseVarAndDataTest6()
        {
            var target = new ToParse();

            string data = "$(var=$(Path:project2):project)";

            Assert.True(target.AccessToVariables.Variables.Count() < 1);
            Assert.Equal("", target.Eval(data));
            Assert.Equal("[P~Path~project2]", target.AccessToVariables.GetValue("var", "project"));
            Assert.True(target.AccessToVariables.Variables.Count() == 1);
        }
Exemple #29
0
        public void ParseStringTest15()
        {
            var target = new ToParse();

            Assert.Equal(string.Empty, target.Eval("$(name   =   \"   left $(Path:project) right  \"   )"));
            Assert.Equal("   left [P~Path~project] right  ", target.AccessToVariables.GetValue("name"));

            Assert.Equal(string.Empty, target.Eval("$(name   =   \"   left \\\"$(Path)\\\" right  \"   )"));
            Assert.Equal("   left \"[P~Path~]\" right  ", target.AccessToVariables.GetValue("name"));

            Assert.Equal(string.Empty, target.Eval("$(name   =   \"   \\'left\\' $(Path:project) 'right'  \"   )"));
            Assert.Equal("   \\'left\\' [P~Path~project] 'right'  ", target.AccessToVariables.GetValue("name"));
        }
Exemple #30
0
        public void ParseEscapeAndVarTest10()
        {
            var target = new ToParse();

            /*
             *  $(p1 = $(Platform))
             *  $$(p1)
             */
            string data = "$(p1 = $(Platform))$$(p1)";

            Assert.Equal("$(p1)", target.Eval(data));
            Assert.Equal("[P~Platform~]", target.AccessToVariables.GetValue("p1"));
        }