Browse Source

2006-12-17 Yoni Klain <[email protected]>
* TreeViewTest.cs: added tests.

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

Yoni Klain 19 years ago
parent
commit
09cb8537d4

+ 4 - 0
mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog

@@ -1,3 +1,7 @@
+2006-12-17  Yoni Klain         <[email protected]>
+
+	* TreeViewTest.cs:    added tests.
+	
 2006-12-17 Igor Zelmanovich <[email protected]>
 
 	* SiteMapPathTest.cs: added NotWorking attribute.

+ 237 - 4
mcs/class/System.Web/Test/System.Web.UI.WebControls/TreeViewTest.cs

@@ -116,6 +116,12 @@ namespace MonoTests.System.Web.UI.WebControls {
 	[TestFixture]
 	public class TreeViewTest {
 
+		[TestFixtureSetUp]
+		public void SetUp ()
+		{
+			WebTest.CopyResource (GetType (), "NoEventValidation.aspx", "NoEventValidation.aspx");
+		}
+
 		[Test]
 		public void Defaults () {
 			TreeViewPoker p = new TreeViewPoker ();
@@ -1816,6 +1822,237 @@ namespace MonoTests.System.Web.UI.WebControls {
 			page.Form.Controls.Add (lce);
 		}
 
+		[Test]
+		[Category ("NunitWeb")]
+		[Category ("NotWorking")] // Implementation details for mono  
+		public void TreeView_PostBackFireEvents_1 ()
+		{
+			WebTest t = new WebTest (PageInvoker.CreateOnLoad (PostBackFireEvents_1));
+			String html = t.Run ();
+			if (t.UserData == null)
+				Assert.Fail ("Event not fired fail");
+			Assert.AreEqual ("TreeNodeDataBound", t.UserData.ToString (), "PostBackFireEvents_1");
+		}
+
+		#region PostBackFireEvents_1
+		public static void PostBackFireEvents_1 (Page p)
+		{
+			TreeView tv = new TreeView ();
+			tv.TreeNodeDataBound += new TreeNodeEventHandler (tv_TreeNodeDataBound);
+			tv.EnableClientScript = false;
+			tv.ID = "treeview1";
+			XmlDataSource xmlds = new XmlDataSource ();
+			xmlds.EnableCaching = false;
+			xmlds.Data = xmlDataBind;
+			tv.DataSource = xmlds;
+			tv.DataBind ();
+			tv.Nodes[0].Checked = true;
+			tv.Nodes[0].ChildNodes[0].Selected = false;
+			tv.Nodes[0].ChildNodes[0].Expanded = true;
+			tv.Nodes[0].ChildNodes[0].ChildNodes[0].PopulateOnDemand = false;
+			tv.Nodes[0].ChildNodes[0].ChildNodes[1].ShowCheckBox = true;
+			tv.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.SelectExpand;
+			p.Form.Controls.Add (tv);
+		}
+
+		public static void tv_TreeNodeDataBound (object sender, TreeNodeEventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "TreeNodeDataBound";	
+		}
+		#endregion
+
+		[Test]
+		[Category ("NunitWeb")]
+		[Category ("NotWorking")] // Implementation details for mono  
+		public void TreeView_PostBackFireEvents_2 ()
+		{
+			WebTest t = new WebTest ("NoEventValidation.aspx");
+			t.Invoker = PageInvoker.CreateOnLoad (PostBackFireEvents_2);
+			t.Run ();
+			FormRequest fr = new FormRequest (t.Response, "form1");
+			
+			fr.Controls.Add ("__EVENTTARGET");
+			fr.Controls.Add ("__EVENTARGUMENT");
+			fr.Controls.Add ("treeview1_ExpandState");
+			fr.Controls.Add ("treeview1_SelectedNode");
+			fr.Controls.Add ("treeview1_PopulateLog");
+			fr.Controls.Add ("treeview1n0CheckBox");
+
+			fr.Controls["__EVENTTARGET"].Value = "treeview1";
+			fr.Controls["__EVENTARGUMENT"].Value = "sroot";
+			fr.Controls["treeview1_ExpandState"].Value = "n";
+			fr.Controls["treeview1_SelectedNode"].Value = "treeview1t0";
+			fr.Controls["treeview1_PopulateLog"].Value = "";
+			fr.Controls["treeview1n0CheckBox"].Value = "on";
+
+			t.Request = fr;
+			t.Run ();
+
+			Assert.AreEqual ("TreeNodeCheckChanged", t.UserData.ToString (), "PostBackFireEvents");
+		}
+
+		#region PostBackFireEvents_2
+		public static void PostBackFireEvents_2 (Page p)
+		{
+			TreeView tv = new TreeView ();
+			tv.TreeNodeCheckChanged+=new TreeNodeEventHandler(tv_TreeNodeCheckChanged);
+			tv.EnableClientScript = false;
+			tv.ID = "treeview1";
+			TreeNode root = new TreeNode ("root", "root");
+			root.ShowCheckBox = true;
+			root.Checked = false;
+			tv.Nodes.Add (root);
+			p.Form.Controls.Add (tv);
+		}
+
+		static void tv_TreeNodeCheckChanged (object sender, TreeNodeEventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "TreeNodeCheckChanged";
+		}
+		#endregion
+
+		[Test]
+		[Category ("NunitWeb")]
+		[Category ("NotWorking")] // Implementation details for mono  
+		public void TreeView_PostBackFireEvents_3 ()
+		{
+			WebTest t = new WebTest (PageInvoker.CreateOnLoad (PostBackFireEvents_3));
+			String html = t.Run ();
+			if (t.UserData == null)
+				Assert.Fail ("Event not fired fail");
+			Assert.AreEqual ("TreeNodeExpanded", t.UserData.ToString (), "PostBackFireEvents#1");
+
+			FormRequest fr = new FormRequest (t.Response, "form1");
+			fr.Controls.Add ("__EVENTTARGET");
+			fr.Controls.Add ("__EVENTARGUMENT");
+			fr.Controls["__EVENTTARGET"].Value = "treeview1";
+			fr.Controls["__EVENTARGUMENT"].Value = "tBook";
+			t.Request = fr;
+			t.Run ();
+			Assert.AreEqual ("TreeNodeCollapsed", t.UserData.ToString (), "PostBackFireEvents#2");
+
+		}
+
+		#region PostBackFireEvents_3
+		public static void PostBackFireEvents_3 (Page p)
+		{
+			TreeView tv = new TreeView ();
+			tv.TreeNodeCollapsed += new TreeNodeEventHandler (tv_TreeNodeCollapsed);
+			tv.TreeNodeExpanded +=new TreeNodeEventHandler(tv_TreeNodeExpanded);
+			tv.EnableClientScript = false;
+			tv.ID = "treeview1";
+			XmlDataSource xmlds = new XmlDataSource ();
+			xmlds.EnableCaching = false;
+			xmlds.Data = xmlDataBind;
+			tv.DataSource = xmlds;
+			tv.DataBind ();
+			tv.Nodes[0].Checked = true;
+			tv.Nodes[0].ChildNodes[0].Selected = false;
+			tv.Nodes[0].ChildNodes[0].Expanded = true;
+			tv.Nodes[0].ChildNodes[0].ChildNodes[0].PopulateOnDemand = false;
+			tv.Nodes[0].ChildNodes[0].ChildNodes[1].ShowCheckBox = true;
+			tv.Nodes[0].ChildNodes[1].SelectAction = TreeNodeSelectAction.SelectExpand;
+			p.Form.Controls.Add (tv);
+
+			
+		}
+
+		public static void tv_TreeNodeCollapsed (object sender, TreeNodeEventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "TreeNodeCollapsed";
+		}
+
+		static void tv_TreeNodeExpanded (object sender, TreeNodeEventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "TreeNodeExpanded";
+		}
+		#endregion
+
+		[Test]
+		[Category ("NunitWeb")]
+		[Category ("NotWorking")] // Implementation details for mono  
+		public void TreeView_PostBackFireEvents_4 ()
+		{
+			WebTest t = new WebTest (PageInvoker.CreateOnLoad (PostBackFireEvents_4));
+		        String html = t.Run ();
+			Assert.AreEqual ("TreeNodePopulate", t.UserData.ToString (), "PostBackFireEvents");
+		}
+
+		#region PostBackFireEvents_4
+		public static void PostBackFireEvents_4 (Page p)
+		{
+			TreeView tv = new TreeView ();
+			tv.TreeNodePopulate += new TreeNodeEventHandler (tv_TreeNodePopulate_1);
+			tv.EnableClientScript = false;
+			tv.ID = "treeview1";
+			TreeNode root = new TreeNode ("Root", "Root");
+			root.PopulateOnDemand = true;
+			root.Expanded = true;
+			tv.Nodes.Add (root);
+			p.Form.Controls.Add (tv);
+		}
+
+		public static void tv_TreeNodePopulate_1 (object sender, TreeNodeEventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "TreeNodePopulate";
+		}
+		#endregion
+
+		[Test]
+		[Category ("NunitWeb")]
+		[Category ("NotWorking")] // Implementation details for mono  
+		public void TreeView_PostBackFireEvents_5 ()
+		{
+			WebTest t = new WebTest ("NoEventValidation.aspx");
+			t.Invoker = PageInvoker.CreateOnLoad (PostBackFireEvents_5);
+			t.Run ();
+			FormRequest fr = new FormRequest (t.Response, "form1");
+			fr.Controls.Add ("__EVENTTARGET");
+			fr.Controls.Add ("__EVENTARGUMENT");
+			fr.Controls.Add ("TreeView2_ExpandState");
+			fr.Controls.Add ("TreeView2_SelectedNode");
+			
+			fr.Controls["__EVENTTARGET"].Value = "treeview1";
+			fr.Controls["__EVENTARGUMENT"].Value = "snode";
+			fr.Controls["TreeView2_ExpandState"].Value = "nn";
+			fr.Controls["TreeView2_SelectedNode"].Value = "treeview1t1";
+			t.Request = fr;
+			t.Run ();
+			Assert.AreEqual ("SelectedNodeChanged", t.UserData.ToString (), "PostBackFireEvents");
+		}
+
+		#region PostBackFireEvents_5
+		public static void PostBackFireEvents_5 (Page p)
+		{
+			TreeView tv = new TreeView ();
+			tv.SelectedNodeChanged += new EventHandler (tv_SelectedNodeChanged);
+			tv.EnableClientScript = false;
+			tv.ID = "treeview1";
+			TreeNode root = new TreeNode ("root", "root");
+			root.Selected = true;
+			tv.Nodes.Add (root);
+			TreeNode node = new TreeNode ("node", "node");
+			tv.Nodes.Add (node);
+			node.Selected = false;
+			p.Form.Controls.Add (tv);
+		}
+
+		static void tv_SelectedNodeChanged (object sender, EventArgs e)
+		{
+			WebTest.CurrentTest.UserData = "SelectedNodeChanged";
+		}
+		#endregion
+
+		[Test]
+		public void TreeView_NullDS ()
+		{
+			TreeView tv = new TreeView ();
+			tv.DataSource = null;
+			tv.DataBind ();
+			Assert.AreEqual (0, tv.Nodes.Count, "NullDS");
+		}
+
+
 		// Events Stuff
 		private bool eventDone = false;
 		private string treeNodeName = string.Empty;
@@ -1921,10 +2158,6 @@ namespace MonoTests.System.Web.UI.WebControls {
 		public void TearDown () {
 			WebTest.Unload ();
 		}
-
-		[TestFixtureSetUp]
-		public void CopyTestResources () {
-		}
 	}
 }