using System.Globalization;
using System.Web;
using System.Web.UI;
-using System.Web.UI.WebControls;\r
+using System.Web.UI.WebControls;
using System.Collections;
namespace MonoTests.System.Web.UI.WebControls
{
- [TestFixture]\r
- public class CompositeDataBoundControlTest\r
- {\r
- class MyCompositeDataBoundControl : CompositeDataBoundControl\r
- {\r
- public bool ensureDataBound = false;\r
- public bool ensureCreateChildControls = false;\r
- public bool createChildControls1 = false;\r
- public bool createChildControls2 = false;\r
- public bool dataBind = false;\r
-\r
- protected override int CreateChildControls (IEnumerable dataSource, bool dataBinding) {\r
- createChildControls2 = true;\r
- return 10;\r
- }\r
-\r
- public void DoEnsureChildControls () {\r
- EnsureChildControls ();\r
- }\r
-\r
- public void DoCreateChildControls () {\r
- CreateChildControls ();\r
- }\r
-\r
- public override void DataBind () {\r
- base.DataBind ();\r
- dataBind = true;\r
- }\r
-\r
- protected override void EnsureDataBound () {\r
- base.EnsureDataBound ();\r
- ensureDataBound = true;\r
- }\r
-\r
- protected override void EnsureChildControls () {\r
- base.EnsureChildControls ();\r
- ensureCreateChildControls = true;\r
- }\r
-\r
- protected override void CreateChildControls () {\r
- base.CreateChildControls ();\r
- createChildControls1 = true;\r
- }\r
-\r
- public bool GetRequiresDataBinding () {\r
- return RequiresDataBinding;\r
- }\r
-\r
- public void SetRequiresDataBinding (bool value) {\r
- RequiresDataBinding = value;\r
- }\r
- }\r
-\r
- [Test]\r
- public void DetailsView_EnsureChildControlsFlow () {\r
- MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();\r
- Assert.IsFalse (c.GetRequiresDataBinding());\r
- c.DoEnsureChildControls ();\r
- Assert.IsTrue (c.ensureCreateChildControls);\r
- Assert.IsFalse (c.ensureDataBound);\r
- Assert.IsFalse (c.dataBind);\r
- Assert.IsTrue (c.createChildControls1);\r
- Assert.IsFalse (c.createChildControls2);\r
- }\r
-\r
- [Test]\r
- public void DetailsView_EnsureChildControlsFlow2 () {\r
- MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();\r
- c.SetRequiresDataBinding (true);\r
- Assert.IsTrue (c.GetRequiresDataBinding ());\r
- c.DoEnsureChildControls ();\r
- Assert.IsTrue (c.ensureCreateChildControls);\r
- Assert.IsTrue (c.ensureDataBound);\r
- Assert.IsFalse (c.dataBind);\r
- Assert.IsTrue (c.createChildControls1);\r
- Assert.IsFalse (c.createChildControls2);\r
- }\r
-\r
-\r
- [Test]\r
- public void DetailsView_CreateChildControls_Clear () {\r
- MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();\r
- c.Controls.Add (new WebControl (HtmlTextWriterTag.A));\r
- Assert.AreEqual (1, c.Controls.Count);\r
- c.DoCreateChildControls ();\r
- Assert.AreEqual (0, c.Controls.Count);\r
- }\r
+ [TestFixture]
+ public class CompositeDataBoundControlTest
+ {
+ class MyCompositeDataBoundControl : CompositeDataBoundControl
+ {
+ public bool ensureDataBound = false;
+ public bool ensureCreateChildControls = false;
+ public bool createChildControls1 = false;
+ public bool createChildControls2 = false;
+ public bool dataBind = false;
+ public bool CreateChildControls_ChildControlsCreated;
+
+ protected override int CreateChildControls (IEnumerable dataSource, bool dataBinding) {
+ createChildControls2 = true;
+ CreateChildControls_ChildControlsCreated = ChildControlsCreated;
+ return 10;
+ }
+
+ public void DoEnsureChildControls () {
+ EnsureChildControls ();
+ }
+
+ public void DoCreateChildControls () {
+ CreateChildControls ();
+ }
+
+ public override void DataBind () {
+ base.DataBind ();
+ dataBind = true;
+ }
+
+ protected override void EnsureDataBound () {
+ base.EnsureDataBound ();
+ ensureDataBound = true;
+ }
+
+ protected override void EnsureChildControls () {
+ base.EnsureChildControls ();
+ ensureCreateChildControls = true;
+ }
+
+ protected override void CreateChildControls () {
+ base.CreateChildControls ();
+ createChildControls1 = true;
+ }
+
+ public bool GetRequiresDataBinding () {
+ return RequiresDataBinding;
+ }
+
+ public void SetRequiresDataBinding (bool value) {
+ RequiresDataBinding = value;
+ }
+
+ public bool GetChildControlsCreated () {
+ return ChildControlsCreated;
+ }
+ }
+
+ [Test]
+ public void DetailsView_EnsureChildControlsFlow () {
+ MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();
+ Assert.IsFalse (c.GetRequiresDataBinding());
+ c.DoEnsureChildControls ();
+ Assert.IsTrue (c.ensureCreateChildControls);
+ Assert.IsFalse (c.ensureDataBound);
+ Assert.IsFalse (c.dataBind);
+ Assert.IsTrue (c.createChildControls1);
+ Assert.IsFalse (c.createChildControls2);
+ }
+
+ [Test]
+ public void DetailsView_EnsureChildControlsFlow2 () {
+ MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();
+ c.SetRequiresDataBinding (true);
+ Assert.IsTrue (c.GetRequiresDataBinding ());
+ c.DoEnsureChildControls ();
+ Assert.IsTrue (c.ensureCreateChildControls);
+ Assert.IsTrue (c.ensureDataBound);
+ Assert.IsFalse (c.dataBind);
+ Assert.IsTrue (c.createChildControls1);
+ Assert.IsFalse (c.createChildControls2);
+ }
+
+
+ [Test]
+ public void DetailsView_CreateChildControls_Clear () {
+ MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();
+ c.Controls.Add (new WebControl (HtmlTextWriterTag.A));
+ Assert.AreEqual (1, c.Controls.Count);
+ c.DoCreateChildControls ();
+ Assert.AreEqual (0, c.Controls.Count);
+ }
+
+ [Test]
+ public void DataBind_ChildControlsCreated () {
+ Page p = new Page ();
+ MyCompositeDataBoundControl c = new MyCompositeDataBoundControl ();
+ p.Controls.Add (c);
+ Assert.IsFalse (c.GetChildControlsCreated (), "ChildControlsCreated before DataBind");
+ c.DataBind ();
+ Assert.IsTrue (c.CreateChildControls_ChildControlsCreated, "ChildControlsCreated in CreateChildControls");
+ Assert.IsTrue (c.GetChildControlsCreated (), "ChildControlsCreated after DataBind");
+ }
}
}
-#endif
\ No newline at end of file
+#endif