2006-12-07 Marek Sieradzki <marek.sieradzki@gmail.com>
authorMarek Sieradzki <msierad@mono-cvs.ximian.com>
Thu, 7 Dec 2006 10:04:54 +0000 (10:04 -0000)
committerMarek Sieradzki <msierad@mono-cvs.ximian.com>
Thu, 7 Dec 2006 10:04:54 +0000 (10:04 -0000)
        * EvaluationOrder.cs, Conditions.cs: More tests.

svn path=/trunk/mcs/; revision=69163

mcs/class/Microsoft.Build.Engine/Test/various/ChangeLog
mcs/class/Microsoft.Build.Engine/Test/various/Conditions.cs
mcs/class/Microsoft.Build.Engine/Test/various/EvaluationOrder.cs

index e786dad899d58db08c303d4c4f0e7c3c70bbb2f5..287349596f0ab56ac9a20b6b4419ffc53669fba7 100644 (file)
@@ -1,3 +1,7 @@
+2006-12-07  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * EvaluationOrder.cs, Conditions.cs: More tests.
+
 2006-12-05  Marek Sieradzki  <marek.sieradzki@gmail.com>
 
        * Conditions.cs: Enabled some more tests.
index 7315282dcda9cb9995eb6c9d670602514455815e..a334f747e8fcc70abda53b42e6eddfd7e4f5706c 100644 (file)
@@ -175,6 +175,34 @@ namespace MonoTests.Microsoft.Build.BuildEngine.Various {
                        Assert.IsNull (proj.EvaluatedProperties ["l"], "A4");
                }
 
+               [Test]
+               [Category ("NotWorking")]
+               public void TestCondition6 ()
+               {
+                       Engine engine = new Engine (Consts.BinPath);
+                       Project proj = engine.CreateNewProject ();
+
+                       string documentString = @"
+                               <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+                                       <PropertyGroup>
+                                               <A>true</A>
+                                               <B>false</B>
+                                               <C Condition='$(A)'></C>
+                                               <D Condition='$(B)'></D>
+                                               <E Condition="" '$(A)' ""></E>
+                                               <F Condition="" '$(B)' ""></F>
+                                       </PropertyGroup>
+                               </Project>
+                       ";
+
+                       proj.LoadXml (documentString);
+
+                       Assert.IsNotNull (proj.EvaluatedProperties ["C"], "A1");
+                       Assert.IsNull (proj.EvaluatedProperties ["D"], "A2");
+                       Assert.IsNotNull (proj.EvaluatedProperties ["E"], "A3");
+                       Assert.IsNull (proj.EvaluatedProperties ["F"], "A4");
+               }
+
                [Test]
                [ExpectedException (typeof (InvalidProjectFileException))]
                public void TestIncorrectCondition1 ()
index b046432d18639a9e9cc5a699d3da680c6a7e0db2..cc2531e92972c6aa905722be3598a2ccb2f11f2a 100644 (file)
@@ -50,6 +50,33 @@ namespace MonoTests.Microsoft.Build.BuildEngine.Various {
                        return str;
                }
 
+               [Test]
+               [Category ("NotWorking")]
+               public void TestOrder0 ()
+               {
+                       Engine engine = new Engine (Consts.BinPath);
+                       Project proj = engine.CreateNewProject ();
+
+                       string documentString = @"
+                               <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+                                       <ItemGroup>
+                                               <Item Include='A' />
+                                       </ItemGroup>
+
+                                       <PropertyGroup>
+                                               <A>A</A>
+                                               <Property>@(Item)$(A)$(B)</Property>
+                                       </PropertyGroup>
+                               </Project>
+                       ";
+
+                       proj.LoadXml (documentString);
+
+                       Assert.AreEqual ("@(Item)A", proj.EvaluatedProperties ["Property"].FinalValue, "A1");
+                       Assert.AreEqual ("@(Item)$(A)$(B)", proj.EvaluatedProperties ["Property"].Value, "A2");
+                       Assert.AreEqual ("A", GetItems (proj, "Item"), "A3");
+               }
+
                [Test]
                [Category ("NotWorking")]
                public void TestOrder1 ()