Ver código fonte

nunitweb framework works on mono

svn path=/trunk/mcs/; revision=61206
Andrew Skiba 19 anos atrás
pai
commit
940db06cba

+ 6 - 4
mcs/class/System.Web/Test/System.Web.UI.WebControls/MenuTest.cs

@@ -122,6 +122,12 @@ namespace MonoTests.System.Web.UI.WebControls
 	[TestFixture]
 	public class MenuTest
 	{	
+		[SetUp]
+		public void SetupTestCase ()
+		{
+			Thread.Sleep (100);
+		}
+
 		[Test]
 		public void Menu_DefaultProperties ()
 		{
@@ -411,7 +417,6 @@ namespace MonoTests.System.Web.UI.WebControls
 	        [Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void Menu_RenderEndTag ()
 		{
-			Thread.Sleep (1000);
 		        Helper.Instance.RunInPage (TestEndTagRender, null);
 		}
 		public static void TestEndTagRender (HttpContext c, Page p, object param)
@@ -506,7 +511,6 @@ namespace MonoTests.System.Web.UI.WebControls
 		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void Menu_DefaultRender ()
 		{
-			Thread.Sleep (1000);
 		        string RenderedPageHtml = Helper.Instance.RunInPage (TestDefaultRender, null);
 		        string RenderedControlHtml = WebTest.GetControlFromPageHtml (RenderedPageHtml);
 		        string OriginControlHtml = "";
@@ -666,10 +670,8 @@ namespace MonoTests.System.Web.UI.WebControls
 		}
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void Menu_PreRenderEvent ()
 		{
-			Thread.Sleep (1000);
 		        Helper.Instance.RunInPage (PreRenderEvent, null);
 		}
 		public void PreRenderEvent (HttpContext c, Page p, object param)

+ 6 - 7
mcs/class/System.Web/Test/System.Web.UI.WebControls/SiteMapPathTest.cs

@@ -105,6 +105,12 @@ namespace MonoTests.System.Web.UI.WebControls
 			Helper.Instance.CopyResource (Assembly.GetExecutingAssembly (), "Web.sitemap", "Web.sitemap");
 #endif
 		}
+		[SetUp]
+		public void SetupTestCase ()
+		{
+			Thread.Sleep (100);
+		}
+			
 		[Test]
 		public void SiteMapPath_DefaultProperties ()
 		{
@@ -231,7 +237,6 @@ namespace MonoTests.System.Web.UI.WebControls
 		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void SiteMapPath_RenderStyles ()
 		{
-			Thread.Sleep (1000);
 			string RenderedPageHtml = Helper.Instance.RunInPage (DoTestStylesRender, null);
 			string RenderedControlHtml = WebTest.GetControlFromPageHtml (RenderedPageHtml);
 			string OriginControlHtml = @"<span><a href=""#ctl01_SkipLink"">
@@ -335,10 +340,8 @@ namespace MonoTests.System.Web.UI.WebControls
 		
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void SiteMapPath_SiteMapRootNode ()
 		{
-			Thread.Sleep (1000);
 			NunitWeb.Helper.Instance.RunInPage (SiteMapRootNode,null);
 		}
 		[Test]
@@ -346,7 +349,6 @@ namespace MonoTests.System.Web.UI.WebControls
 		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void SiteMapPath_InitializeItem ()
 		{
-			Thread.Sleep (1000);
 			NunitWeb.Helper.Instance.RunInPage (InitializeItem, null);
 		}
 		[Test]
@@ -354,7 +356,6 @@ namespace MonoTests.System.Web.UI.WebControls
 		[Category ("NotWorking")]  //Must be running after hosting bug resolve
 		public void SiteMapPath_SiteMapChildNode ()
 		{
-			Thread.Sleep (1000);
 			NunitWeb.Helper.Instance.RunInPage (InitializeItem, null);
 		}
 		public static void SiteMapRootNode (HttpContext c, Page p, object param)
@@ -402,11 +403,9 @@ namespace MonoTests.System.Web.UI.WebControls
 		}
 
 		[Test]
-		[Category ("NotWorking")]
 		[Category ("NunitWeb")]
 		public void SiteMapPath_Events ()
 		{
-			Thread.Sleep (1000);
 			Helper.Instance.RunInPage (Events, null);
 		}
 

+ 34 - 28
mcs/class/System.Web/Test/System.Web.UI.WebControls/ThemeTest.cs

@@ -66,16 +66,21 @@ namespace MonoTests.System.Web.UI.WebControls
 			Helper.Instance.CopyResource (Assembly.GetExecutingAssembly (), "RunTimeSetTheme.aspx", "RunTimeSetTheme.aspx");
 #endif
 		}
+
+
+		[SetUp]
+		public void SetupTestCase ()
+		{
+			Thread.Sleep (100);
+		}
 		
 		//Run on page with theme
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestLabelTheme ()
 		{
 			Helper.Instance.RunUrl ("PageWithTheme.aspx", RenderLabelTest);
-			
 		}
 
 		public static void RenderLabelTest (HttpContext c, Page p, object param)
@@ -88,30 +93,26 @@ namespace MonoTests.System.Web.UI.WebControls
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestImageTheme ()
 		{
 			Helper.Instance.RunUrl ("PageWithTheme.aspx", RenderImageTest);
-			
 		}
 
 		public static void RenderImageTest (HttpContext c, Page p, object param)
 		{
-			Assert.AreEqual ("~/App_Themes/Theme1/myimageurl",((MyWebControl.Image) p.FindControl ("Image")).ImageUrl, "Default Theme#1");
-			Assert.AreEqual ("~/App_Themes/Theme1/myredimageurl", ((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl, "RedImage Theme#2");
-			Assert.AreEqual ("~/App_Themes/Theme1/myyellowimageurl", ((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl, "YellowImage Theme#3");
-			Assert.AreEqual ("~/App_Themes/Theme1/myimageurl", ((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl, "OverrideImage Theme#3");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("Image")).ImageUrl.IndexOf ("myimageurl") >= 0, "Default Theme#1");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl.IndexOf ("myredimageurl") >= 0, "RedImage Theme#2");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl.IndexOf ("myyellowimageurl") >= 0, "YellowImage Theme#3");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl.IndexOf ("myimageurl") >= 0, "OverrideImage Theme#3");
 		}
 
 		// Run on page with StyleSheet
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestLabelStyleSheet ()
 		{
-			Helper.Instance.RunUrl ("PageWithStyleSheet.aspx", new Helper.AnyMethodInPage(StyleSheetRenderLabelTest), null);
-
+			Helper.Instance.RunUrl ("PageWithStyleSheet.aspx", StyleSheetRenderLabelTest);
 		}
 
 		public static void StyleSheetRenderLabelTest (HttpContext c, Page p, object param)
@@ -124,24 +125,21 @@ namespace MonoTests.System.Web.UI.WebControls
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestImageStyleSheet ()
 		{
-			Helper.Instance.RunUrl ("PageWithStyleSheet.aspx", new Helper.AnyMethodInPage (StyleSheetRenderImageTest), null);
-
+			Helper.Instance.RunUrl ("PageWithStyleSheet.aspx", StyleSheetRenderImageTest);
 		}
 
 		public static void StyleSheetRenderImageTest (HttpContext c, Page p, object param)
 		{
-			Assert.AreEqual ("~/App_Themes/Theme1/myimageurl", ((MyWebControl.Image) p.FindControl ("Image")).ImageUrl, "Default Theme#1");
-			Assert.AreEqual ("~/App_Themes/Theme1/myredimageurl", ((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl, "RedImage Theme#2");
-			Assert.AreEqual ("~/App_Themes/Theme1/myyellowimageurl", ((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl, "YellowImage Theme#3");
-			Assert.AreEqual ("overridedurl", ((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl, "OverrideImage Theme#3");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("Image")).ImageUrl.IndexOf ("myimageurl") >= 0, "Default Theme#1");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl.IndexOf ("myredimageurl") >= 0, "RedImage Theme#2");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl.IndexOf ("myyellowimageurl") >= 0, "YellowImage Theme#3");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl.IndexOf ("overridedurl") >= 0, "OverrideImage Theme#3");
 		}
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestRuntimeSetTheme ()
 		{
 			PageDelegates p = new PageDelegates ();
@@ -161,15 +159,14 @@ namespace MonoTests.System.Web.UI.WebControls
 			Assert.AreEqual (Color.Red, ((MyWebControl.Label) p.FindControl ("LabelRed")).BackColor, "Red Skin Theme#2");
 			Assert.AreEqual (Color.Yellow, ((MyWebControl.Label) p.FindControl ("LabelYellow")).BackColor, "Yellow Skin Theme#3");
 			Assert.AreEqual (Color.Black, ((MyWebControl.Label) p.FindControl ("LabelOverride")).BackColor, "Override Skin Theme#4");
-			Assert.AreEqual ("~/App_Themes/Theme1/myimageurl", ((MyWebControl.Image) p.FindControl ("Image")).ImageUrl, "DefaultImage Theme#5");
-			Assert.AreEqual ("~/App_Themes/Theme1/myredimageurl", ((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl, "RedImage Theme#6");
-			Assert.AreEqual ("~/App_Themes/Theme1/myyellowimageurl", ((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl, "YellowImage Theme#7");
-			Assert.AreEqual ("~/App_Themes/Theme1/myimageurl", ((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl, "OverrideImage Theme#8");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("Image")).ImageUrl.IndexOf ("myimageurl") >= 0, "Default Theme#1");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageRed")).ImageUrl.IndexOf ("myredimageurl") >= 0, "RedImage Theme#2");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageYellow")).ImageUrl.IndexOf ("myyellowimageurl") >= 0, "YellowImage Theme#3");
+			Assert.IsTrue (((MyWebControl.Image) p.FindControl ("ImageOverride")).ImageUrl.IndexOf ("myimageurl") >= 0, "OverrideImage Theme#3");
 		}
 
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
 		public void Theme_TestThemeNotExistExeption()
 		{
 			string page =	Helper.Instance.RunInPagePreInit (TestThemeNotExistException);
@@ -184,22 +181,31 @@ namespace MonoTests.System.Web.UI.WebControls
 		// Delegate running on Page Load , only before PreInit possible set Theme on running time !
 		[Test]
 		[Category ("NunitWeb")]
-		[Category ("NotWorking")] 
-		[ExpectedException (typeof (InvalidOperationException))]
+		//Use Assert.Fail to print the actual result
+		//[ExpectedException (typeof (InvalidOperationException))]
+		[Category ("NotWorking")]
 		public void Theme_SetThemeException ()
 		{
-			Helper.Instance.RunInPage (SetThemeExeption);
+			try {
+				string res=Helper.Instance.RunInPagePreInit (SetThemeExeption);
+				Assert.Fail ("InvalidOperationException was expected. Result: "+res); 
+			}
+			catch (InvalidOperationException e) {
+				//swallow the expected exception
+			}
 		}
 
 		public static void SetThemeExeption (HttpContext c, Page p, object param)
 		{
-			p.Theme = "Theme1";
+			p.Theme = "InvalidTheme1";
 		}
 
 		[TestFixtureTearDown]
 		public void TearDown ()
 		{
+			Thread.Sleep (100);
 			Helper.Unload ();
+			Thread.Sleep (100);
 		}
 	}
 }

+ 1 - 1
mcs/class/System.Web/Test/mainsoft/MainsoftWebTest/NunitWebTest.cs

@@ -72,7 +72,7 @@ namespace MonoTests.stand_alone.WebHarness
 
 		public static string GetControlFromPageHtml (string str)
 		{
-			if (string.IsNullOrEmpty (str))
+			if (str == null || str == string.Empty)
 				throw new ArgumentException ("internal error: str is null or empty");
 			int beginPos = str.IndexOf (BEGIN_TAG);
 			int endPos = str.IndexOf (END_TAG);

+ 2 - 2
mcs/class/System.Web/Test/mainsoft/NunitWeb/NunitWeb/MyHost.cs

@@ -36,7 +36,7 @@ namespace NunitWeb
 				Exception inner = wr.Exception;
 				RethrowException (inner);
 				if (!wr.InitInvoked)
-					throw new Exception ("internal error: ProcessRequest did not reach DelegateInvoker constructor");
+					throw new Exception ("internal error: ProcessRequest did not reach DelegateInvoker constructor; response was: "+res);
 				//FIXME: check that all delegates were invoked
 				return res;
 			}
@@ -50,7 +50,7 @@ namespace NunitWeb
 			Exception outer;
 			try { //Try create a similar exception and keep the inner intact
 				outer = (Exception) Activator.CreateInstance (inner.GetType (),
-					inner.Message, inner);
+					inner.ToString(), inner);
 			}
 			catch { //Failed to create a similar, fallback to the inner, ruining the call stack
 				throw inner;

+ 2 - 0
mcs/class/System.Web/Test/mainsoft/NunitWeb/NunitWeb/MyWorkerRequest.cs

@@ -1,3 +1,4 @@
+#if NET_2_0
 using System;
 using System.Web;
 using System.Web.Hosting;
@@ -34,3 +35,4 @@ namespace NunitWeb
 		}
 	}
 }
+#endif

+ 2 - 0
mcs/class/System.Web/Test/mainsoft/NunitWeb/NunitWeb/PageDelegates.cs

@@ -1,3 +1,4 @@
+#if NET_2_0
 using System;
 
 namespace NunitWeb
@@ -24,3 +25,4 @@ namespace NunitWeb
 		public object Param;
 	}
 }
+#endif

+ 1 - 1
mcs/class/System.Web/Test/mainsoft/NunitWebResources/PageWithTheme.aspx

@@ -1,4 +1,4 @@
-<%@ Page Language="C#" Theme="Theme1" EnableTheming="true" AutoEventWireup="true"  CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<%@ Page Language="C#" Theme="Theme1" AutoEventWireup="true"  CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">