コード例 #1
0
ファイル: ScriptTest.cs プロジェクト: 3F/vsCommandEvent
        public void containerTest3()
        {
            var uvar = new UserVariable();
            Script target = new Script(env, uvar);

            uvar.set("mx", null, "<#data>value\nli]ne</#data>");
            uvar.evaluate("mx", null, new EvaluatorBlank(), true);

            Assert.AreEqual(String.Empty, target.parse("#[var name = #[var mx]]"));
            Assert.AreEqual(2, uvar.Variables.Count());
            Assert.AreEqual("value\nli]ne", uvar.get("name"));
        }
コード例 #2
0
ファイル: ScriptTest.cs プロジェクト: 3F/vsCommandEvent
        public void parseMSBuildUnloopingTest6()
        {
            var env     = new StubEnv();
            var uvar    = new UserVariable();
            var msbuild = new vsCE.MSBuild.Parser(env, uvar);
            var sbe     = new Script(env, uvar);

            string data = "#[var test = #[($(test) == \""+ vsCE.MSBuild.Parser.PROP_VALUE_DEFAULT + "\"){0}else{$(test)}]]#[var test]";
            Assert.AreEqual("0", msbuild.parse(sbe.parse(data, true)));
            Assert.AreEqual("0", msbuild.parse(sbe.parse(data, true)));

            uvar.set("test", null, "7");
            uvar.evaluate("test", null, new EvaluatorBlank(), true);
            Assert.AreEqual("7", msbuild.parse(sbe.parse(data, true)));
        }
コード例 #3
0
ファイル: UserVariableTest.cs プロジェクト: 3F/vsCommandEvent
        public void evaluateTest3()
        {
            UserVariable target = new UserVariable();
            string name = "name";
            string project = "project";

            target.set(name, project, "val");
            target.evaluate(name, project, null, true);
        }
コード例 #4
0
ファイル: UserVariableTest.cs プロジェクト: 3F/vsCommandEvent
        public void evaluateTest4()
        {
            UserVariable target = new UserVariable();
            string name = "name";
            string project = "project";

            target.set(name, project, "val");
            target.evaluate(name, project, new Evaluator1(), true);
            Assert.AreEqual("[E1:val]", target.get(name, project));
        }
コード例 #5
0
ファイル: UserVariableTest.cs プロジェクト: 3F/vsCommandEvent
 public void evaluateTest2()
 {
     UserVariable target = new UserVariable();
     target.evaluate("name", new Evaluator1(), true);
 }
コード例 #6
0
ファイル: BoxComponentTest.cs プロジェクト: 3F/vsCommandEvent
        public void stDataTest5()
        {
            var uvar = new UserVariable();
            var target = new Script(new StubEnv(), uvar);

            uvar.set("p1", null, "ab!");
            uvar.evaluate("p1", null, new EvaluatorBlank(), true);

            Assert.AreEqual(String.Empty, target.parse("#[Box data.pack(\"test1\", false): $(p1) ]"));
            Assert.AreEqual(String.Empty, target.parse("#[Box data.pack(\"test2\", true): $(p1) ]"));

            Assert.AreEqual("$(p1)$(p1)$(p1)$(p1)", noSpaces("#[Box data.clone(\"test1\", 4)]", target));
            Assert.AreEqual("$(p1)$(p1)$(p1)$(p1)", noSpaces("#[Box data.clone(\"test1\", 4, false)]", target));
            Assert.AreEqual("ab!ab!ab!ab!", noSpaces("#[Box data.clone(\"test1\", 4, true)]", target));

            Assert.AreEqual("ab!ab!", noSpaces("#[Box data.clone(\"test2\", 2)]", target));
            Assert.AreEqual("ab!ab!", noSpaces("#[Box data.clone(\"test2\", 2, false)]", target));
            Assert.AreEqual("ab!ab!", noSpaces("#[Box data.clone(\"test2\", 2, true)]", target));

            Assert.AreEqual(String.Empty, noSpaces("#[Box data.clone(\"test2\", 0)]", target));
        }
コード例 #7
0
ファイル: BoxComponentTest.cs プロジェクト: 3F/vsCommandEvent
        public void stDataTest1()
        {
            var uvar    = new UserVariable();
            var target  = new Script(new StubEnv(), uvar);

            uvar.set("p1", null, "v1");
            uvar.evaluate("p1", null, new EvaluatorBlank(), true);

            Assert.AreEqual(String.Empty, target.parse("#[Box data.pack(\"test1\", false): $(p1)#[Box operators.sleep(10)] ]"));
            Assert.AreEqual(String.Empty, target.parse("#[Box data.pack(\"test2\", true): $(p1) #[Box operators.sleep(10)] ]"));

            Assert.AreEqual("$(p1)#[Box operators.sleep(10)]", target.parse("#[Box data.get(\"test1\", false)]").Trim());
            Assert.AreEqual("v1", noSpaces("#[Box data.get(\"test1\", true)]", target));

            Assert.AreEqual("v1", noSpaces("#[Box data.get(\"test2\", false)]", target));
            Assert.AreEqual("v1", noSpaces("#[Box data.get(\"test2\", true)]", target));
        }
コード例 #8
0
ファイル: ParserTest.cs プロジェクト: 3F/vsCommandEvent
        public void quotesTest9()
        {
            var uvar    = new UserVariable();
            var target  = new Parser(new StubEnv(), uvar);

            uvar.set("lp", null, "\"s3\\dir\"");
            uvar.evaluate("lp", null, new EvaluatorBlank(), true);
            Assert.AreEqual("\"s3\\dir\"", uvar.get("lp", null));

            //Assert.AreEqual("\"\"s3\\dir\"\\p1.exe\"", target.parse("\"$(lp)\\p1.exe\"")); // ? TODO: unspecified for current time
            Assert.AreEqual("'$(lp)\\p2.exe'", target.parse("'$(lp)\\p2.exe'"));
            Assert.AreEqual("\"s3\\dir\"\\p3.exe", target.parse("$(lp)\\p3.exe"));
        }
コード例 #9
0
ファイル: ParserTest.cs プロジェクト: 3F/vsCommandEvent
        public void quotesTest7()
        {
            var uvar    = new UserVariable();
            var target  = new Parser(new StubEnv(), uvar);

            uvar.set("lp", null, "s1\\dir");
            uvar.evaluate("lp", null, new EvaluatorBlank(), true);
            Assert.AreEqual("s1\\dir", uvar.get("lp", null));

            Assert.AreEqual("\"s1\\dir\\p1.exe\"", target.parse("\"$(lp)\\p1.exe\""));
            Assert.AreEqual("'$(lp)\\p2.exe'", target.parse("'$(lp)\\p2.exe'"));
            Assert.AreEqual("s1\\dir\\p3.exe", target.parse("$(lp)\\p3.exe"));
        }