public void containerTest1() { var uvar = new UserVariable(); Script target = new Script(env, uvar); Assert.AreEqual("ne]", target.parse("#[var name = value\nli]ne]")); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("value\nli", uvar.get("name")); }
public void compositeTest1() { IUserVariable uv = new UserVariable(); uv.set("test", null, "(data"); ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv); Assert.AreEqual("no", target.parse("[( #[var test] ~= \"(data && 1 < 2\" ){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( #[var test] ~= \"(data\" && 1 < 2 ){yes}else{no}]")); }
public void containerTest2() { var uvar = new UserVariable(); Script target = new Script(env, uvar); Assert.AreEqual(String.Empty, target.parse("#[var name = <#data>value\nli]ne</#data>]")); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("value\nli]ne", uvar.get("name")); }
public void evaluateTest3() { UserVariable target = new UserVariable(); string name = "name"; string project = "project"; target.set(name, project, "val"); target.evaluate(name, project, null, true); }
public void catchTest1() { var uvar = new UserVariable(); var target = new Script(new StubEnv(), uvar); target.parse("#[try{ $(test = '123') }catch{ $(test2 = '456') }]"); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("123", uvar.get("test", null)); }
public void catchTest2() { var uvar = new UserVariable(); var target = new Script(new StubEnv(), uvar); Assert.AreEqual(0, uvar.Variables.Count()); target.parse("#[try{ #[notrealcomponentToError] $(test = '123') }catch{ $(test2 = '456') }]"); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("456", uvar.get("test2", null)); }
public void containerTest4() { 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 = <#data>#[var mx]|value\nli]ne</#data>]")); Assert.AreEqual(2, uvar.Variables.Count()); Assert.AreEqual("value\nli]ne|value\nli]ne", uvar.get("name")); }
public void iterateTest4() { var uvar = new UserVariable(); var target = new Script(new StubEnv(), uvar); Assert.AreEqual("ab!ab!ab!", noSpaces(@" #[Box iterate(i = 1; $(i) < 4; i = $([MSBuild]::Add($(i), 1))): ab! ]", target)); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("4", uvar.get("i", null)); }
public void catchTest3() { var uvar = new UserVariable(); var target = new Script(new StubEnv(), uvar); Assert.AreEqual(0, uvar.Variables.Count()); target.parse(@" #[( false ){ #[try { #[notrealcomponentToError] } catch(err, msg) { $(test1 = '123') }] } else{ #[try { #[notrealcomponentToError] } catch(err, msg) { $(test2 = '456') $(exErr = $(err)) $(exMsg = $(msg)) }] }] "); Assert.AreEqual(3, uvar.Variables.Count()); Assert.AreEqual(null, uvar.get("test1", null)); Assert.AreEqual("456", uvar.get("test2", null)); Assert.AreEqual(true, !string.IsNullOrWhiteSpace(uvar.get("exErr", null))); Assert.AreEqual(true, !string.IsNullOrWhiteSpace(uvar.get("exMsg", null))); Assert.AreEqual(null, uvar.get("err", null)); Assert.AreEqual(null, uvar.get("msg", null)); }
public void parseMSBuildUnloopingTest2() { var env = new StubEnv(); var uvar = new UserVariable(); var msbuild = new vsCE.MSBuild.Parser(env, uvar); var sbe = new Script(env, uvar); msbuild.parse(sbe.parse("#[var p1 = $$(p4)]#[var p2 = $$(p3)]#[var p3 = $$(p1)]#[var p4 = $(p2)]", true)); }
public void containerTest9() { var uvar = new UserVariable(); Script target = new Script(env, uvar); Assert.AreEqual("test - cc", target.parse("#[var sres = <#data>Data1\n\nEnd</#data>]test - cc#[var sres2 = <#data>Data2\n\nEnd</#data>]")); Assert.AreEqual(2, uvar.Variables.Count()); Assert.AreEqual("Data1\n\nEnd", uvar.get("sres")); Assert.AreEqual("Data2\n\nEnd", uvar.get("sres2")); }
public void containerTest7() { var uvar = new UserVariable(); Script target = new Script(env, uvar); Assert.AreEqual("#[var name = left [box1 right]", target.parse("#[var name = left [box1 right]")); Assert.AreEqual(0, uvar.Variables.Count()); Assert.AreEqual(String.Empty, target.parse("#[var name = \"left [box1 right\"]")); Assert.AreEqual(1, uvar.Variables.Count()); Assert.AreEqual("\"left [box1 right\"", uvar.get("name")); }
public void isUnevaluatedTest2() { UserVariable target = new UserVariable(); target.isUnevaluated("name"); }
public void disclosureTest4() { IUserVariable uv = new UserVariable(); uv.set("test", null, "data(str)"); uv.set("test2", null, "true"); uv.set("test3", null, "4"); ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv); target.PostProcessingMSBuild = true; Assert.AreEqual("yes", target.parse("[( $(test) == \"data(str)\" ){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( $(test) == \"data(str)\" && 1 < 2){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( #[var test] == \"data(str)\" && #[var test2] || #[var test3] == 4){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( #[var test] == \"data(str)\" && !#[var test2] || #[var test3] == 4){yes}else{no}]")); Assert.AreEqual("no", target.parse("[( #[var test] == \"data(str)\" && !#[var test2] && #[var test3] == 4){yes}else{no}]")); }
public void setTest6() { UserVariable target = new UserVariable(); target.set("name", "project", null); Assert.AreEqual(1, target.Variables.Count()); foreach(TUserVariable v in target.Variables) { Assert.AreEqual(v.unevaluated, String.Empty); } }
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))); }
public void setTest3() { UserVariable target = new UserVariable(); target.set("name", null, "unevaluated"); Assert.AreEqual(1, target.Variables.Count()); foreach(TUserVariable v in target.Variables) { Assert.AreEqual(v.evaluated, null); Assert.AreEqual(v.ident, "name"); Assert.AreEqual(v.persistence, false); Assert.AreEqual(v.prev, new TUserVariable()); Assert.AreEqual(v.status, TUserVariable.StatusType.Unevaluated); Assert.AreEqual(v.unevaluated, "unevaluated"); } }
public void DefinitionsTest() { UserVariable target = new UserVariable(); Assert.AreEqual(target.Definitions.Count(), 0); }
public void evaluateTest2() { UserVariable target = new UserVariable(); target.evaluate("name", new Evaluator1(), true); }
public void VariablesTest() { UserVariable target = new UserVariable(); Assert.AreEqual(target.Variables.Count(), 0); }
public void unsetTest3() { UserVariable target = new UserVariable(); target.set("name", null, "unevaluated"); target.set("name2", null, "unevaluated2"); target.unset("name"); Assert.AreEqual(1, target.Definitions.Count()); foreach(string v in target.Definitions) { Assert.AreEqual(v, "name2"); } }
public void unsetAllTest() { UserVariable target = new UserVariable(); target.set("name", null, "unevaluated"); target.unsetAll(); Assert.AreEqual(target.Variables.Count(), 0); }
public void parseMSBuildUnloopingTest4() { var env = new StubEnv(); var uvar = new UserVariable(); var msbuild = new vsCE.MSBuild.Parser(env, uvar); var sbe = new Script(env, uvar); msbuild.parse(sbe.parse("#[var p2 = $$(p1) to $$(p8), and new ($$(p7.Replace('1', '2'))) s$$(p9)]#[var p6 = $$(p2)]#[var p7 = $$(p5)]#[var p5 = $(p6)]", true)); Assert.IsTrue(true); // no problems for stack & heap }
public void isValidNameTest() { UserVariable target = new UserVariable(); Assert.AreEqual(true, target.isValidName("name")); Assert.AreEqual(true, target.isValidName("n")); Assert.AreEqual(true, target.isValidName("name0")); Assert.AreEqual(true, target.isValidName("name_n")); Assert.AreEqual(false, target.isValidName("0name")); Assert.AreEqual(false, target.isValidName("")); Assert.AreEqual(false, target.isValidName("na%me")); Assert.AreEqual(false, target.isValidName("name ")); }
public void parseMSBuildUnloopingTest5() { var env = new StubEnv(); var uvar = new UserVariable(); var msbuild = new vsCE.MSBuild.Parser(env, uvar); var sbe = new Script(env, uvar); msbuild.parse(sbe.parse("#[var test = $$(test)]#[var test = 1 $(test) 2]", true)); uvar.unsetAll(); msbuild.parse(sbe.parse("#[var test = $$(test)]#[var test = 1 $(test.Replace('1', '2')) 2]", true)); uvar.unsetAll(); msbuild.parse(sbe.parse("#[var test = $(test)]#[var test = 1 $(test) 2]", true)); }
public void disclosureTest1() { IUserVariable uv = new UserVariable(); uv.set("test", null, "(data"); uv.set("test2", null, "data)"); uv.set("test3", null, "true"); ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv); Assert.AreEqual("yes", target.parse("[( #[var test] ~= \"(data\"){yes}else{no}]")); Assert.AreEqual("no", target.parse("[( #[var test2] ~= \"(data\"){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( (#[var test3]) ){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( 1 < 2 && 2 == 2 || (((2 >= 2) && true)) ){yes}else{no}]")); }
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)); }
public void setTest5() { UserVariable target = new UserVariable(); target.set("na%me", "project", "unevaluated"); }
public void compositeTest7() { IUserVariable uv = new UserVariable(); uv.set("test", null, "data1 && data|2"); uv.set("test2", null, "data1 || data&2"); ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv); Assert.AreEqual("yes", target.parse("[( #[var test] == \"data1 && data|2\" ){yes}else{no}]")); Assert.AreEqual("yes", target.parse("[( #[var test2] == \"data1 || data&2\" ){yes}else{no}]")); }
public void isUnevaluatedTest4() { UserVariable target = new UserVariable(); target.set("name", "project", "val"); Assert.AreEqual(true, target.isUnevaluated("name", "project")); }