using System.Web.UI.WebControls;
using MonoTests.SystemWeb.Framework;
using MonoTests.stand_alone.WebHarness;
+using System.Collections.Generic;
namespace MonoTests.System.Web.UI.WebControls
[TestFixture]
public class DetailsViewTest {
+ public class DataSourceObject
+ {
+ public static List<string> GetList (string sortExpression, int startRowIndex, int maximumRows) {
+ return GetList ();
+ }
+
+ public static List<string> GetList (int startRowIndex, int maximumRows) {
+ return GetList ();
+ }
+
+ public static List<string> GetList (string sortExpression) {
+ return GetList ();
+ }
+
+ public static List<string> GetList () {
+ List<string> list = new List<string> ();
+ list.Add ("Norway");
+ list.Add ("Sweden");
+ list.Add ("France");
+ list.Add ("Italy");
+ list.Add ("Israel");
+ list.Add ("Russia");
+ return list;
+ }
+
+ public static int GetCount () {
+ return GetList ().Count;
+ }
+ }
+
public class PokerDetailsView: DetailsView
{
public bool ensureDataBound=false;
public bool isInitializePager = false;
- public bool controlHierarchy = false;\r
- public bool ensureCreateChildControls = false;\r
- public bool createChildControls1 = false;\r
+ public bool controlHierarchy = false;
+ public bool ensureCreateChildControls = false;
+ public bool createChildControls1 = false;
public bool createChildControls2 = false;
public PokerDetailsView ()
{
{
OnUnload (e);
}
- public void DoOnBubbleEvent (Object sender, EventArgs e)
+ public bool DoOnBubbleEvent (Object sender, EventArgs e)
{
- OnBubbleEvent (sender,e);
+ return OnBubbleEvent (sender, e);
}
public Object DoSaveControlState ()
{
base.EnsureDataBound ();
ensureDataBound = true;
- }\r
-\r
- protected override void EnsureChildControls ()\r
- {\r
- base.EnsureChildControls ();\r
- ensureCreateChildControls = true;\r
- }\r
-\r
- protected override void CreateChildControls ()\r
- {\r
- base.CreateChildControls ();\r
- createChildControls1 = true;\r
- }\r
-\r
- protected override int CreateChildControls (IEnumerable data, bool dataBinding)\r
- {\r
- return base.CreateChildControls (data, dataBinding);\r
- createChildControls2 = true;\r
+ }
+
+ protected override void EnsureChildControls ()
+ {
+ base.EnsureChildControls ();
+ ensureCreateChildControls = true;
+ }
+
+ protected override void CreateChildControls ()
+ {
+ base.CreateChildControls ();
+ createChildControls1 = true;
+ }
+
+ protected override int CreateChildControls (IEnumerable data, bool dataBinding)
+ {
+ createChildControls2 = true;
+ return base.CreateChildControls (data, dataBinding);
}
public void DoConfirmInitState ()
controlHierarchy = true;
}
-
+ public void DoRaiseCallbackEvent (string eventArgument)
+ {
+ base.RaiseCallbackEvent (eventArgument);
+ }
+
+ public void DoEnsureChildControls ()
+ {
+ base.EnsureChildControls ();
+ }
+ public DataSourceSelectArguments DoCreateDataSourceSelectArguments ()
+ {
+ return CreateDataSourceSelectArguments ();
+ }
+
+ public DataSourceView DoGetData ()
+ {
+ return GetData ();
+ }
}
ArrayList myds = new ArrayList ();
+
[TestFixtureSetUp]
- public void setup ()
+ public void constract ()
{
myds.Add ("Item1");
myds.Add ("Item2");
myds.Add ("Item4");
myds.Add ("Item5");
myds.Add ("Item6");
-#if VISUAL_STUDIO\r
- WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.FooterTemplateTest.aspx",\r
- "FooterTemplateTest.aspx");\r
- WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewTemplates.aspx",\r
- "DetailsViewTemplates.aspx");\r
- WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewDataActions.aspx",\r
- "DetailsViewDataActions.aspx");\r
+ }
+
+
+ [SetUp]
+ public void setup ()
+ {
+#if VISUAL_STUDIO
+ WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.FooterTemplateTest.aspx",
+ "FooterTemplateTest.aspx");
+ WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewTemplates.aspx",
+ "DetailsViewTemplates.aspx");
+ WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewDataActions.aspx",
+ "DetailsViewDataActions.aspx");
WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewProperties1.aspx",
"DetailsViewProperties1.aspx");
#else
WebTest.CopyResource (GetType (), "DetailsViewDataActions.aspx", "DetailsViewDataActions.aspx");
WebTest.CopyResource (GetType (), "DetailsViewProperties1.aspx", "DetailsViewProperties1.aspx");
#endif
-
}
[Test]
- [Category ("NotWorking")]
+#if TARGET_JVM //probably dependant on BUG #6489
+ [Category ("NotWorking")]
+#endif
public void DetailsView_DefaultProperties ()
{
- PokerDetailsView dv = new PokerDetailsView ();\r
+ PokerDetailsView dv = new PokerDetailsView ();
Assert.IsNotNull (dv.Rows);
Assert.AreEqual (false, dv.AllowPaging, "AllowPagingDefault");
Assert.AreEqual (typeof(TableItemStyle), dv.AlternatingRowStyle.GetType(),"AlternatingRowStyleDefault") ;
Assert.AreEqual (typeof (DetailsViewRowCollection), dv.Rows.GetType (), "RowDefault2");
Assert.AreEqual (typeof (TableItemStyle), dv.RowStyle.GetType (), "RowStyleDefault");
Assert.AreEqual (null, dv.SelectedValue, "SelectedValueDefault");
- Assert.AreEqual (null, dv.TopPagerRow, "TopPagerRow");\r
+ Assert.AreEqual (null, dv.TopPagerRow, "TopPagerRow");
}
- [Test]
- [Category ("NotWorking")]
+ [Test]\r
+#if TARGET_JVM //probably dependant on BUG #6489\r
+ [Category ("NotWorking")]\r
+#endif\r
public void DetailsView_AssignToDefaultProperties ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_AssignedPropertiesRender ()
{
- string RenderedPageHtml = new WebTest ("DetailsViewProperties1.aspx").Run ();
+ string RenderedPageHtml = new WebTest ("DetailsViewProperties1.aspx").Run ();
string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("starttest") + 9, RenderedPageHtml.IndexOf ("endtest") - RenderedPageHtml.IndexOf ("starttest") - 9);
string origHtmlValue = @" <div>
<div>
- <table cellspacing=""20"" cellpadding=""30"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;background-image:url(Blue%20hills.jpg);"">
+ <table cellspacing=""20"" cellpadding=""30"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;background-image:url(Blue_hills.jpg);"">
<caption align=""Bottom"">
Caption Test
</caption><tr>
Assert.AreEqual (true, origHtmlValue.Contains (@"cellspacing=""20"""), "CellspacingRender");
Assert.AreEqual (true, origHtmlValue.Contains ("Caption Test"), "CaptionRender");
Assert.AreEqual (true, origHtmlValue.Contains (@"caption align=""Bottom"""), "CaptionalignRender");
- Assert.AreEqual (true, origHtmlValue.Contains ("Blue%20hills.jpg"), "BackImageRender");
- Assert.AreEqual (true, origHtmlValue.Contains ("Blue%20hills.jpg"), "BackImageRender");
+ Assert.AreEqual (true, origHtmlValue.Contains ("Blue_hills.jpg"), "BackImageRender");
//GridLines and HorizontalAlign were set but can not be shown in this rendering.
}
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_EmptyDataTextPropertyRender ()
{
PageDelegate pd = new PageDelegate (DetailsView_EmptyDataTextProperty);
Assert.AreEqual (DetailsViewMode.ReadOnly, dv.CurrentMode, "ChangeModeReadOnly");
}
- [Test]
- [Category ("NotWorking")]
+ [Test]\r
+#if TARGET_JVM //BUG #6484\r
+ [Category ("NotWorking")]\r
+#endif\r
public void FormView_DataBind ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void FormView_IsBindableType ()
{
bool isBindable = false;
private bool isDeleted = false;
- [Test]
- [Category ("NotWorking")]
+ [Test]\r
+#if TARGET_JVM //BUG #6484\r
+ [Category ("NotWorking")]\r
+#endif
public void DetailsView_DeleteItemHandler ()
{
PokerDetailsView dv = new PokerDetailsView ();
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_DeleteItemTest ()
{
string html = new WebTest (PageInvoker.CreateOnLoad (
//ToDo: InsertItem method should be checked using postback
private bool insertItem = false;
[Test]
- [Category ("NotWorking")]
public void DetailsView_InsertItem ()
{
PokerDetailsView dv = new PokerDetailsView ();
+ dv.Page = new Page ();
+ dv.Page.Validate();
dv.ChangeMode (DetailsViewMode.Insert);
dv.ItemInserting += new DetailsViewInsertEventHandler (insert_item);
Assert.AreEqual (false, insertItem, "BeforeInsertItem");
//ToDo: UpdateItem method should be checked using postback
private bool updateItem = false;
[Test]
- [Category ("NotWorking")]
public void DetailsView_UpdateItem ()
{
PokerDetailsView dv = new PokerDetailsView ();
dv.ChangeMode (DetailsViewMode.Edit);
+ dv.Page = new Page ();
+ dv.Page.Validate ();
dv.ItemUpdating += new DetailsViewUpdateEventHandler (update_item);
Assert.AreEqual (false, updateItem, "BeforeUpdateItem");
dv.UpdateItem (true);
//protected methods
[Test]
- [Category ("NotWorking")]
public void DetailsView_CreateAutoGeneratedRows ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_CreateAutoGenerateRow ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
- [Test]
- [Category ("NotWorking")]
+ [Test]\r
+#if TARGET_JVM //BUG #6484\r
+ [Category ("NotWorking")]\r
+#endif
public void DetailsView_CreateChildControls ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_CreateControlStyle ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_CreateRow ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_CreateTable ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_EnsureDataBound ()
{
ObjectDataSource ds = new ObjectDataSource ();
dv.DoConfirmInitState ();
dv.DoOnPreRender (EventArgs.Empty);
Assert.AreEqual (true, dv.ensureDataBound, "AfterEnsureDataBound");
- }\r
-\r
- [Test]\r
- [Category ("NotWorking")]\r
- public void DetailsView_EnsureChildControls ()\r
- {\r
- PokerDetailsView dv = new PokerDetailsView ();\r
- int i = dv.Rows.Count;\r
- Assert.IsTrue (dv.ensureCreateChildControls);\r
- Assert.IsFalse (dv.ensureDataBound);\r
- Assert.IsFalse (dv.createChildControls1);\r
- Assert.IsFalse (dv.createChildControls2);\r
}
[Test]
- [Category ("NotWorking")]
+ public void DetailsView_EnsureChildControls ()
+ {
+ PokerDetailsView dv = new PokerDetailsView ();
+ int i = dv.Rows.Count;
+ Assert.IsTrue (dv.ensureCreateChildControls);
+ Assert.IsFalse (dv.ensureDataBound);
+ Assert.IsTrue (dv.createChildControls1);
+ Assert.IsFalse (dv.createChildControls2);
+ }
+
+ [Test]
public void DetailsView_ExtractRowValues ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
- public void DetailsView_CreateFiledSet ()
+ [Category ("NotWorking")]
+ public void DetailsView_CreateFieldSet_dont_useDataSource ()
{
- DataTable ds = TableObject.CreateDataTable ();
- PokerDetailsView dv1=new PokerDetailsView ();
+ DataTable ds = TableObject.CreateDataTable ();
+ PokerDetailsView dv1 = new PokerDetailsView ();
dv1.DataSource = ds;
dv1.DataBind ();
- ICollection fieldSet1 = dv1.DoCreateFieldSet ("FieldTest",true);
+ ICollection fieldSet1 = dv1.DoCreateFieldSet ("FieldTest", true);
Assert.AreEqual (1, fieldSet1.Count, "FiledSetCount");
- Assert.AreEqual ("Item", ((ArrayList) fieldSet1)[0].ToString (), "FieldSetCount");
+ AutoGeneratedField agf = (AutoGeneratedField) ((ArrayList) fieldSet1)[0];
+ Assert.AreEqual ("Item", agf.HeaderText, "FieldSetCount");
+ }
+
+ [Test]
+ public void DetailsView_CreateFieldSet_useDataSource ()
+ {
+ DataTable ds = TableObject.CreateDataTable ();
PokerDetailsView dv2 = new PokerDetailsView ();
dv2.DataSource = ds;
dv2.DataBind ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_GetCallBackResult ()
{
+
PokerDetailsView dv = new PokerDetailsView ();
Page p = new Page ();
+ p.EnableEventValidation = false;
p.Controls.Add (dv);
- DataTable ds = TableObject.CreateDataTable ();
+
+ DataTable ds = TableObject.CreateDataTable ();
+ dv.AllowPaging = true;
+ dv.EnablePagingCallbacks = true;
dv.DataSource = ds;
- dv.DataBind ();
- string callbackResult=@"<table cellspacing=""0"" rules=""all"" border=""1"" style=""border-collapse:collapse;"">
- <tr>
- <td>ID</td><td>1001</td>
- </tr><tr>
- <td>FName</td><td>Mahesh</td>
- </tr><tr>
- <td>LName</td><td>Chand</td>
- </tr>
- </table>";
- HtmlDiff.AssertAreEqual (callbackResult, dv.DoGetCallbackResult().Substring(dv.DoGetCallbackResult().IndexOf ("<table")), "GetCallbackResult");
+ dv.DataBind ();
+ dv.DoRaiseCallbackEvent ("1||0|");
+ string cbres = dv.DoGetCallbackResult ();
+ Assert.IsNotNull (cbres);
+ if (cbres.IndexOf ("1002") == -1)
+ Assert.Fail ("Wrong item rendered fail");
}
//Not implemented
}
- [Test]
- [Category ("NotWorking")]
+ [Test]\r
+#if TARGET_JVM //BUG #6484\r
+ [Category ("NotWorking")]\r
+#endif\r
public void DetailsView_InitializePager ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_PerformDataBinding ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_PrepareControlHierarchy ()
{
- PokerDetailsView dv = new PokerDetailsView ();
- dv.Render ();
- Assert.AreEqual (0, dv.Controls.Count, "ControlHierarchy1");
- Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy2");
+ PokerDetailsView dv = new PokerDetailsView ();
+ //dv.Render ();
+ //Assert.AreEqual (0, dv.Controls.Count, "ControlHierarchy1");
+ //Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy2");
dv.controlHierarchy = false;
dv.AllowPaging = true;
dv.DataSource = myds;
- dv.DataBind ();
+ dv.DataBind ();
+ dv.Page = new Page ();
dv.Render ();
Assert.AreEqual (1, dv.Controls.Count, "ControlHierarchy3");
Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy4");
Button bt = new Button ();
+ dv.Page.EnableEventValidation = false;
dv.Controls.Add (bt);
dv.controlHierarchy = false;
+
dv.Render ();
Assert.AreEqual (2, dv.Controls.Count, "ControlHierarchy3");
Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy4");
//Render Methods
[Test]
- [Category ("NotWorking")]
public void DetailsView_FooterTemplateRender ()
{
+
//Footer Template property is checked.
string RenderedPageHtml = new WebTest ("FooterTemplateTest.aspx").Run ();
string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("starttest")+9, RenderedPageHtml.IndexOf ("endtest") - RenderedPageHtml.IndexOf ("starttest")-9);
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_PagingPostback ()
{
WebTest t = new WebTest ("DetailsViewDataActions.aspx");
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_EditPostback ()
{
WebTest t = new WebTest ("DetailsViewDataActions.aspx");
</div>
</div>";
HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "AfterEditPostback");
-
-
}
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_DeletePostback ()
{
WebTest t = new WebTest ("DetailsViewDataActions.aspx");
HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "DeleteDataPostback");
Assert.AreEqual (false, pageHTML.Contains ("1001"), "AfterDeletePostback");
-
-
-
}
[Test]
[Category ("NunitWeb")]
- [Category ("NotWorking")]
public void DetailsView_InsertPostback ()
{
-
WebTest t = new WebTest ("DetailsViewDataActions.aspx");
string pageHTML = t.Run ();
Assert.AreEqual (true, pageHTML.Contains ("1001"), "BeforeDeletePostback");
[Test]
- [Category ("NotWorking")]
public void DetailsView_ViewState ()
{
PokerDetailsView dv = new PokerDetailsView ();
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_ControlState ()
{
-
PokerDetailsView dv = new PokerDetailsView ();
PokerDetailsView copy = new PokerDetailsView ();
string[] keys = new String[2];
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_BubbleEvents ()
{
ResetEvents ();
DetailsViewCommandEventArgs com;
PokerDetailsView dv = new PokerDetailsView ();
+ dv.DataSource = TableObject.CreateDataTable ();
Page page = new Page ();
Button bt = new Button ();
dv.AllowPaging = true;
+ dv.DataSource = myds;
page.Controls.Add (dv);
+ dv.DataBind ();
dv.ItemCommand += new DetailsViewCommandEventHandler (dv_ItemCommand );
dv.ItemDeleted += new DetailsViewDeletedEventHandler (dv_ItemDeleted );
//Delete
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Delete", null));
Assert.AreEqual (false, itemCommand, "BeforeDeleteCommandBubbleEvent");
Assert.AreEqual (false, itemDeleting, "BeforeDeleteBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Delete");
Assert.AreEqual (true, itemDeleting, "AfterDeleteBubbleEvent");
Assert.AreEqual (true, itemCommand, "AfterDeleteCommandBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Insert", null));
Assert.AreEqual (false, itemCommand, "BeforeInsertCommandBubbleEvent");
Assert.AreEqual (false, itemInserting, "BeforeInsertBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Insert");
Assert.AreEqual (true, itemCommand, "AfterInsertCommandBubbleEvent");
Assert.AreEqual (true, itemInserting, "AfterInsertBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Update", null));
Assert.AreEqual (false, itemUpdating, "BeforeUpdateEvent");
Assert.AreEqual (false, itemCommand, "BeforeUpdateCommandEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Update");
Assert.AreEqual (true, itemCommand, "AfterUpdateCommandBubbleEvent");
Assert.AreEqual (true, itemUpdating, "AfterUpdateBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Cancel", null));
Assert.AreEqual (false, itemCommand, "BeforeCancelCommandBubbleEvent");
Assert.AreEqual (false, modeChanging, "BeforeCancelBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Cancel");
Assert.AreEqual (true, itemCommand, "AfterCancelCommandBubbleEvent");
Assert.AreEqual (true, modeChanging, "AfterCancelBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Edit", null));
Assert.AreEqual (false, itemCommand, "BeforeEditCommandBubbleEvent");
Assert.AreEqual (false, modeChanging, "BeforeEditBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Edit");
Assert.AreEqual (true, itemCommand, "AfterEditCommandBubbleEvent");
Assert.AreEqual (true, modeChanging, "AfterEditBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("New", null));
Assert.AreEqual (false, itemCommand, "BeforeNewCommandBubbleEvent");
Assert.AreEqual (false, modeChanging, "BeforeNewBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - New");
Assert.AreEqual (true, itemCommand, "AfterNewCommandBubbleEvent");
Assert.AreEqual (true, modeChanging, "AfterNewBubbleEvent");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", null));
Assert.AreEqual (false, itemCommand, "BeforePageCommandBubbleEvent");
Assert.AreEqual (false, pageIndexChanging, "BeforePageBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Page Index default");
Assert.AreEqual (true, itemCommand, "AfterPageCommandBubbleEvent");
Assert.AreEqual (true, pageIndexChanging, "AfterPageBubbleEvent");
+ Assert.AreEqual (-1, newPageIndex, "PageIndex");
//Next Page
itemCommand = false;
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Next"));
Assert.AreEqual (false, itemCommand, "BeforeNextPageCommandBubbleEvent");
Assert.AreEqual (false, pageIndexChanging, "BeforeNextPageBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Next Page");
Assert.AreEqual (true, itemCommand, "AfterNextPageCommandBubbleEvent");
Assert.AreEqual (true, pageIndexChanging, "AfterNextPageBubbleEvent");
Assert.AreEqual (1, newPageIndex, "NextPageIndex");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Prev"));
Assert.AreEqual (false, itemCommand, "BeforePrevPageCommandBubbleEvent");
Assert.AreEqual (false, pageIndexChanging, "BeforePrevPageBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Prev Page");
Assert.AreEqual (true, itemCommand, "AfterPrevPageCommandBubbleEvent");
Assert.AreEqual (true, pageIndexChanging, "AfterPrevPageBubbleEvent");
Assert.AreEqual (-1, newPageIndex, "PrevPageIndex");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "First"));
Assert.AreEqual (false, itemCommand, "BeforeFirstPageCommandBubbleEvent");
Assert.AreEqual (false, pageIndexChanging, "BeforeFirstPageBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - First Page");
Assert.AreEqual (true, itemCommand, "AfterFirstPageCommandBubbleEvent");
Assert.AreEqual (true, pageIndexChanging, "AfterFirstPageBubbleEvent");
Assert.AreEqual (0, newPageIndex, "FirstPageIndex");
com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Last"));
Assert.AreEqual (false, itemCommand, "BeforeLastPageCommandBubbleEvent");
Assert.AreEqual (false, pageIndexChanging, "BeforeLastPageBubbleEvent");
- dv.DoOnBubbleEvent (bt, com);
+ Assert.IsTrue (dv.DoOnBubbleEvent (bt, com), "OnBubbleEvent - Last Page");
Assert.AreEqual (true, itemCommand, "AfterLastPageCommandBubbleEvent");
Assert.AreEqual (true, pageIndexChanging, "AfterLastPageBubbleEvent");
- Assert.AreEqual (-1, newPageIndex, "FirstPageIndex");
+ Assert.AreEqual (5, newPageIndex, "FirstPageIndex");
}
[Test]
- [Category ("NotWorking")]
public void DetailsView_Events ()
{
ResetEvents ();
PokerDetailsView dv = new PokerDetailsView ();
Button bt = new Button ();
- Page pg = new Page ();
+ Page pg = new Page ();
+ dv.Page = pg;
dv.Init += new EventHandler (dv_Init);
dv.ItemCommand += new DetailsViewCommandEventHandler (dv_ItemCommand);
dv.ItemCreated += new EventHandler (dv_ItemCreated);
{
pageIndexChanging = true;
newPageIndex = e.NewPageIndex;
+ e.NewPageIndex = -1;
}
void dv_PageIndexChanged (object sender, EventArgs e)
//Exceptions
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (ArgumentOutOfRangeException))]
public void CellPaddingException ()
{
}
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (ArgumentOutOfRangeException))]
public void CellSpacingException ()
{
}
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (ArgumentOutOfRangeException))]
public void PageIndexException ()
{
}
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (HttpException))]
public void InsertItemException ()
{
}
[Test]
- [Category ("NotWorking")]
[ExpectedException (typeof (HttpException))]
public void UpdateItemException ()
{
dv.UpdateItem (true);
}
+ [Test]
+ public void DetailsView_CreateDataSourceSelectArguments () {
+ DataSourceView view;
+ Page p = new Page ();
+
+ PokerDetailsView dv = new PokerDetailsView ();
+ p.Controls.Add (dv);
+
+ ObjectDataSource data = new ObjectDataSource ();
+ data.TypeName = typeof (DataSourceObject).AssemblyQualifiedName;
+ data.SelectMethod = "GetList";
+ data.SortParameterName = "sortExpression";
+ DataSourceSelectArguments arg;
+ p.Controls.Add (data);
+
+ dv.DataSource = data;
+ dv.DataBind ();
+
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ Assert.IsTrue (arg.Equals (DataSourceSelectArguments.Empty), "Default");
+
+ dv.AllowPaging = true;
+ dv.PageIndex = 2;
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ view = dv.DoGetData ();
+ Assert.IsFalse (view.CanPage);
+ Assert.IsTrue (view.CanRetrieveTotalRowCount);
+ Assert.IsTrue (arg.Equals (DataSourceSelectArguments.Empty), "AllowPaging = true, CanPage = false, CanRetrieveTotalRowCount = true");
+
+ // make DataSourceView.CanPage = true
+ data.EnablePaging = true;
+
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ view = dv.DoGetData ();
+ Assert.IsTrue (view.CanPage);
+ Assert.IsFalse (view.CanRetrieveTotalRowCount);
+ Assert.IsTrue (arg.Equals (new DataSourceSelectArguments (2, -1)), "AllowPaging = true, CanPage = true, CanRetrieveTotalRowCount = false");
+
+ dv.AllowPaging = false;
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ Assert.IsTrue (arg.Equals (DataSourceSelectArguments.Empty), "AllowPaging = false, CanPage = true, CanRetrieveTotalRowCount = false");
+ // make DataSourceView.CanRetrieveTotalRowCount = true
+ data.SelectCountMethod = "GetCount";
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ Assert.IsTrue (arg.Equals (DataSourceSelectArguments.Empty), "AllowPaging = false, CanPage = true, CanRetrieveTotalRowCount = true");
+
+ dv.AllowPaging = true;
+ arg = dv.DoCreateDataSourceSelectArguments ();
+ DataSourceSelectArguments arg1 = new DataSourceSelectArguments (2, 1);
+ arg1.RetrieveTotalRowCount = true;
+ view = dv.DoGetData ();
+ Assert.IsTrue (view.CanPage);
+ Assert.IsTrue (view.CanRetrieveTotalRowCount);
+ Assert.IsTrue (arg.Equals (arg1), "AllowPaging = true, CanPage = true, CanRetrieveTotalRowCount = true");
+ }
+
+ [Test]
+ public void DetailsView_CurrentMode () {
+ DetailsView view = new DetailsView ();
+ view.DefaultMode = DetailsViewMode.Insert;
+ Assert.AreEqual (DetailsViewMode.Insert, view.CurrentMode, "DetailsView_CurrentMode#1");
+ view.ChangeMode (DetailsViewMode.Edit);
+ Assert.AreEqual (DetailsViewMode.Edit, view.CurrentMode, "DetailsView_CurrentMode#2");
+ }
+
+ [TearDown]
+ public void Tear ()
+ {
+ WebTest.Unload ();
+ }
+
+ [Test]
+ public void DetailsView_GetPostBackOptions () {
+ DetailsView dv = new DetailsView ();
+ dv.Page = new Page ();
+ IButtonControl btn = new Button ();
+ btn.CausesValidation = false;\r
+ Assert.IsFalse (btn.CausesValidation, "DetailsView_GetPostBackOptions #1");\r
+ Assert.AreEqual (String.Empty, btn.CommandName, "DetailsView_GetPostBackOptions #2");\r
+ Assert.AreEqual (String.Empty, btn.CommandArgument, "DetailsView_GetPostBackOptions #3");\r
+ Assert.AreEqual (String.Empty, btn.PostBackUrl, "DetailsView_GetPostBackOptions #4");\r
+ Assert.AreEqual (String.Empty, btn.ValidationGroup, "DetailsView_GetPostBackOptions #5");
+ PostBackOptions options = ((IPostBackContainer) dv).GetPostBackOptions (btn);\r
+ Assert.IsFalse (options.PerformValidation, "DetailsView_GetPostBackOptions #6");\r
+ Assert.IsFalse (options.AutoPostBack, "DetailsView_GetPostBackOptions #7");\r
+ Assert.IsFalse (options.TrackFocus, "DetailsView_GetPostBackOptions #8");\r
+ Assert.IsTrue (options.ClientSubmit, "DetailsView_GetPostBackOptions #9");\r
+ Assert.IsTrue (options.RequiresJavaScriptProtocol, "DetailsView_GetPostBackOptions #10");\r
+ Assert.AreEqual ("$", options.Argument, "DetailsView_GetPostBackOptions #11");\r
+ Assert.AreEqual (null, options.ActionUrl, "DetailsView_GetPostBackOptions #12");\r
+ Assert.AreEqual (null, options.ValidationGroup, "DetailsView_GetPostBackOptions #13");
+
+ btn.ValidationGroup = "VG";
+ btn.CommandName = "CMD";
+ btn.CommandArgument = "ARG";
+ btn.PostBackUrl = "Page.aspx";\r
+ Assert.IsFalse (btn.CausesValidation, "DetailsView_GetPostBackOptions #14");\r
+ Assert.AreEqual ("CMD", btn.CommandName, "DetailsView_GetPostBackOptions #15");\r
+ Assert.AreEqual ("ARG", btn.CommandArgument, "DetailsView_GetPostBackOptions #16");\r
+ Assert.AreEqual ("Page.aspx", btn.PostBackUrl, "DetailsView_GetPostBackOptions #17");\r
+ Assert.AreEqual ("VG", btn.ValidationGroup, "DetailsView_GetPostBackOptions #18");
+ options = ((IPostBackContainer) dv).GetPostBackOptions (btn);\r
+ Assert.IsFalse (options.PerformValidation, "DetailsView_GetPostBackOptions #19");\r
+ Assert.IsFalse (options.AutoPostBack, "DetailsView_GetPostBackOptions #20");\r
+ Assert.IsFalse (options.TrackFocus, "DetailsView_GetPostBackOptions #21");\r
+ Assert.IsTrue (options.ClientSubmit, "DetailsView_GetPostBackOptions #22");\r
+ Assert.IsTrue (options.RequiresJavaScriptProtocol, "DetailsView_GetPostBackOptions #23");\r
+ Assert.AreEqual ("CMD$ARG", options.Argument, "DetailsView_GetPostBackOptions #24");\r
+ Assert.AreEqual (null, options.ActionUrl, "DetailsView_GetPostBackOptions #25");\r
+ Assert.AreEqual (null, options.ValidationGroup, "DetailsView_GetPostBackOptions #26");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidOperationException))]
+ public void DetailsView_GetPostBackOptions_CausesValidation () {
+ DetailsView dv = new DetailsView ();
+ dv.Page = new Page ();
+ IButtonControl btn = new Button ();
+ Assert.IsTrue (btn.CausesValidation);
+ Assert.AreEqual (String.Empty, btn.CommandName);
+ Assert.AreEqual (String.Empty, btn.CommandArgument);
+ Assert.AreEqual (String.Empty, btn.PostBackUrl);
+ Assert.AreEqual (String.Empty, btn.ValidationGroup);
+ PostBackOptions options = ((IPostBackContainer) dv).GetPostBackOptions (btn);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void DetailsView_GetPostBackOptions_Null_Argument () {
+ DetailsView dv = new DetailsView ();
+ dv.Page = new Page ();
+ PostBackOptions options = ((IPostBackContainer) dv).GetPostBackOptions (null);
+ }
}
public class DTemplate : ITemplate
public static DataTable Delete (string ID, string FName, string LName)
{
DataRow dr = ds.Rows.Find (ID);
+ Assert.IsNotNull (dr);
+ int oldCount = ds.Rows.Count;
ds.Rows.Remove (dr);
+ Assert.AreEqual (oldCount - 1, ds.Rows.Count);
return ds;
}
dr["ID"] = ID;
dr["FName"] = FName;
dr["LName"] = LName;
+ int oldCount = ds.Rows.Count;
ds.Rows.Add (dr);
+ Assert.AreEqual (oldCount + 1, ds.Rows.Count);
return ds;
}
}
#endif
+
+
+