public void Test_CallDependencies() { // create new listener that allows us to track build events TestBuildListener listener = new TestBuildListener(); // set-up build file string _xml = @" <project> <target name='one' depends='two'> <echo message='one--'/> </target> <target name='two'> <echo message='two--'/> </target> <call target='one' /> </project>"; // run the build string result = RunBuild(_xml, listener); // check whether 'one' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("one"), "'one' target was not called." + Environment.NewLine + result); // check whether 'two' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("two"), "'two' target was not called." + Environment.NewLine + result); }
public void ExistingFile_Append_Default() { string msg = "\u0041\u2262\u0391\u002E!"; string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string result; string _xml1 = @" <project> <echo file='log' message='" + msg + @"' encoding='utf-16'/> </project>"; using (StreamWriter sw = new StreamWriter (logfile, false, Encoding.Unicode)) { sw.Write ("ok"); } listener = new TestBuildListener(); result = RunBuild (_xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#A2"); Assert.IsTrue (File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead (logfile)) { Assert.AreEqual (12, fs.Length, "#A4"); using (StreamReader sr = new StreamReader (fs, Encoding.Unicode)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#A5"); } } File.Delete (logfile); string _xml2 = @" <project> <echo file='log' encoding='utf-16'>" + msg + @"</echo> </project>"; using (StreamWriter sw = new StreamWriter (logfile, false, Encoding.Unicode)) { sw.Write ("ok"); } listener = new TestBuildListener(); result = RunBuild (_xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#B2"); Assert.IsTrue (File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead (logfile)) { Assert.AreEqual (12, fs.Length, "#B4"); using (StreamReader sr = new StreamReader (fs, Encoding.Unicode)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#B5"); } } }
public void ExistingFile_Append_True() { string msg = "\u0041\u2262\u0391\u002E!"; string logfile = Path.Combine(TempDirName, "log"); TestBuildListener listener; string result; string _xml1 = @" <project> <echo append='true' file='log' message='" + msg + @"' encoding='utf-8'/> </project>"; using (StreamWriter sw = new StreamWriter(logfile, false, Encoding.UTF8)) { sw.Write("ok"); } listener = new TestBuildListener(); result = RunBuild(_xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#A2"); Assert.IsTrue(File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead(logfile)) { Assert.AreEqual(13, fs.Length, "#A4"); using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual("ok" + msg, content, "#A5"); } } File.Delete(logfile); string _xml2 = @" <project> <echo append='true' file='log' encoding='utf-8'>" + msg + @"</echo> </project>"; using (StreamWriter sw = new StreamWriter(logfile, false, Encoding.UTF8)) { sw.Write("ok"); } listener = new TestBuildListener(); result = RunBuild(_xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#B2"); Assert.IsTrue(File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead(logfile)) { Assert.AreEqual(13, fs.Length, "#B4"); using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual("ok" + msg, content, "#B5"); } } }
public void Log_Message_Missing() { string xml = @" <project> <echo /> </project>"; TestBuildListener listener = new TestBuildListener(); RunBuild(xml, listener); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#1"); }
public void File_Message_Empty() { string logfile = Path.Combine(TempDirName, "log"); TestBuildListener listener; string _xml1 = @" <project> <echo file='log' message=' ' /> </project>"; listener = new TestBuildListener(); RunBuild(_xml1, listener); Assert.IsTrue(File.Exists(logfile), "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged(" ", true), "#A2"); using (StreamReader sr = new StreamReader(logfile, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#A3"); } File.Delete(logfile); string _xml2 = @" <project> <echo file='log' message=' '> </echo> </project>"; listener = new TestBuildListener(); RunBuild(_xml2, listener); Assert.IsTrue(File.Exists(logfile), "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged(" ", true), "#B2"); using (StreamReader sr = new StreamReader(logfile, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#B3"); } File.Delete(logfile); string msg = "\u0041\u2262\n\u0391\u002E!"; string _xml3 = @" <project> <echo file='log' message=' ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); RunBuild(_xml3, listener); Assert.IsTrue(File.Exists(logfile), "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#C2"); using (StreamReader sr = new StreamReader(logfile, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(msg, content, "#C3"); } }
public void Test_Cascade() { // create new listener that allows us to track build events TestBuildListener listener = new TestBuildListener(); // set-up build file string _xml = @" <project default='rebuild'> <target name='clean' /> <target name='init' /> <target name='compile' depends='init' /> <target name='build'> <call target='compile' {0} /> <call target='compile' {0} /> </target> <target name='rebuild' depends='clean, build' /> </project>"; // run the build RunBuild(string.Format(CultureInfo.InvariantCulture, _xml, ""), listener); // check whether 'compile' target has been executed twice Assert.AreEqual(2, listener.GetTargetExecutionCount("compile"), "#A1"); // check whether 'clean' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("clean"), "#A2"); // check whether 'build' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("build"), "#A3"); // check whether 'init' target has been executed once Assert.AreEqual(2, listener.GetTargetExecutionCount("init"), "#A4"); // check whether 'call' task has been executed twice Assert.AreEqual(2, listener.GetTaskExecutionCount("call"), "#A5"); // construct new listener for tracking build events listener = new TestBuildListener(); // run the build with cascade set to "false" RunBuild(string.Format(CultureInfo.InvariantCulture, _xml, "cascade=\"false\""), listener); // check whether 'compile' target has been executed twice Assert.AreEqual(2, listener.GetTargetExecutionCount("compile"), "#B1"); // check whether 'clean' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("clean"), "#B2"); // check whether 'build' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("build"), "#B3"); // check whether 'init' target has been executed once Assert.AreEqual(1, listener.GetTargetExecutionCount("init"), "#B4"); // check whether 'call' task has been executed twice Assert.AreEqual(2, listener.GetTaskExecutionCount("call"), "#B5"); }
public void File_Level_Ignored() { string msg = "\u0041\u2262\u0391\u002E!"; string logfile = Path.Combine(TempDirName, "log"); TestBuildListener listener; string result; string _xml1 = @" <project> <echo file='log' level='warning' encoding='utf-8' message='" + msg + @"'/> </project>"; listener = new TestBuildListener(); result = RunBuild(_xml1, Level.Error, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#A2"); Assert.IsTrue(File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead(logfile)) { Assert.AreEqual(11, fs.Length, "#A4"); using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(msg, content, "#A5"); } } File.Delete(logfile); string _xml2 = @" <project> <echo file='log' level='warning' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(_xml2, Level.Error, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#B2"); Assert.IsTrue(File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead(logfile)) { Assert.AreEqual(11, fs.Length, "#B4"); using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(msg, content, "#B5"); } } }
public void File_Directory_DoesNotExist() { string dir = Path.Combine(TempDirName, "tmp"); string logfile = Path.Combine(dir, "log"); TestBuildListener listener; string _xml = @" <project> <echo file='tmp/log' message='sometest' /> </project>"; listener = new TestBuildListener(); RunBuild(_xml, listener); Assert.IsTrue(File.Exists(logfile), "#1"); Assert.IsFalse(listener.HasMessageBeenLogged("sometest", true), "#2"); using (StreamReader sr = new StreamReader(logfile, Encoding.Default)) { string content = sr.ReadToEnd(); Assert.AreEqual("sometest", content, "#3"); } }
public void File_Message_Missing() { string logfile = Path.Combine(TempDirName, "log"); TestBuildListener listener; string xml = @" <project> <echo append='false' file='log' /> </project>"; listener = new TestBuildListener(); RunBuild(xml, listener); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#1"); Assert.IsTrue(File.Exists(logfile), "#2"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#3"); } } }
public void NewFile() { string msg = "\u0041\u2262\u0391\u002E!"; string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string result; string _xml1 = @" <project> <echo file='log' encoding='utf-8' message='" + msg + @"'/> </project>"; listener = new TestBuildListener(); result = RunBuild (_xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#A2"); Assert.IsTrue (File.Exists(logfile), "#A3"); using (StreamReader sr = new StreamReader (logfile, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#A4"); } File.Delete (logfile); string _xml2 = @" <project> <echo file='log' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (_xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#B2"); Assert.IsTrue (File.Exists(logfile), "#B3"); using (StreamReader sr = new StreamReader (logfile, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#B4"); } }
public void File_Directory_DoesNotExist() { string dir = Path.Combine (TempDirName, "tmp"); string logfile = Path.Combine (dir, "log"); TestBuildListener listener; string _xml = @" <project> <echo file='tmp/log' message='sometest' /> </project>"; listener = new TestBuildListener(); RunBuild (_xml, listener); Assert.IsTrue (File.Exists(logfile), "#1"); Assert.IsFalse(listener.HasMessageBeenLogged ("sometest", true), "#2"); using (StreamReader sr = new StreamReader (logfile, Encoding.Default)) { string content = sr.ReadToEnd (); Assert.AreEqual ("sometest", content, "#3"); } }
public void Log_Message_Missing() { string xml = @" <project> <echo /> </project>"; TestBuildListener listener = new TestBuildListener(); RunBuild (xml, listener); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#1"); }
public void Log_Message_Whitespace() { string msg; TestBuildListener listener; string result; msg = " \t \n "; string xml1 = @" <project> <echo message='" + msg + @"'></echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#A2"); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#A3"); string xml2 = @" <project> <echo message=''>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#B2"); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#B3"); string xml3 = @" <project> <echo message='" + msg + @"'> " + Environment.NewLine + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml3, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#C2"); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#C3"); string xml4 = @" <project> <echo message=' " + Environment.NewLine + @" '>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml4, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#D1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#D2"); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#D3"); msg = " \t X \n "; string xml5 = @" <project> <echo message='" + msg + @"'> " + Environment.NewLine + @" </echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml5, listener); Assert.IsTrue(listener.HasMessageBeenLogged (msg, true), "#E"); string xml6 = @" <project> <echo message=' " + Environment.NewLine + @" '>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml6, listener); Assert.IsTrue(listener.HasMessageBeenLogged (msg, true), "#F"); }
public void File_Message_Whitespace() { string msg; string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string result; msg = " \t \n "; string xml1 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'></echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#A2"); Assert.IsTrue (File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#A4"); } } string xml2 = @" <project> <echo append='false' file='log' message='' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#B2"); Assert.IsTrue (File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#B4"); } } string xml3 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'> " + Environment.NewLine + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml3, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#C2"); Assert.IsTrue (File.Exists(logfile), "#C3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#C4"); } } string xml4 = @" <project> <echo append='false' file='log' message=' " + Environment.NewLine + @" ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml4, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#D1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#D2"); Assert.IsTrue (File.Exists(logfile), "#D3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#D4"); } } msg = " \t X \n "; string xml5 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'> " + Environment.NewLine + @" </echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml5, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#E1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#E2"); Assert.IsTrue (File.Exists(logfile), "#E3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#E4"); } } string xml6 = @" <project> <echo append='false' file='log' message=' " + Environment.NewLine + @" ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild (xml6, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#F1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#F2"); Assert.IsTrue (File.Exists(logfile), "#F3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#F4"); } } }
public void File_Multiline() { string msg; string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string result; msg = " \u0041\u2262" + Environment.NewLine + "\u0391\u002E! "; string _xml1 = @" <project> <echo append='true' file='log' message='" + msg + @"' encoding='utf-8'/> </project>"; using (StreamWriter sw = new StreamWriter (logfile, false, Encoding.UTF8)) { sw.Write ("ok"); } listener = new TestBuildListener(); result = RunBuild (_xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#A2"); Assert.IsTrue (File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual ("ok" + msg, content, "#A4"); } } msg = string.Format ("{0}\u0041\u2262{0}\u0391\u002E!{0}", Environment.NewLine); string _xml2 = @" <project> <echo append='true' file='log' encoding='utf-8'>" + msg + @"</echo> </project>"; using (StreamWriter sw = new StreamWriter (logfile, false, Encoding.UTF8)) { sw.Write ("ok" + Environment.NewLine); } listener = new TestBuildListener(); result = RunBuild (_xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#B2"); Assert.IsTrue (File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual ("ok" + Environment.NewLine + msg, content, "#B4"); } } }
public void File_Message_Missing() { string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string xml = @" <project> <echo append='false' file='log' /> </project>"; listener = new TestBuildListener(); RunBuild (xml, listener); Assert.IsTrue(listener.HasMessageBeenLogged (string.Empty, true), "#1"); Assert.IsTrue (File.Exists(logfile), "#2"); using (FileStream fs = File.OpenRead (logfile)) { using (StreamReader sr = new StreamReader (fs, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#3"); } } }
public void File_Message_Empty() { string logfile = Path.Combine (TempDirName, "log"); TestBuildListener listener; string _xml1 = @" <project> <echo file='log' message=' ' /> </project>"; listener = new TestBuildListener(); RunBuild (_xml1, listener); Assert.IsTrue (File.Exists(logfile), "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged (" ", true), "#A2"); using (StreamReader sr = new StreamReader (logfile, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#A3"); } File.Delete (logfile); string _xml2 = @" <project> <echo file='log' message=' '> </echo> </project>"; listener = new TestBuildListener(); RunBuild (_xml2, listener); Assert.IsTrue (File.Exists(logfile), "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged (" ", true), "#B2"); using (StreamReader sr = new StreamReader (logfile, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (string.Empty, content, "#B3"); } File.Delete (logfile); string msg = "\u0041\u2262\n\u0391\u002E!"; string _xml3 = @" <project> <echo file='log' message=' ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); RunBuild (_xml3, listener); Assert.IsTrue (File.Exists(logfile), "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged (msg, true), "#C2"); using (StreamReader sr = new StreamReader (logfile, Encoding.UTF8)) { string content = sr.ReadToEnd (); Assert.AreEqual (msg, content, "#C3"); } }
public void File_Message_Whitespace() { string msg; string logfile = Path.Combine(TempDirName, "log"); TestBuildListener listener; string result; msg = " \t \n "; string xml1 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'></echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#A2"); Assert.IsTrue(File.Exists(logfile), "#A3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#A4"); } } string xml2 = @" <project> <echo append='false' file='log' message='' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#B2"); Assert.IsTrue(File.Exists(logfile), "#B3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#B4"); } } string xml3 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'> " + Environment.NewLine + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml3, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#C2"); Assert.IsTrue(File.Exists(logfile), "#C3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#C4"); } } string xml4 = @" <project> <echo append='false' file='log' message=' " + Environment.NewLine + @" ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml4, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#D1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#D2"); Assert.IsTrue(File.Exists(logfile), "#D3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(string.Empty, content, "#D4"); } } msg = " \t X \n "; string xml5 = @" <project> <echo append='false' file='log' message='" + msg + @"' encoding='utf-8'> " + Environment.NewLine + @" </echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml5, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#E1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#E2"); Assert.IsTrue(File.Exists(logfile), "#E3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(msg, content, "#E4"); } } string xml6 = @" <project> <echo append='false' file='log' message=' " + Environment.NewLine + @" ' encoding='utf-8'>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml6, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#F1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#F2"); Assert.IsTrue(File.Exists(logfile), "#F3"); using (FileStream fs = File.OpenRead(logfile)) { using (StreamReader sr = new StreamReader(fs, Encoding.UTF8)) { string content = sr.ReadToEnd(); Assert.AreEqual(msg, content, "#F4"); } } }
public void Log_Message_Whitespace() { string msg; TestBuildListener listener; string result; msg = " \t \n "; string xml1 = @" <project> <echo message='" + msg + @"'></echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml1, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#A1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#A2"); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#A3"); string xml2 = @" <project> <echo message=''>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml2, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#B1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#B2"); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#B3"); string xml3 = @" <project> <echo message='" + msg + @"'> " + Environment.NewLine + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml3, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#C1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#C2"); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#C3"); string xml4 = @" <project> <echo message=' " + Environment.NewLine + @" '>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml4, listener); Assert.IsTrue(result.IndexOf(msg) == -1, "#D1"); Assert.IsFalse(listener.HasMessageBeenLogged(msg, true), "#D2"); Assert.IsTrue(listener.HasMessageBeenLogged(string.Empty, true), "#D3"); msg = " \t X \n "; string xml5 = @" <project> <echo message='" + msg + @"'> " + Environment.NewLine + @" </echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml5, listener); Assert.IsTrue(listener.HasMessageBeenLogged(msg, true), "#E"); string xml6 = @" <project> <echo message=' " + Environment.NewLine + @" '>" + msg + @"</echo> </project>"; listener = new TestBuildListener(); result = RunBuild(xml6, listener); Assert.IsTrue(listener.HasMessageBeenLogged(msg, true), "#F"); }