From 17e987cf82cb74169f16830198d995d9eb2d159d Mon Sep 17 00:00:00 2001 From: joncham Date: Tue, 11 Nov 2008 14:02:17 +0000 Subject: [PATCH] 2008-11-11 Jonathan Chambers * DeleteTest.cs: Added tests for Delete task. git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@118501 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- class/Microsoft.Build.Tasks/ChangeLog | 4 + .../Microsoft.Build.Tasks_test.dll.sources | 1 + .../Test/Microsoft.Build.Tasks/ChangeLog | 4 + .../Test/Microsoft.Build.Tasks/DeleteTest.cs | 262 +++++++++++++++++++++ 4 files changed, 271 insertions(+) create mode 100644 class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/DeleteTest.cs diff --git a/class/Microsoft.Build.Tasks/ChangeLog b/class/Microsoft.Build.Tasks/ChangeLog index 80c18f9e54..303ae043d5 100644 --- a/class/Microsoft.Build.Tasks/ChangeLog +++ b/class/Microsoft.Build.Tasks/ChangeLog @@ -1,3 +1,7 @@ +2008-11-11 Jonathan Chambers + + * Microsoft.Build.Tasks_test.dll.sources: Added DeleteTest.cs. + 2007-05-11 Raja R Harinath * Makefile (Test/resources/test.dll): Use full name, not just test.dll. diff --git a/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks_test.dll.sources b/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks_test.dll.sources index bf7b4a5eb3..3daba066d3 100644 --- a/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks_test.dll.sources +++ b/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks_test.dll.sources @@ -4,6 +4,7 @@ Microsoft.Build.Tasks/Consts.cs Microsoft.Build.Tasks/CreateItemTest.cs Microsoft.Build.Tasks/CreatePropertyTest.cs Microsoft.Build.Tasks/CscTest.cs +Microsoft.Build.Tasks/DeleteTest.cs Microsoft.Build.Tasks/ErrorTest.cs Microsoft.Build.Tasks/GetFrameworkPathTest.cs Microsoft.Build.Tasks/GetFrameworkSdkPathTest.cs diff --git a/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/ChangeLog b/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/ChangeLog index aee8cc74a7..d54d928915 100644 --- a/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/ChangeLog +++ b/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/ChangeLog @@ -1,3 +1,7 @@ +2008-11-11 Jonathan Chambers + + * DeleteTest.cs: Added tests for Delete task. + 2008-10-09 Ankit Jain * CreateItemTest.cs (TestExcludeAndCondition): New. NotWorking. diff --git a/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/DeleteTest.cs b/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/DeleteTest.cs new file mode 100644 index 0000000000..e5d47f85e4 --- /dev/null +++ b/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/DeleteTest.cs @@ -0,0 +1,262 @@ +// +// DeleteTest.cs +// +// Author: +// Jonathan Chambers (joncham@gmail.com) +// +// (C) 2008 Jonathan Chambers +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +using System; +using System.Collections; +using System.IO; +using Microsoft.Build.BuildEngine; +using Microsoft.Build.Framework; +using Microsoft.Build.Tasks; +using Microsoft.Build.Utilities; +using NUnit.Framework; + +namespace MonoTests.Microsoft.Build.Tasks { + + [TestFixture] + public class DeleteTest { + string path; + + [SetUp] + public void CreateDir () + { + path = Path.Combine (Path.Combine ("Test", "resources"), "Delete"); + Directory.CreateDirectory (path); + } + + [TearDown] + public void RemoveDirectories () + { + Directory.Delete (path, true); + } + + [Test] + public void TestDelete1 () + { + Engine engine; + Project project; + string file_path = Path.Combine(path, "delete.txt"); + + using (File.CreateText (file_path)) { } + + string documentString = @" + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + } + + [Test] + public void TestDelete2 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + string file_path2 = Path.Combine (path, "delete2.txt"); + + using (File.CreateText (file_path)) { } + using (File.CreateText (file_path2)) { } + + string documentString = @" + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + Assert.IsTrue (!File.Exists (file_path), "A3"); + } + + [Test] + public void TestDelete3 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + + using (File.CreateText (file_path)) { } + + string documentString = @" + + + " + file_path + @" + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + } + + [Test] + public void TestDelete4 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + string file_path2 = Path.Combine (path, "delete2.txt"); + + using (File.CreateText (file_path)) { } + using (File.CreateText (file_path2)) { } + + string documentString = @" + + + " + file_path + @" + " + file_path2 + @" + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + Assert.IsTrue (!File.Exists (file_path2), "A3"); + } + + [Test] + public void TestDelete5 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + + using (File.CreateText (file_path)) { } + + string documentString = @" + + + + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + } + + + [Test] + public void TestDelete6 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + string file_path2 = Path.Combine (path, "delete2.txt"); + + using (File.CreateText (file_path)) { } + using (File.CreateText (file_path2)) { } + + string documentString = @" + + + + + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + Assert.IsTrue (!File.Exists (file_path2), "A3"); + } + + [Test] + [Category ("NotWorking")] + public void TestDelete7 () + { + Engine engine; + Project project; + string file_path = Path.Combine (path, "delete.txt"); + + using (File.CreateText (file_path)) { } + + string documentString = @" + + + " + path + @" + delete + txt + + + + + + "; + + engine = new Engine (Consts.BinPath); + project = engine.CreateNewProject (); + project.LoadXml (documentString); + + Assert.IsTrue (project.Build ("1"), "A1"); + Assert.IsTrue (!File.Exists (file_path), "A2"); + } + + } +} -- 2.11.4.GIT