2 // Tests for System.Web.UI.WebControls.FormView.cs
5 // Merav Sudri (meravs@mainsoft.com)
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 using NUnit.Framework;
37 using System.Collections;
38 using System.Collections.Specialized;
39 using System.Globalization;
42 using System.Web.UI.HtmlControls;
43 using System.Web.UI.WebControls;
44 using MonoTests.SystemWeb.Framework;
45 using MonoTests.stand_alone.WebHarness;
48 namespace MonoTests.System.Web.UI.WebControls
51 public class DetailsViewTest {
53 public class PokerDetailsView: DetailsView
55 public bool ensureDataBound=false;
56 public bool isInitializePager = false;
57 public bool controlHierarchy = false;
\r
58 public bool ensureCreateChildControls = false;
\r
59 public bool createChildControls1 = false;
\r
60 public bool createChildControls2 = false;
61 public PokerDetailsView ()
66 public object SaveState ()
68 return SaveViewState ();
71 public void LoadState (object o)
76 public StateBag StateBag
78 get { return base.ViewState; }
81 public HtmlTextWriterTag PokerTagKey
83 get { return base.TagKey; }
86 public string Render ()
88 StringWriter sw = new StringWriter ();
89 HtmlTextWriter tw = new HtmlTextWriter (sw);
91 return sw.ToString ();
94 public void DoOnInit (EventArgs e)
99 public void DoOnDataSourceViewChanged (Object sender, EventArgs e)
101 OnDataSourceViewChanged (sender, e);
104 public void DoOnItemCommand (DetailsViewCommandEventArgs e)
109 public void DoOnItemCreated (EventArgs e)
114 public void DoOnItemDeleted (DetailsViewDeletedEventArgs e)
119 public void DoOnItemDeleting (DetailsViewDeleteEventArgs e)
124 public void DoOnItemInserted (DetailsViewInsertedEventArgs e)
129 public void DoOnItemInserting (DetailsViewInsertEventArgs e)
134 public void DoOnItemUpdated (DetailsViewUpdatedEventArgs e)
139 public void DoOnItemUpdating (DetailsViewUpdateEventArgs e)
145 public void DoOnModeChanged (EventArgs e)
149 public void DoOnModeChanging (DetailsViewModeEventArgs e)
153 public void DoOnPageIndexChanged (EventArgs e)
155 OnPageIndexChanged (e);
157 public void DoOnPageIndexChanging (DetailsViewPageEventArgs e)
159 OnPageIndexChanging (e);
162 public void DoOnPagePreLoad (Object sender , EventArgs e)
164 OnPagePreLoad (sender, e);
166 public void DoOnPreRender (EventArgs e)
170 public void DoOnUnload (EventArgs e)
174 public void DoOnBubbleEvent (Object sender, EventArgs e)
176 OnBubbleEvent (sender,e);
179 public Object DoSaveControlState ()
181 return SaveControlState ();
184 public void DoLoadControlState (Object saveState)
186 LoadControlState (saveState);
189 public AutoGeneratedField DoCreateAutoGeneratedRow (AutoGeneratedFieldProperties filedProperties)
191 return CreateAutoGeneratedRow (filedProperties);
194 public ICollection DoCreateAutoGeneratedRows (Object DataItem)
196 return CreateAutoGeneratedRows (DataItem);
199 public int DoCreateChildControls (IEnumerable dataSource,bool dataBinding)
201 return CreateChildControls (dataSource, dataBinding);
204 public Style DoCreateControlStyle ()
206 return CreateControlStyle ();
209 public DetailsViewRow DoCreateRow (int rowIndex,DataControlRowType rowType, DataControlRowState rowState)
211 return CreateRow (rowIndex, rowType, rowState);
214 public Table DoCreateTable ()
216 return CreateTable ();
219 protected override void EnsureDataBound ()
221 base.EnsureDataBound ();
222 ensureDataBound = true;
225 protected override void EnsureChildControls ()
\r
227 base.EnsureChildControls ();
\r
228 ensureCreateChildControls = true;
\r
231 protected override void CreateChildControls ()
\r
233 base.CreateChildControls ();
\r
234 createChildControls1 = true;
\r
237 protected override int CreateChildControls (IEnumerable data, bool dataBinding)
\r
239 createChildControls2 = true;
\r
240 return base.CreateChildControls (data, dataBinding);
\r
243 public void DoConfirmInitState ()
245 base.ConfirmInitState ();
248 public void DoExtractRowValues (IOrderedDictionary fieldValues, bool includeReadOnlyFields, bool includeKeys)
250 ExtractRowValues (fieldValues, includeReadOnlyFields, includeKeys);
253 public ICollection DoCreateFieldSet (Object dataItem, bool useDataSource)
255 return CreateFieldSet (dataItem, useDataSource);
258 public string DoGetCallbackResult ()
260 return GetCallbackResult ();
263 public string DoGetCallbackScript (IButtonControl buttonControl, string argument)
265 return GetCallbackScript (buttonControl, argument);
268 protected override void InitializePager (DetailsViewRow row, PagedDataSource pagedDataSource)
270 base.InitializePager (row,pagedDataSource);
271 isInitializePager = true;
274 public void DoPerformDataBinding (IEnumerable data)
276 PerformDataBinding (data);
279 protected override void PrepareControlHierarchy ()
281 base.PrepareControlHierarchy ();
282 controlHierarchy = true;
285 public void DoRaiseCallbackEvent (string eventArgument)
\r
287 base.RaiseCallbackEvent (eventArgument);
\r
290 public void DoEnsureChildControls ()
\r
292 base.EnsureChildControls ();
\r
296 ArrayList myds = new ArrayList ();
307 WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.FooterTemplateTest.aspx",
\r
308 "FooterTemplateTest.aspx");
\r
309 WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewTemplates.aspx",
\r
310 "DetailsViewTemplates.aspx");
\r
311 WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewDataActions.aspx",
\r
312 "DetailsViewDataActions.aspx");
\r
313 WebTest.CopyResource (GetType (), "MonoTests.System.Web.UI.WebControls.Resources.DetailsViewProperties1.aspx",
314 "DetailsViewProperties1.aspx");
316 WebTest.CopyResource (GetType (), "FooterTemplateTest.aspx", "FooterTemplateTest.aspx");
317 WebTest.CopyResource (GetType (), "DetailsViewTemplates.aspx", "DetailsViewTemplates.aspx");
318 WebTest.CopyResource (GetType (), "DetailsViewDataActions.aspx", "DetailsViewDataActions.aspx");
319 WebTest.CopyResource (GetType (), "DetailsViewProperties1.aspx", "DetailsViewProperties1.aspx");
327 [Category ("NotWorking")]
328 public void DetailsView_DefaultProperties ()
330 PokerDetailsView dv = new PokerDetailsView ();
\r
331 Assert.IsNotNull (dv.Rows);
332 Assert.AreEqual (false, dv.AllowPaging, "AllowPagingDefault");
333 Assert.AreEqual (typeof(TableItemStyle), dv.AlternatingRowStyle.GetType(),"AlternatingRowStyleDefault") ;
334 Assert.AreEqual (false, dv.AutoGenerateDeleteButton, "AutoGenerateDeleteButtonDefault");
335 Assert.AreEqual (false, dv.AutoGenerateEditButton, "AutoGenerateEditButtonDefault");
336 Assert.AreEqual (false, dv.AutoGenerateInsertButton, "AutoGenerateInsertButtonDefault");
337 Assert.AreEqual (true, dv.AutoGenerateRows, "AutoGenerateRowsDefault");
338 Assert.AreEqual ("", dv.BackImageUrl, "BackImageUrlDefault");
339 Assert.AreEqual (null, dv.BottomPagerRow, "BottomPagerRowDefault");
340 Assert.AreEqual ("", dv.Caption, "CaptionDefault");
341 Assert.AreEqual (TableCaptionAlign.NotSet, dv.CaptionAlign, "CaptionAlignDefault");
342 Assert.AreEqual (-1, dv.CellPadding, "CellPaddingDefault");
343 Assert.AreEqual (0, dv.CellSpacing, "CellSpacingDefault");
344 Assert.AreEqual (typeof(TableItemStyle), dv.CommandRowStyle.GetType(),"CommandRowStyleDefault");
345 Assert.AreEqual (DetailsViewMode.ReadOnly, dv.CurrentMode, "CurrentModeDefault");
346 Assert.AreEqual (null, dv.DataItem, "DataItemDefault");
347 Assert.AreEqual (0, dv.DataItemCount, " DataItemCountDefault");
348 Assert.AreEqual (0, dv.DataItemIndex, "DataItemIndexDefault");
349 Assert.AreEqual (typeof (DataKey), dv.DataKey.GetType (), "DataKeyDefault");
350 Assert.AreEqual (new string[0],dv.DataKeyNames,"DataKeyNamesDefault");
351 Assert.AreEqual (DetailsViewMode.ReadOnly, dv.DefaultMode, "DefaultMode");
352 Assert.AreEqual (typeof (TableItemStyle),dv.EditRowStyle.GetType(),"EditRowStyleDefault");
353 Assert.AreEqual (typeof (TableItemStyle),dv.EmptyDataRowStyle.GetType(), " EmptyDataRowStyleDefault");
354 Assert.AreEqual (null,dv.EmptyDataTemplate,"EmptyDataTemplate");
355 Assert.AreEqual (false,dv.EnablePagingCallbacks, "EnablePagingCallbacksDefault");
356 Assert.AreEqual (true,dv.FieldHeaderStyle.IsEmpty,"FieldHeaderStyleDefault");
357 Assert.AreEqual (typeof (TableItemStyle),dv.FieldHeaderStyle.GetType() ,"FieldHeaderStyleDefault");
358 Assert.AreEqual (0, dv.Fields.Count ,"FiledsDefault");
359 Assert.AreEqual (null, dv.FooterRow, "FooterRowDefault1");
360 Assert.AreEqual (typeof (TableItemStyle), dv.FooterStyle.GetType (), "FooterStyleDefault");
361 Assert.AreEqual (null, dv.FooterTemplate, "FooterTemplateDefault");
362 Assert.AreEqual ("", dv.FooterText, "FooterTextDefault");
363 Assert.AreEqual (GridLines.Both, dv.GridLines, "GridLinesDefault");
364 Assert.AreEqual (null, dv.HeaderRow, "HeaderRowDefault");
365 Assert.AreEqual (typeof (TableItemStyle), dv.HeaderStyle.GetType() , "HeaderStyleDefault");
366 Assert.AreEqual (null, dv.HeaderTemplate, "HeaderTemplateDefault");
367 Assert.AreEqual ("", dv.HeaderText, "HeaderTextDefault");
368 Assert.AreEqual (HorizontalAlign.NotSet, dv.HorizontalAlign, "HorizontalAlignDefault");
369 Assert.AreEqual (typeof (TableItemStyle), dv.InsertRowStyle.GetType (), "InsertRowStyleDefault");
370 Assert.AreEqual (0, dv.PageCount, "PageCountDefault");
371 Assert.AreEqual (0, dv.PageIndex, "PageIndexDefault");
372 Assert.AreEqual (typeof (PagerSettings), dv.PagerSettings.GetType() , "PagerSettingsDefault");
373 Assert.AreEqual (typeof (TableItemStyle), dv.PagerStyle.GetType() , "PagerStyleDefault");
374 Assert.AreEqual (null, dv.PagerTemplate, "PagerTemplateDefault");
375 Assert.AreEqual (0, dv.Rows.Count, "RowsDefault1");
376 Assert.AreEqual (typeof (DetailsViewRowCollection), dv.Rows.GetType (), "RowDefault2");
377 Assert.AreEqual (typeof (TableItemStyle), dv.RowStyle.GetType (), "RowStyleDefault");
378 Assert.AreEqual (null, dv.SelectedValue, "SelectedValueDefault");
379 Assert.AreEqual (null, dv.TopPagerRow, "TopPagerRow");
\r
383 [Category ("NotWorking")]
384 public void DetailsView_AssignToDefaultProperties ()
386 PokerDetailsView dv = new PokerDetailsView ();
387 dv.AllowPaging = true;
388 dv.DataSource = myds;
390 Assert.AreEqual (true, dv.AllowPaging, "AllowPaging");
391 dv.AlternatingRowStyle.CssClass = "style.css";
392 Assert.AreEqual ("style.css", dv.AlternatingRowStyle.CssClass, "AlternatingRowStyle");
393 dv.AutoGenerateDeleteButton = true;
394 Assert.AreEqual (true, dv.AutoGenerateDeleteButton, "AutoGenerateDeleteButton");
395 dv.AutoGenerateEditButton = true;
396 Assert.AreEqual (true, dv.AutoGenerateEditButton, "AutoGenerateEditButton");
397 dv.AutoGenerateInsertButton = true;
398 Assert.AreEqual (true, dv.AutoGenerateInsertButton, "AutoGenerateInsertButton");
399 dv.AutoGenerateRows = false;
400 Assert.AreEqual (false, dv.AutoGenerateRows, "AutoGenerateRows");
401 dv.BackImageUrl = "image.jpg";
402 Assert.AreEqual ("image.jpg", dv.BackImageUrl, "BackImageUrl");
403 dv.Caption = "Caption Test";
404 Assert.AreEqual ("Caption Test", dv.Caption, "Caption");
405 dv.CaptionAlign = TableCaptionAlign.Right;
406 Assert.AreEqual (TableCaptionAlign.Right, dv.CaptionAlign, "CaptionAlign");
408 Assert.AreEqual (2, dv.CellPadding, "CellPadding");
410 Assert.AreEqual (5, dv.CellSpacing, "CellSpacing");
411 dv.CommandRowStyle.BackColor = Color.Purple;
412 Assert.AreEqual (Color.Purple, dv.CommandRowStyle.BackColor, "CommandRowStyle.BackColor");
413 dv.ChangeMode (DetailsViewMode.Insert);
414 Assert.AreEqual (DetailsViewMode.Insert, dv.CurrentMode, "CurrentModeInsert");
415 dv.ChangeMode (DetailsViewMode.Edit );
416 Assert.AreEqual (DetailsViewMode.Edit, dv.CurrentMode, "CurrentModeEdit");
417 Assert.AreEqual ("Item1", dv.DataItem, "DataItem");
418 Assert.AreEqual (6, dv.DataItemCount, "DataItemCount");
419 Assert.AreEqual (0, dv.DataItemIndex, "DataItemIndex");
420 string[] names ={ "test1", "test2", "test3" };
421 dv.DataKeyNames = names;
422 Assert.AreEqual (names, dv.DataKeyNames, "DataKeyNames");
423 dv.DefaultMode = DetailsViewMode.Edit;
424 Assert.AreEqual (DetailsViewMode.Edit, dv.DefaultMode, "DefaultModeEdit");
425 dv.DefaultMode = DetailsViewMode.Insert;
426 Assert.AreEqual (DetailsViewMode.Insert, dv.DefaultMode, "DefaultModeInsert");
427 dv.DefaultMode = DetailsViewMode.ReadOnly;
428 Assert.AreEqual (DetailsViewMode.ReadOnly, dv.DefaultMode, "DefaultModeReadOnly");
429 dv.EditRowStyle.ForeColor = Color.Pink;
430 Assert.AreEqual (Color.Pink, dv.EditRowStyle.ForeColor, "EditRowStyle");
431 dv.EmptyDataRowStyle.HorizontalAlign = HorizontalAlign.Center;
432 Assert.AreEqual (HorizontalAlign.Center, dv.EmptyDataRowStyle.HorizontalAlign, "HorizontalAlignCenter");
433 dv.EmptyDataTemplate = new DTemplate ();
434 Assert.AreEqual (typeof (DTemplate), dv.EmptyDataTemplate.GetType() , "EmptyDataTemplate");
435 dv.EmptyDataText = "No Data";
436 Assert.AreEqual ("No Data", dv.EmptyDataText, "EmptyDataText");
437 dv.EnablePagingCallbacks = true;
438 Assert.AreEqual (true, dv.EnablePagingCallbacks, "EnablePagingCallbacks");
439 dv.FieldHeaderStyle.CssClass = "style.css";
440 Assert.AreEqual ("style.css", dv.FieldHeaderStyle.CssClass, "FieldHeaderStyle");
441 DataControlFieldCollection coll=new DataControlFieldCollection ();
442 dv.FooterStyle.HorizontalAlign = HorizontalAlign.Right ;
443 Assert.AreEqual (HorizontalAlign.Right, dv.FooterStyle.HorizontalAlign , "FooterStyle");
444 dv.FooterTemplate = new DTemplate ();
445 Assert.AreEqual (typeof(DTemplate ),dv.FooterTemplate.GetType() ,"FooterTemplate");
446 dv.FooterText = "Footer Text";
447 Assert.AreEqual ("Footer Text", dv.FooterText, "FooterText");
448 dv.GridLines = GridLines.Horizontal;
449 Assert.AreEqual (GridLines.Horizontal, dv.GridLines, "GridLinesHorizontal ");
450 dv.GridLines = GridLines.None;
451 Assert.AreEqual (GridLines.None , dv.GridLines, "GridLinesNone ");
452 dv.GridLines = GridLines.Vertical;
453 Assert.AreEqual (GridLines.Vertical, dv.GridLines, "GridLinesVertical ");
454 dv.GridLines = GridLines.Both;
455 Assert.AreEqual (GridLines.Both, dv.GridLines, "GridLinesBoth ");
456 dv.HeaderStyle.BorderColor = Color.PapayaWhip;
457 Assert.AreEqual (Color.PapayaWhip, dv.HeaderStyle.BorderColor, "HeaderStyle");
458 dv.HeaderTemplate = new DTemplate ();
459 Assert.AreEqual (typeof (DTemplate), dv.HeaderTemplate.GetType (), "HeaderTemplate");
460 dv.HeaderText = "Header Text";
461 Assert.AreEqual ("Header Text", dv.HeaderText, "HeaderText");
462 dv.HorizontalAlign = HorizontalAlign.Center;
463 Assert.AreEqual (HorizontalAlign.Center, dv.HorizontalAlign, "HorizontalAlignCenter");
464 dv.HorizontalAlign = HorizontalAlign.Justify;
465 Assert.AreEqual (HorizontalAlign.Justify , dv.HorizontalAlign, "HorizontalAlignJustify");
466 dv.HorizontalAlign = HorizontalAlign.Left ;
467 Assert.AreEqual (HorizontalAlign.Left , dv.HorizontalAlign, "HorizontalAlignLeft");
468 dv.HorizontalAlign = HorizontalAlign.NotSet ;
469 Assert.AreEqual (HorizontalAlign.NotSet , dv.HorizontalAlign, "HorizontalAlignNotSet");
470 dv.HorizontalAlign = HorizontalAlign.Right ;
471 Assert.AreEqual (HorizontalAlign.Right , dv.HorizontalAlign, "HorizontalAlignRight");
472 dv.InsertRowStyle.BackColor = Color.PeachPuff;
473 Assert.AreEqual (Color.PeachPuff, dv.InsertRowStyle.BackColor, "InsertRowStyle");
474 Assert.AreEqual (6, dv.PageCount, "PageCount");
475 Assert.AreEqual (0, dv.PageIndex, "PageIndex");
476 dv.PagerSettings.LastPageImageUrl = "image.jpg";
477 Assert.AreEqual ("image.jpg", dv.PagerSettings.LastPageImageUrl, "PagerSettings");
478 dv.PagerStyle.CssClass = "style.css";
479 Assert.AreEqual ("style.css", dv.PagerStyle.CssClass, "PagerStyle");
480 dv.PagerTemplate = new DTemplate ();
481 Assert.AreEqual (typeof (DTemplate), dv.PagerTemplate.GetType (), "PagerTemplate");
482 Assert.AreEqual (1, dv.Rows.Count, "Rows");
483 dv.RowStyle.BackColor = Color.Plum ;
484 Assert.AreEqual (Color.Plum, dv.RowStyle.BackColor, "RowStyle");
485 dv.FooterRow.CssClass="style.css";
486 Assert.AreEqual ("style.css", dv.FooterRow.CssClass , "FooterRow");
487 dv.HeaderRow.BackColor =Color.Pink ;
488 Assert.AreEqual (Color.Pink, dv.HeaderRow.BackColor, "HeaderRow");
493 public void DetailsView_DefaultProtectedProperties ()
495 PokerDetailsView dv = new PokerDetailsView ();
496 Assert.AreEqual (HtmlTextWriterTag.Table, dv.PokerTagKey, "TagKey");
500 [Category ("NotWorking")]
501 public void DetailsView_AssignedPropertiesRender ()
503 string RenderedPageHtml = new WebTest ("DetailsViewProperties1.aspx").Run ();
504 string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("starttest") + 9, RenderedPageHtml.IndexOf ("endtest") - RenderedPageHtml.IndexOf ("starttest") - 9);
505 string origHtmlValue = @" <div>
507 <table cellspacing=""20"" cellpadding=""30"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;background-image:url(Blue%20hills.jpg);"">
508 <caption align=""Bottom"">
511 <td>ID</td><td>1001</td>
513 <td>FName</td><td>Mahesh</td>
515 <td>LName</td><td>Chand</td>
520 HtmlDiff.AssertAreEqual (origHtmlValue, newHtmlValue, "RenderDetailsViewProperties1");
521 Assert.AreEqual (true,origHtmlValue.Contains (@"cellpadding=""30"""),"CellpaddingRender");
522 Assert.AreEqual (true, origHtmlValue.Contains (@"cellspacing=""20"""), "CellspacingRender");
523 Assert.AreEqual (true, origHtmlValue.Contains ("Caption Test"), "CaptionRender");
524 Assert.AreEqual (true, origHtmlValue.Contains (@"caption align=""Bottom"""), "CaptionalignRender");
525 Assert.AreEqual (true, origHtmlValue.Contains ("Blue%20hills.jpg"), "BackImageRender");
526 Assert.AreEqual (true, origHtmlValue.Contains ("Blue%20hills.jpg"), "BackImageRender");
527 //GridLines and HorizontalAlign were set but can not be shown in this rendering.
532 [Category ("NunitWeb")]
533 [Category ("NotWorking")]
534 public void DetailsView_EmptyDataTextPropertyRender ()
536 PageDelegate pd = new PageDelegate (DetailsView_EmptyDataTextProperty);
537 WebTest t = new WebTest (PageInvoker.CreateOnLoad (pd));
538 string result = t.Run ();
539 FormRequest fr = new FormRequest (t.Response, "form1");
540 fr.Controls.Add ("__EVENTTARGET");
541 fr.Controls.Add ("__EVENTARGUMENT");
542 fr.Controls["__EVENTTARGET"].Value = "LinkButton1";
543 fr.Controls["__EVENTARGUMENT"].Value = "";
545 //t.Invoker = PageInvoker.CreateOnLoad (pd);
547 string newHtml = HtmlDiff.GetControlFromPageHtml (result);
548 string origHtml=@"<div>
549 <table cellspacing=""0"" rules=""all"" border=""1"" style=""border-collapse:collapse;"">
554 </div><a id=""LinkButton1"" href=""javascript:__doPostBack('LinkButton1','')"">Test</a>";
555 HtmlDiff.AssertAreEqual(origHtml, newHtml, "EmptyDataTextTest");
560 public static void DetailsView_EmptyDataTextProperty (Page p)
562 LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
563 LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
565 PokerDetailsView dv = new PokerDetailsView ();
566 dv.DataSource = new ArrayList ();
567 dv.EmptyDataText = "Empty Data";
568 LinkButton lb = new LinkButton ();
569 lb.ID = "LinkButton1";
572 p.Form.Controls.Add (lcb);
573 p.Form.Controls.Add (dv);
575 p.Form.Controls.Add (lb);
576 p.Form.Controls.Add (lce);
578 //ToDo: Add more properties rendering tests (PageSettings,AutoGeneratedRows etc...)
584 public void DetailsView_ChangeMode ()
586 PokerDetailsView dv = new PokerDetailsView ();
587 Assert.AreEqual (DetailsViewMode.ReadOnly, dv.CurrentMode, "ChangeModeDefault");
588 dv.ChangeMode (DetailsViewMode.Insert);
589 Assert.AreEqual (DetailsViewMode.Insert, dv.CurrentMode, "ChangeModeInsert");
590 dv.ChangeMode (DetailsViewMode.Edit);
591 Assert.AreEqual (DetailsViewMode.Edit, dv.CurrentMode, "ChangeModeEdit");
592 dv.ChangeMode (DetailsViewMode.ReadOnly);
593 Assert.AreEqual (DetailsViewMode.ReadOnly, dv.CurrentMode, "ChangeModeReadOnly");
597 [Category ("NotWorking")]
598 public void FormView_DataBind ()
600 PokerDetailsView dv = new PokerDetailsView ();
601 dv.AllowPaging = true;
602 dv.DataSource = myds;
603 Assert.AreEqual (0, dv.PageCount, "BeforeDataBind1");
604 Assert.AreEqual (null, dv.DataItem, "BeforeDataBind2");
606 Assert.AreEqual (6, dv.PageCount, "AfterDataBind1");
607 Assert.AreEqual (6, dv.DataItemCount, "AfterDataBind2");
608 Assert.AreEqual ("Item1", dv.DataItem, "AfterDataBind3");
612 [Category ("NotWorking")]
613 public void FormView_IsBindableType ()
615 bool isBindable = false;
616 PokerDetailsView dv = new PokerDetailsView ();
617 isBindable = dv.IsBindableType (typeof (Decimal));
618 Assert.AreEqual (true, isBindable, "IsBindableTypeDecimal");
619 isBindable = dv.IsBindableType (typeof (Int32));
620 Assert.AreEqual (true, isBindable, "IsBindableTypeInt32");
621 isBindable = dv.IsBindableType (typeof (String));
622 Assert.AreEqual (true, isBindable, "IsBindableTypeString");
623 isBindable = dv.IsBindableType (typeof (Boolean));
624 Assert.AreEqual (true, isBindable, "IsBindableTypeBoolean");
625 isBindable = dv.IsBindableType (typeof (DateTime));
626 Assert.AreEqual (true, isBindable, "IsBindableTypeDateTime");
627 isBindable = dv.IsBindableType (typeof (Byte));
628 Assert.AreEqual (true, isBindable, "IsBindableTypeByte");
629 isBindable = dv.IsBindableType (typeof (Guid));
630 Assert.AreEqual (true, isBindable, "IsBindableTypeGuid");
631 isBindable = dv.IsBindableType (typeof (DTemplate));
632 Assert.AreEqual (false, isBindable, "IsBindableTypeMyTemplate");
636 private bool isDeleted = false;
639 [Category ("NotWorking")]
640 public void DetailsView_DeleteItemHandler ()
642 PokerDetailsView dv = new PokerDetailsView ();
643 dv.DataSource = myds;
645 Assert.AreEqual (false, isDeleted, "BeforeDeleteItem");
646 dv.ItemDeleting += new DetailsViewDeleteEventHandler (dv_DeleteingHandler);
648 Assert.AreEqual (true, isDeleted, "BeforeDeleteItem");
652 public void dv_DeleteingHandler (Object sender, DetailsViewDeleteEventArgs e)
658 [Category ("NunitWeb")]
659 [Category ("NotWorking")]
660 public void DetailsView_DeleteItemTest ()
662 string html = new WebTest (PageInvoker.CreateOnLoad (
663 new PageDelegate (DetailsView_DeleteItem))).Run ();
664 string newHtml = HtmlDiff.GetControlFromPageHtml (html);
665 string origHtml = @"<div>
666 <table cellspacing=""0"" rules=""all"" border=""1"" style=""border-collapse:collapse;"">
668 <td>ID</td><td>1002</td>
670 <td>FName</td><td>Melanie</td>
672 <td>LName</td><td>Talmadge</td>
674 <td colspan=""2""><table border=""0"">
676 <td><span>1</span></td><td><a href=""javascript:__doPostBack('ctl01','Page$2')"">2</a></td>
682 HtmlDiff.AssertAreEqual (origHtml, newHtml, "DeleteItemMethod");
685 public static void DetailsView_DeleteItem (Page p)
687 LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
688 LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
689 PokerDetailsView dv = new PokerDetailsView ();
690 ObjectDataSource ds = new ObjectDataSource ();
691 ds.ID = "ObjectDataSource1";
692 ds.TypeName = "MonoTests.System.Web.UI.WebControls.TableObject";
693 ds.SelectMethod = "GetMyData";
694 ds.DeleteMethod = "Delete";
695 ds.InsertMethod = "Insert";
696 ds.UpdateMethod = "Update";
697 Parameter p1 = new Parameter ("ID", TypeCode.String);
698 Parameter p2 = new Parameter ("FName", TypeCode.String);
699 Parameter p3 = new Parameter ("LName", TypeCode.String);
700 ds.DeleteParameters.Add (p1);
701 ds.DeleteParameters.Add (p2);
702 ds.DeleteParameters.Add (p3);
705 p.Form.Controls.Add (lcb);
706 p.Form.Controls.Add (dv);
707 p.Form.Controls.Add (ds);
708 p.Form.Controls.Add (lce);
709 dv.AllowPaging = true;
710 dv.DataKeyNames = new string[] { "ID", "FName", "LName" };
711 dv.DataSourceID = "ObjectDataSource1";
716 //ToDo: InsertItem method should be checked using postback
717 private bool insertItem = false;
719 [Category ("NotWorking")]
720 public void DetailsView_InsertItem ()
722 PokerDetailsView dv = new PokerDetailsView ();
\r
723 dv.Page = new Page ();
724 dv.ChangeMode (DetailsViewMode.Insert);
725 dv.ItemInserting += new DetailsViewInsertEventHandler (insert_item);
726 Assert.AreEqual (false, insertItem, "BeforeInsertItem");
727 dv.InsertItem (true);
728 Assert.AreEqual (true, insertItem, "AfterInsertItem");
732 public void insert_item (object sender, DetailsViewInsertEventArgs e)
737 //ToDo: UpdateItem method should be checked using postback
738 private bool updateItem = false;
740 [Category ("NotWorking")]
741 public void DetailsView_UpdateItem ()
743 PokerDetailsView dv = new PokerDetailsView ();
744 dv.ChangeMode (DetailsViewMode.Edit);
\r
745 dv.Page = new Page ();
746 dv.ItemUpdating += new DetailsViewUpdateEventHandler (update_item);
747 Assert.AreEqual (false, updateItem, "BeforeUpdateItem");
748 dv.UpdateItem (true);
749 Assert.AreEqual (true, updateItem, "AfterUpdateItem");
753 public void update_item (object sender, DetailsViewUpdateEventArgs e)
761 [Category ("NotWorking")]
762 public void DetailsView_CreateAutoGeneratedRows ()
764 PokerDetailsView dv = new PokerDetailsView ();
765 DataTable ds = TableObject.CreateDataTable ();
768 ICollection col = dv.DoCreateAutoGeneratedRows (dv.DataItem);
769 Assert.AreEqual (typeof(ArrayList),col.GetType (),"CreateAutoGeneratedRowsType");
770 Assert.AreEqual (3, col.Count , "CreateAutoGeneratedRowsCount");
771 Assert.AreEqual (typeof (AutoGeneratedField), ((ArrayList) col)[0].GetType (), "AutoGeneratedRowType");
772 Assert.AreEqual ("ID", ((ArrayList) col)[0].ToString (), "AutoGeneratedRowName1");
773 Assert.AreEqual ("FName", ((AutoGeneratedField)((ArrayList) col)[1]).HeaderText, "AutoGeneratedRowName2");
774 Assert.AreEqual ("LName", ((AutoGeneratedField) ((ArrayList) col)[2]).SortExpression , "AutoGeneratedRowName3");
779 [Category ("NotWorking")]
780 public void DetailsView_CreateAutoGenerateRow ()
782 PokerDetailsView dv = new PokerDetailsView ();
783 AutoGeneratedFieldProperties prop = new AutoGeneratedFieldProperties ();
784 prop.Name = "FieldItem";
785 prop.Type = typeof(String);
786 AutoGeneratedField field = dv.DoCreateAutoGeneratedRow (prop);
787 Assert.AreEqual (typeof (string), field.DataType, "FieldDataType");
788 Assert.AreEqual ("FieldItem", field.HeaderText, "FieldHeaderText");
789 Assert.AreEqual ("FieldItem",field.SortExpression ,"FieldSortExpretion");
790 Assert.AreEqual (typeof(AutoGeneratedField), field.GetType (), "AutoGeneratedFieldType");
795 [Category ("NotWorking")]
796 public void DetailsView_CreateChildControls ()
798 PokerDetailsView dv = new PokerDetailsView ();
799 Assert.AreEqual (6,dv.DoCreateChildControls (myds, true),"CreateChildControls1");
800 Assert.AreEqual (6, dv.DoCreateChildControls (myds, false), "CreateChildControls2");
804 [Category ("NotWorking")]
805 public void DetailsView_CreateControlStyle ()
807 PokerDetailsView dv = new PokerDetailsView ();
808 Style style = dv.DoCreateControlStyle ();
809 Assert.AreEqual (0, ((TableStyle) style).CellSpacing, "CreateControlStyle1");
810 Assert.AreEqual (GridLines.Both, ((TableStyle) style).GridLines, "CreateControlStyle2");
815 [Category ("NotWorking")]
816 public void DetailsView_CreateRow ()
818 PokerDetailsView dv = new PokerDetailsView ();
819 DetailsViewRow row = dv.DoCreateRow (1, DataControlRowType.DataRow, DataControlRowState.Alternate);
820 Assert.AreEqual (1, row.RowIndex, "rowIndex1");
821 Assert.AreEqual (DataControlRowType.DataRow, row.RowType, "RowType1");
822 Assert.AreEqual (DataControlRowState.Alternate, row.RowState, "RowState1");
823 row = dv.DoCreateRow (2, DataControlRowType.Header, DataControlRowState.Insert);
824 Assert.AreEqual (2, row.RowIndex, "rowIndex2");
825 Assert.AreEqual (DataControlRowType.Header , row.RowType, "RowType2");
826 Assert.AreEqual (DataControlRowState.Insert , row.RowState, "RowState2");
827 row = dv.DoCreateRow (3, DataControlRowType.EmptyDataRow , DataControlRowState.Selected );
828 Assert.AreEqual (3, row.RowIndex, "rowIndex3");
829 Assert.AreEqual (DataControlRowType.EmptyDataRow , row.RowType, "RowType3");
830 Assert.AreEqual (DataControlRowState.Selected , row.RowState, "RowState3");
831 DetailsViewPagerRow pagerRow = (DetailsViewPagerRow )dv.DoCreateRow (5, DataControlRowType.Pager , DataControlRowState.Edit );
832 Assert.AreEqual (5, pagerRow.RowIndex, "rowIndex4");
833 Assert.AreEqual (DataControlRowType.Pager, pagerRow.RowType, "RowType4");
834 Assert.AreEqual (DataControlRowState.Edit, pagerRow.RowState, "RowState4");
840 [Category ("NotWorking")]
841 public void DetailsView_CreateTable ()
843 PokerDetailsView dv = new PokerDetailsView ();
844 Table tb = dv.DoCreateTable();
845 Assert.AreEqual (null, tb.Parent, "CreateTable1");
846 Assert.AreEqual ("", tb.BackImageUrl, "CreateTable2");
847 Assert.AreEqual (0, tb.Rows.Count, "CreateTable3");
848 Assert.AreEqual (null, tb.ClientID , "CreateTable3");
849 dv.ID = "testId"; //private filed _parentID should be set to "testId"
850 tb = dv.DoCreateTable ();
851 Assert.AreEqual (-1, tb.CellSpacing, "CreateTable4");
852 Assert.AreEqual (HorizontalAlign.NotSet , tb.HorizontalAlign , "CreateTable5");
856 [Category ("NotWorking")]
857 public void DetailsView_EnsureDataBound ()
859 ObjectDataSource ds = new ObjectDataSource ();
860 ds.ID = "ObjectDataSource1";
861 ds.TypeName = "System.Guid";
862 ds.SelectMethod = "ToByteArray";
863 Page p = new Page ();
864 PokerDetailsView dv = new PokerDetailsView ();
869 dv.DataSourceID = "ObjectDataSource1";
870 Assert.AreEqual (false, dv.ensureDataBound, "BeforeEnsureDataBound");
871 dv.DoConfirmInitState ();
872 dv.DoOnPreRender (EventArgs.Empty);
873 Assert.AreEqual (true, dv.ensureDataBound, "AfterEnsureDataBound");
877 [Category ("NotWorking")]
\r
878 public void DetailsView_EnsureChildControls ()
\r
880 PokerDetailsView dv = new PokerDetailsView ();
\r
881 int i = dv.Rows.Count;
\r
882 Assert.IsTrue (dv.ensureCreateChildControls);
\r
883 Assert.IsFalse (dv.ensureDataBound);
\r
884 Assert.IsFalse (dv.createChildControls1);
\r
885 Assert.IsFalse (dv.createChildControls2);
\r
889 [Category ("NotWorking")]
890 public void DetailsView_ExtractRowValues ()
892 PokerDetailsView dv = new PokerDetailsView ();
893 DataTable ds = TableObject.CreateDataTable ();
896 OrderedDictionary fieldsValues = new OrderedDictionary ();
897 dv.DoExtractRowValues (fieldsValues, true, true);
898 Assert.AreEqual (3, fieldsValues.Count, "ExtractRowValues1");
899 Assert.AreEqual (3, fieldsValues.Keys.Count, "ExtractRowValues2");
900 Assert.AreEqual (3, fieldsValues.Values.Count, "ExtractRowValues3");
901 Assert.AreEqual (true, fieldsValues.Contains ("ID"), "ExtractRowValues4");
902 IDictionaryEnumerator enumerator=fieldsValues.GetEnumerator ();
903 enumerator.MoveNext ();
904 Assert.AreEqual ("ID",enumerator.Key,"FieldValue1");
905 Assert.AreEqual ("1001", enumerator.Value , "FieldValue2");
906 enumerator.MoveNext ();
907 Assert.AreEqual ("FName", enumerator.Key, "FieldValue3");
908 Assert.AreEqual ("Mahesh", enumerator.Value, "FieldValue4");
909 enumerator.MoveNext ();
910 Assert.AreEqual ("LName", enumerator.Key, "FieldValue5");
911 Assert.AreEqual ("Chand", enumerator.Value, "FieldValue6");
912 fieldsValues = new OrderedDictionary ();
913 dv.DoExtractRowValues (fieldsValues, false, false);
914 Assert.AreEqual (0, fieldsValues.Count, "ExtractRowValues-NotReadOnly1");
915 fieldsValues = new OrderedDictionary ();
916 dv.DoExtractRowValues (fieldsValues, true, false);
917 Assert.AreEqual (3, fieldsValues.Count, "ExtractRowValues-NoPrimaryKeys1");
918 Assert.AreEqual (3, fieldsValues.Keys.Count, "ExtractRowValues-NoPrimaryKeys2");
919 fieldsValues = new OrderedDictionary ();
920 dv.DoExtractRowValues (fieldsValues, false, true);
921 Assert.AreEqual (0, fieldsValues.Count, "ExtractRowValues-NotReadOnly2");
922 Assert.AreEqual (0, fieldsValues.Keys.Count, "ExtractRowValues-NotReadOnly3");
926 [Category ("NotWorking")]
\r
927 public void DetailsView_CreateFieldSet_dont_useDataSource ()
\r
929 DataTable ds = TableObject.CreateDataTable ();
\r
930 PokerDetailsView dv1 = new PokerDetailsView ();
\r
931 dv1.DataSource = ds;
\r
933 ICollection fieldSet1 = dv1.DoCreateFieldSet ("FieldTest", true);
\r
934 Assert.AreEqual (1, fieldSet1.Count, "FiledSetCount");
\r
935 AutoGeneratedField agf = (AutoGeneratedField) ((ArrayList) fieldSet1)[0];
\r
936 Assert.AreEqual ("Item", agf.HeaderText, "FieldSetCount");
\r
940 public void DetailsView_CreateFieldSet_useDataSource ()
942 DataTable ds = TableObject.CreateDataTable ();
943 PokerDetailsView dv2 = new PokerDetailsView ();
946 ICollection fieldSet2 = dv2.DoCreateFieldSet ("FieldTest", false);
947 Assert.AreEqual (3, fieldSet2.Count, "FiledSetCount");
948 Assert.AreEqual ("ID", ((ArrayList) fieldSet2)[0].ToString (), "FieldValue1");
949 Assert.AreEqual (typeof (Int32), ((AutoGeneratedField) ((ArrayList) fieldSet2)[0]).DataType, "FieldType1");
950 Assert.AreEqual ("FName", ((ArrayList) fieldSet2)[1].ToString (), "FieldValue2");
951 Assert.AreEqual (typeof (String), ((AutoGeneratedField) ((ArrayList) fieldSet2)[1]).DataType, "FieldType2");
952 Assert.AreEqual ("LName", ((ArrayList) fieldSet2)[2].ToString (), "FieldValue3");
953 Assert.AreEqual (typeof (String), ((AutoGeneratedField) ((ArrayList) fieldSet2)[2]).DataType, "FieldType3");
959 [Category ("NotWorking")]
960 public void DetailsView_GetCallBackResult ()
962 PokerDetailsView dv = new PokerDetailsView ();
963 Page p = new Page ();
965 DataTable ds = TableObject.CreateDataTable ();
968 dv.DoRaiseCallbackEvent ("a|b$c");
\r
969 string callbackResult=@"<table cellspacing=""0"" rules=""all"" border=""1"" style=""border-collapse:collapse;"">
971 <td>ID</td><td>1001</td>
973 <td>FName</td><td>Mahesh</td>
975 <td>LName</td><td>Chand</td>
978 string cbres = dv.DoGetCallbackResult ();
\r
979 Assert.IsNotNull (cbres);
980 HtmlDiff.AssertAreEqual (callbackResult, cbres.Substring(dv.DoGetCallbackResult().IndexOf ("<table")), "GetCallbackResult");
985 public void DetailsView_GetCallbackScript ()
991 [Category ("NotWorking")]
992 public void DetailsView_InitializePager ()
994 PokerDetailsView dv = new PokerDetailsView ();
995 Page page = new Page ();
996 dv.AllowPaging = true;
997 dv.DataSource = myds;
998 page.Controls.Add (dv);
999 Assert.AreEqual (0, dv.PageCount, "BeforeInitializePagerPageCount");
1000 Assert.AreEqual (false, dv.isInitializePager, "BeforeInitializePager");
1002 Assert.AreEqual (true, dv.isInitializePager, "AfterInitializePager");
1003 Assert.AreEqual (6, dv.PageCount, "AfterInitializePagerPageCount");
1007 public void DetailsView_InitializeRow ()
1013 [Category ("NotWorking")]
1014 public void DetailsView_PerformDataBinding ()
1016 PokerDetailsView dv = new PokerDetailsView ();
1017 Assert.AreEqual (0, dv.DataItemCount, "BeforePerformDataBinding");
1018 dv.DoPerformDataBinding (myds);
1019 Assert.AreEqual (6, dv.DataItemCount, "AfterPerformDataBinding");
1023 [Category ("NotWorking")]
1024 public void DetailsView_PrepareControlHierarchy ()
1026 PokerDetailsView dv = new PokerDetailsView ();
\r
1028 //Assert.AreEqual (0, dv.Controls.Count, "ControlHierarchy1");
1029 //Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy2");
1030 dv.controlHierarchy = false;
1031 dv.AllowPaging = true;
1032 dv.DataSource = myds;
1034 dv.Page = new Page ();
1036 Assert.AreEqual (1, dv.Controls.Count, "ControlHierarchy3");
1037 Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy4");
1038 Button bt = new Button ();
1039 dv.Controls.Add (bt);
1040 dv.controlHierarchy = false;
1042 Assert.AreEqual (2, dv.Controls.Count, "ControlHierarchy3");
1043 Assert.AreEqual (true, dv.controlHierarchy, "ControlHierarchy4");
1048 [Category ("NotWorking")]
1049 public void DetailsView_FooterTemplateRender ()
1051 //Footer Template property is checked.
1052 string RenderedPageHtml = new WebTest ("FooterTemplateTest.aspx").Run ();
1053 string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("starttest")+9, RenderedPageHtml.IndexOf ("endtest") - RenderedPageHtml.IndexOf ("starttest")-9);
1054 string origHtmlValue = @" <div>
1056 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1058 <td>ID</td><td>1001</td>
1060 <td>FName</td><td>Mahesh</td>
1062 <td>LName</td><td>Chand</td>
1065 Footer Template Test<a id=""DetailsView1_HyperLink1"">Footer</a>
1068 <td colspan=""2""><table border=""0"">
1070 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$3')"">3</a></td>
1079 HtmlDiff.AssertAreEqual (origHtmlValue, newHtmlValue, "RenderFooterTemplate");
1083 [Category ("NotWorking")]
1084 public void DetailsView_RenderHeaderTemplate ()
1086 //Header Template property is checked
1087 string RenderedPageHtml = new WebTest ("DetailsViewTemplates.aspx").Run ();
1088 string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("test1") + 5, RenderedPageHtml.IndexOf ("test2") - RenderedPageHtml.IndexOf ("test1") - 5);
1089 string origHtmlValue = @" <div>
1091 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1094 Header Template<input type=""submit"" name=""DetailsView1$Button1"" value=""Header button"" id=""DetailsView1_Button1"" />
1097 <td>ID</td><td>1001</td>
1099 <td>FName</td><td>Mahesh</td>
1101 <td>LName</td><td>Chand</td>
1103 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1','Delete$0')"">Delete</a></td>
1105 <td colspan=""2""><table border=""0"">
1107 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$3')"">3</a></td>
1115 HtmlDiff.AssertAreEqual (origHtmlValue, newHtmlValue, "RenderHeaderTemplate");
1119 [Category ("NotWorking")]
1120 public void DetailsView_PagerTemplateRender ()
1122 //Pager Template property is checked
1123 string RenderedPageHtml = new WebTest ("DetailsViewTemplates.aspx").Run ();
1124 string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("test2") + 5, RenderedPageHtml.IndexOf ("test3") - RenderedPageHtml.IndexOf ("test2") - 5);
1125 string origHtmlValue = @" <div>
1126 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView2"" style=""height:50px;width:125px;border-collapse:collapse;"">
1128 <td>ID</td><td>1001</td>
1130 <td>FName</td><td>Mahesh</td>
1132 <td>LName</td><td>Chand</td>
1135 <input type=""submit"" name=""DetailsView2$ctl01$Button2"" value=""Prev"" id=""DetailsView2_ctl01_Button2"" />
1136 <input type=""submit"" name=""DetailsView2$ctl01$Button3"" value=""Next"" id=""DetailsView2_ctl01_Button3"" />
1142 HtmlDiff.AssertAreEqual (origHtmlValue, newHtmlValue, "RenderPagerTemplate");
1146 [Category ("NotWorking")]
1147 public void DetailsView_EditFieldsRender ()
1149 string RenderedPageHtml = new WebTest ("DetailsViewTemplates.aspx").Run ();
1150 string newHtmlValue = RenderedPageHtml.Substring (RenderedPageHtml.IndexOf ("test3") + 5, RenderedPageHtml.IndexOf ("endtest") - RenderedPageHtml.IndexOf ("test3") - 5);
1151 string origHtmlValue = @" </div>
1153 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView3"" style=""height:50px;width:125px;border-collapse:collapse;"">
1155 <td>ID</td><td>1001</td>
1157 <td>FName</td><td>Mahesh</td>
1159 <td>LName</td><td>Chand</td>
1161 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView3','$0')"">TestButtonField</a></td>
1163 <td> </td><td><a></a></td>
1165 <td>Image field</td><td></td>
1167 <td> </td><td></td>
1169 <td>Template Field</td><td style=""background-color:#FFE0C0;""> </td>
1171 <td colspan=""2""><table border=""0"">
1173 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView3','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('DetailsView3','Page$3')"">3</a></td>
1181 HtmlDiff.AssertAreEqual (origHtmlValue, newHtmlValue, "RenderDataFields");
1185 [Category ("NunitWeb")]
1186 [Category ("NotWorking")]
1187 public void DetailsView_PagingPostback ()
1189 WebTest t = new WebTest ("DetailsViewDataActions.aspx");
1190 string pageHTML = t.Run ();
1191 pageHTML = pageHTML.Substring (pageHTML.IndexOf ("starttest") + 9, pageHTML.IndexOf ("endtest") - pageHTML.IndexOf ("starttest") - 9);
1192 string origHtmlValue = @" <div>
1193
1195 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1197 <td>ID</td><td>1001</td>
1199 <td>FName</td><td>Mahesh</td>
1201 <td>LName</td><td>Chand</td>
1203 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1','Edit$0')"">Edit</a> <a href=""javascript:__doPostBack('DetailsView1','Delete$0')"">Delete</a> <a href=""javascript:__doPostBack('DetailsView1','New$0')"">New</a></td>
1205 <td colspan=""2""><table border=""0"">
1207 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$3')"">3</a></td>
1214 HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "BeforePagingDataPostback");
1215 FormRequest fr = new FormRequest (t.Response, "form1");
1216 fr.Controls.Add ("__EVENTTARGET");
1217 fr.Controls.Add ("__EVENTARGUMENT");
1218 fr.Controls["__EVENTTARGET"].Value = "DetailsView1";
1219 fr.Controls["__EVENTARGUMENT"].Value = "Page$2";
1221 pageHTML = t.Run ();
1222 pageHTML = pageHTML.Substring (pageHTML.IndexOf ("starttest") + 9, pageHTML.IndexOf ("endtest") - pageHTML.IndexOf ("starttest") - 9);
1223 origHtmlValue = @" <div>
1224
1226 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1228 <td>ID</td><td>1002</td>
1230 <td>FName</td><td>Melanie</td>
1232 <td>LName</td><td>Talmadge</td>
1234 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1','Edit$1')"">Edit</a> <a href=""javascript:__doPostBack('DetailsView1','Delete$1')"">Delete</a> <a href=""javascript:__doPostBack('DetailsView1','New$1')"">New</a></td>
1236 <td colspan=""2""><table border=""0"">
1238 <td><a href=""javascript:__doPostBack('DetailsView1','Page$1')"">1</a></td><td><span>2</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$3')"">3</a></td>
1245 HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "AfterPagingDataPostback");
1250 [Category ("NunitWeb")]
1251 [Category ("NotWorking")]
1252 public void DetailsView_EditPostback ()
1254 WebTest t = new WebTest ("DetailsViewDataActions.aspx");
1255 string pageHTML = t.Run ();
1256 Assert.AreEqual (true, pageHTML.Contains ("Edit"), "BeforeEditPostback");
1257 FormRequest fr = new FormRequest (t.Response, "form1");
1258 fr.Controls.Add ("__EVENTTARGET");
1259 fr.Controls.Add ("__EVENTARGUMENT");
1260 fr.Controls["__EVENTTARGET"].Value = "DetailsView1";
1261 fr.Controls["__EVENTARGUMENT"].Value = "Edit$0";
1263 pageHTML = t.Run ();
1264 pageHTML = pageHTML.Substring (pageHTML.IndexOf ("starttest") + 9, pageHTML.IndexOf ("endtest") - pageHTML.IndexOf ("starttest") - 9);
1265 string origHtmlValue = @" <div>
1266
1268 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1270 <td>ID</td><td>1001</td>
1272 <td>FName</td><td>Mahesh</td>
1274 <td>LName</td><td>Chand</td>
1276 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1$ctl01','')"">Update</a> <a href=""javascript:__doPostBack('DetailsView1','Cancel$0')"">Cancel</a></td>
1278 <td colspan=""2""><table border=""0"">
1280 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$2')"">2</a></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$3')"">3</a></td>
1287 HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "AfterEditPostback");
1293 [Category ("NunitWeb")]
1294 [Category ("NotWorking")]
1295 public void DetailsView_DeletePostback ()
1297 WebTest t = new WebTest ("DetailsViewDataActions.aspx");
1298 string pageHTML = t.Run ();
1299 Assert.AreEqual (true, pageHTML.Contains ("1001"), "BeforeDeletePostback");
1300 FormRequest fr = new FormRequest (t.Response, "form1");
1301 fr.Controls.Add ("__EVENTTARGET");
1302 fr.Controls.Add ("__EVENTARGUMENT");
1303 fr.Controls["__EVENTTARGET"].Value = "DetailsView1";
1304 fr.Controls["__EVENTARGUMENT"].Value = "Delete$0";
1306 pageHTML = t.Run ();
1307 pageHTML = pageHTML.Substring (pageHTML.IndexOf ("starttest") + 9, pageHTML.IndexOf ("endtest") - pageHTML.IndexOf ("starttest") - 9);
1308 string origHtmlValue = @" <div>
1309
1311 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1313 <td>ID</td><td>1002</td>
1315 <td>FName</td><td>Melanie</td>
1317 <td>LName</td><td>Talmadge</td>
1319 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1','Edit$0')"">Edit</a> <a href=""javascript:__doPostBack('DetailsView1','Delete$0')"">Delete</a> <a href=""javascript:__doPostBack('DetailsView1','New$0')"">New</a></td>
1321 <td colspan=""2""><table border=""0"">
1323 <td><span>1</span></td><td><a href=""javascript:__doPostBack('DetailsView1','Page$2')"">2</a></td>
1331 HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "DeleteDataPostback");
1332 Assert.AreEqual (false, pageHTML.Contains ("1001"), "AfterDeletePostback");
1339 [Category ("NunitWeb")]
1340 [Category ("NotWorking")]
1341 public void DetailsView_InsertPostback ()
1344 WebTest t = new WebTest ("DetailsViewDataActions.aspx");
1345 string pageHTML = t.Run ();
1346 Assert.AreEqual (true, pageHTML.Contains ("1001"), "BeforeDeletePostback");
1347 FormRequest fr = new FormRequest (t.Response, "form1");
1348 fr.Controls.Add ("__EVENTTARGET");
1349 fr.Controls.Add ("__EVENTARGUMENT");
1350 fr.Controls["__EVENTTARGET"].Value = "DetailsView1";
1351 fr.Controls["__EVENTARGUMENT"].Value = "New$0";
1353 pageHTML = t.Run ();
1354 pageHTML = pageHTML.Substring (pageHTML.IndexOf ("starttest") + 9, pageHTML.IndexOf ("endtest") - pageHTML.IndexOf ("starttest") - 9);
1355 string origHtmlValue = @" <div>
1356
1358 <table cellspacing=""0"" rules=""all"" border=""1"" id=""DetailsView1"" style=""height:50px;width:125px;border-collapse:collapse;"">
1360 <td>ID</td><td><input name=""DetailsView1$ctl01"" type=""text"" title=""ID"" /></td>
1362 <td>FName</td><td><input name=""DetailsView1$ctl02"" type=""text"" title=""FName"" /></td>
1364 <td>LName</td><td><input name=""DetailsView1$ctl03"" type=""text"" title=""LName"" /></td>
1366 <td colspan=""2""><a href=""javascript:__doPostBack('DetailsView1$ctl04','')"">Insert</a> <a href=""javascript:__doPostBack('DetailsView1','Cancel$-1')"">Cancel</a></td>
1372 HtmlDiff.AssertAreEqual (origHtmlValue, pageHTML, "InsertDataPostback");
1377 [Category ("NotWorking")]
1378 public void DetailsView_ViewState ()
1380 PokerDetailsView dv = new PokerDetailsView ();
1381 PokerDetailsView copy = new PokerDetailsView ();
1382 dv.HeaderText = "Header";
1383 dv.GridLines = GridLines.Vertical;
1384 dv.CssClass = "style.css";
1385 object state = dv.SaveState ();
1386 copy.LoadState (state);
1387 Assert.AreEqual ("Header", copy.HeaderText, "ViewStateHeaderText");
1388 Assert.AreEqual (GridLines.Vertical, copy.GridLines, "ViewStateGridLines");
1389 Assert.AreEqual ("style.css", copy.CssClass, "ViewStateCssClass");
1393 [Category ("NotWorking")]
1394 public void DetailsView_ControlState ()
1397 PokerDetailsView dv = new PokerDetailsView ();
1398 PokerDetailsView copy = new PokerDetailsView ();
1399 string[] keys = new String[2];
1402 dv.DataKeyNames = keys;
1403 dv.BackImageUrl = "photo.jpg";
1404 dv.DefaultMode = DetailsViewMode.Insert;
1405 object state = dv.DoSaveControlState ();
1406 copy.DoLoadControlState (state);
1407 Assert.AreEqual ("key1", copy.DataKeyNames[0], "ControlStateDataKeyValue");
1408 Assert.AreEqual ("key2", copy.DataKeyNames[1], "ControlStateDataKeyValue2");
1409 Assert.AreEqual (DetailsViewMode.Insert, copy.DefaultMode, "ControlStateDefaultMode");
1415 private bool itemCommand;
1416 private bool itemCreated;
1417 private bool itemDeleted;
1418 private bool itemDeleting;
1419 private bool itemInserted;
1420 private bool itemInserting;
1421 private bool itemUpdated;
1422 private bool itemUpdating;
1423 private bool modeChanged;
1424 private bool modeChanging;
1425 private bool pageIndexChanged;
1426 private bool pageIndexChanging;
1427 private bool pagePreLoad;
1428 private bool dataSourceViewChanged;
1429 private bool preRender;
1430 private bool unload;
1431 private int newPageIndex;
1433 public void ResetEvents ()
1436 itemCommand = false;
1437 itemCreated = false;
1438 itemDeleted = false;
1439 itemDeleting = false;
1440 itemInserted = false;
1441 itemInserting = false;
1442 itemUpdated = false;
1443 itemUpdating = false;
1444 modeChanged = false;
1445 modeChanging = false;
1446 pageIndexChanged = false;
1447 pageIndexChanging = false;
1448 pagePreLoad = false;
1449 dataSourceViewChanged = false;
1455 [Category ("NotWorking")]
1456 public void DetailsView_BubbleEvents ()
1459 DetailsViewCommandEventArgs com;
1460 PokerDetailsView dv = new PokerDetailsView ();
\r
1461 dv.DataSource = TableObject.CreateDataTable ();
1462 Page page = new Page ();
1463 Button bt = new Button ();
1464 dv.AllowPaging = true;
1465 page.Controls.Add (dv);
1466 dv.ItemCommand += new DetailsViewCommandEventHandler (dv_ItemCommand );
1467 dv.ItemDeleted += new DetailsViewDeletedEventHandler (dv_ItemDeleted );
1469 dv.ItemDeleting += new DetailsViewDeleteEventHandler (dv_ItemDeleting );
1470 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Delete", null));
1471 Assert.AreEqual (false, itemCommand, "BeforeDeleteCommandBubbleEvent");
1472 Assert.AreEqual (false, itemDeleting, "BeforeDeleteBubbleEvent");
1473 dv.DoOnBubbleEvent (bt, com);
1474 Assert.AreEqual (true, itemDeleting, "AfterDeleteBubbleEvent");
1475 Assert.AreEqual (true, itemCommand, "AfterDeleteCommandBubbleEvent");
1478 itemCommand = false;
1479 dv.ItemInserting += new DetailsViewInsertEventHandler (dv_ItemInserting);
1480 dv.ChangeMode (DetailsViewMode.Insert);
1481 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Insert", null));
1482 Assert.AreEqual (false, itemCommand, "BeforeInsertCommandBubbleEvent");
1483 Assert.AreEqual (false, itemInserting, "BeforeInsertBubbleEvent");
1484 dv.DoOnBubbleEvent (bt, com);
1485 Assert.AreEqual (true, itemCommand, "AfterInsertCommandBubbleEvent");
1486 Assert.AreEqual (true, itemInserting, "AfterInsertBubbleEvent");
1489 itemCommand = false;
1490 dv.ItemUpdating += new DetailsViewUpdateEventHandler (dv_ItemUpdating);
1491 dv.ChangeMode (DetailsViewMode.Edit);
1492 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Update", null));
1493 Assert.AreEqual (false, itemUpdating, "BeforeUpdateEvent");
1494 Assert.AreEqual (false, itemCommand, "BeforeUpdateCommandEvent");
1495 dv.DoOnBubbleEvent (bt, com);
1496 Assert.AreEqual (true, itemCommand, "AfterUpdateCommandBubbleEvent");
1497 Assert.AreEqual (true, itemUpdating, "AfterUpdateBubbleEvent");
1500 itemCommand = false;
1501 dv.ModeChanging += new DetailsViewModeEventHandler (dv_ModeChanging);
1502 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Cancel", null));
1503 Assert.AreEqual (false, itemCommand, "BeforeCancelCommandBubbleEvent");
1504 Assert.AreEqual (false, modeChanging, "BeforeCancelBubbleEvent");
1505 dv.DoOnBubbleEvent (bt, com);
1506 Assert.AreEqual (true, itemCommand, "AfterCancelCommandBubbleEvent");
1507 Assert.AreEqual (true, modeChanging, "AfterCancelBubbleEvent");
1510 itemCommand = false;
1511 modeChanging = false;
1512 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Edit", null));
1513 Assert.AreEqual (false, itemCommand, "BeforeEditCommandBubbleEvent");
1514 Assert.AreEqual (false, modeChanging, "BeforeEditBubbleEvent");
1515 dv.DoOnBubbleEvent (bt, com);
1516 Assert.AreEqual (true, itemCommand, "AfterEditCommandBubbleEvent");
1517 Assert.AreEqual (true, modeChanging, "AfterEditBubbleEvent");
1520 itemCommand = false;
1521 modeChanging = false;
1522 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("New", null));
1523 Assert.AreEqual (false, itemCommand, "BeforeNewCommandBubbleEvent");
1524 Assert.AreEqual (false, modeChanging, "BeforeNewBubbleEvent");
1525 dv.DoOnBubbleEvent (bt, com);
1526 Assert.AreEqual (true, itemCommand, "AfterNewCommandBubbleEvent");
1527 Assert.AreEqual (true, modeChanging, "AfterNewBubbleEvent");
1529 //Page Index default
1530 itemCommand = false;
1531 dv.PageIndexChanging += new DetailsViewPageEventHandler (dv_PageIndexChanging );
1532 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", null));
1533 Assert.AreEqual (false, itemCommand, "BeforePageCommandBubbleEvent");
1534 Assert.AreEqual (false, pageIndexChanging, "BeforePageBubbleEvent");
1535 dv.DoOnBubbleEvent (bt, com);
1536 Assert.AreEqual (true, itemCommand, "AfterPageCommandBubbleEvent");
1537 Assert.AreEqual (true, pageIndexChanging, "AfterPageBubbleEvent");
1540 itemCommand = false;
1541 pageIndexChanging = false;
1542 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Next"));
1543 Assert.AreEqual (false, itemCommand, "BeforeNextPageCommandBubbleEvent");
1544 Assert.AreEqual (false, pageIndexChanging, "BeforeNextPageBubbleEvent");
1545 dv.DoOnBubbleEvent (bt, com);
1546 Assert.AreEqual (true, itemCommand, "AfterNextPageCommandBubbleEvent");
1547 Assert.AreEqual (true, pageIndexChanging, "AfterNextPageBubbleEvent");
1548 Assert.AreEqual (1, newPageIndex, "NextPageIndex");
1551 itemCommand = false;
1552 pageIndexChanging = false;
1553 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Prev"));
1554 Assert.AreEqual (false, itemCommand, "BeforePrevPageCommandBubbleEvent");
1555 Assert.AreEqual (false, pageIndexChanging, "BeforePrevPageBubbleEvent");
1556 dv.DoOnBubbleEvent (bt, com);
1557 Assert.AreEqual (true, itemCommand, "AfterPrevPageCommandBubbleEvent");
1558 Assert.AreEqual (true, pageIndexChanging, "AfterPrevPageBubbleEvent");
1559 Assert.AreEqual (-1, newPageIndex, "PrevPageIndex");
1562 itemCommand = false;
1563 pageIndexChanging = false;
1564 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "First"));
1565 Assert.AreEqual (false, itemCommand, "BeforeFirstPageCommandBubbleEvent");
1566 Assert.AreEqual (false, pageIndexChanging, "BeforeFirstPageBubbleEvent");
1567 dv.DoOnBubbleEvent (bt, com);
1568 Assert.AreEqual (true, itemCommand, "AfterFirstPageCommandBubbleEvent");
1569 Assert.AreEqual (true, pageIndexChanging, "AfterFirstPageBubbleEvent");
1570 Assert.AreEqual (0, newPageIndex, "FirstPageIndex");
1573 itemCommand = false;
1574 pageIndexChanging = false;
1575 com = new DetailsViewCommandEventArgs (bt, new CommandEventArgs ("Page", "Last"));
1576 Assert.AreEqual (false, itemCommand, "BeforeLastPageCommandBubbleEvent");
1577 Assert.AreEqual (false, pageIndexChanging, "BeforeLastPageBubbleEvent");
1578 dv.DoOnBubbleEvent (bt, com);
1579 Assert.AreEqual (true, itemCommand, "AfterLastPageCommandBubbleEvent");
1580 Assert.AreEqual (true, pageIndexChanging, "AfterLastPageBubbleEvent");
1581 Assert.AreEqual (-1, newPageIndex, "FirstPageIndex");
1586 [Category ("NotWorking")]
1587 public void DetailsView_Events ()
1590 PokerDetailsView dv = new PokerDetailsView ();
1591 Button bt = new Button ();
1592 Page pg = new Page ();
\r
1594 dv.Init += new EventHandler (dv_Init);
1595 dv.ItemCommand += new DetailsViewCommandEventHandler (dv_ItemCommand);
1596 dv.ItemCreated += new EventHandler (dv_ItemCreated);
1597 dv.ItemDeleted += new DetailsViewDeletedEventHandler (dv_ItemDeleted);
1598 dv.ItemDeleting += new DetailsViewDeleteEventHandler (dv_ItemDeleting);
1599 dv.ItemInserted += new DetailsViewInsertedEventHandler (dv_ItemInserted);
1600 dv.ItemInserting += new DetailsViewInsertEventHandler (dv_ItemInserting);
1601 dv.ItemUpdated += new DetailsViewUpdatedEventHandler (dv_ItemUpdated);
1602 dv.ItemUpdating += new DetailsViewUpdateEventHandler (dv_ItemUpdating);
1603 dv.ModeChanged += new EventHandler (dv_ModeChanged);
1604 dv.ModeChanging += new DetailsViewModeEventHandler (dv_ModeChanging);
1605 dv.PageIndexChanged += new EventHandler (dv_PageIndexChanged);
1606 dv.PageIndexChanging += new DetailsViewPageEventHandler (dv_PageIndexChanging);
1607 dv.DataBound += new EventHandler (dv_DataBound);
1608 dv.PreRender += new EventHandler (dv_PreRender);
1609 dv.Unload += new EventHandler (dv_Unload);
1610 Assert.AreEqual (false, init, "BeforeInit");
1611 dv.DoOnInit (new EventArgs ());
1612 Assert.AreEqual (true, init, "AfterInit");
1613 Assert.AreEqual (false, itemCommand, "BeforeItemCommand");
1614 dv.DoOnItemCommand (new DetailsViewCommandEventArgs (bt,new CommandEventArgs ("",null)));
1615 Assert.AreEqual (true, itemCommand , "AfterItemCommand");
1616 Assert.AreEqual (false, itemCreated, "BeforeItemCreated");
1617 dv.DoOnItemCreated (new EventArgs ());
1618 Assert.AreEqual (true, itemCreated, "AfterItemCreated");
1619 Assert.AreEqual (false, itemDeleted, "BeforeItemDeleted");
1620 dv.DoOnItemDeleted (new DetailsViewDeletedEventArgs (3, new Exception ()));
1621 Assert.AreEqual (true, itemDeleted, "AfterItemDeleted");
1622 Assert.AreEqual (false, itemDeleting, "BeforeItemDeleting");
1623 dv.DoOnItemDeleting(new DetailsViewDeleteEventArgs (2));
1624 Assert.AreEqual (true, itemDeleting, "AfterItemDeleting");
1625 Assert.AreEqual (false, itemInserted, "BeforeItemInserted");
1626 dv.DoOnItemInserted (new DetailsViewInsertedEventArgs (3,new Exception()));
1627 Assert.AreEqual (true, itemInserted, "AfterItemInserted");
1628 Assert.AreEqual (false, itemInserting, "BeforeItemInserting");
1629 dv.DoOnItemInserting (new DetailsViewInsertEventArgs (bt));
1630 Assert.AreEqual (true, itemInserting, "AfterItemInserting");
1631 Assert.AreEqual (false, itemUpdated, "BeforeItemUpdated");
1632 dv.DoOnItemUpdated (new DetailsViewUpdatedEventArgs (2,new Exception()));
1633 Assert.AreEqual (true, itemUpdated, "AfterItemUpdated");
1634 Assert.AreEqual (false, itemUpdating, "BeforeItemUpdating");
1635 dv.DoOnItemUpdating (new DetailsViewUpdateEventArgs (bt));
1636 Assert.AreEqual (true, itemUpdating, "AfterItemUpdating");
1637 Assert.AreEqual (false, modeChanged, "BeforeModeChanged");
1638 dv.DoOnModeChanged (new EventArgs ());
1639 Assert.AreEqual (true, modeChanged, "AfterModeChanged");
1640 Assert.AreEqual (false, modeChanging, "BeforeModeChanging");
1641 dv.DoOnModeChanging (new DetailsViewModeEventArgs (DetailsViewMode.Insert ,false));
1642 Assert.AreEqual (true, modeChanging, "AfterModeChanging");
1643 Assert.AreEqual (false, pageIndexChanged, "BeforePageIndexChanged");
1644 dv.DoOnPageIndexChanged (new EventArgs ());
1645 Assert.AreEqual (true, pageIndexChanged, "AfterPageIndexChanged");
1646 Assert.AreEqual (false, pageIndexChanging, "BeforePageIndexChanging");
1647 dv.DoOnPageIndexChanging (new DetailsViewPageEventArgs (2));
1648 Assert.AreEqual (true, pageIndexChanging, "AfterPageIndexChanging");
1649 //Assert.AreEqual (false, pagePreLoad, "BeforePagePreLoad");
1650 //dv.DoOnPagePreLoad (pg, new EventArgs ());
1651 //Assert.AreEqual (true, pagePreLoad, "AfterPagePreLoad");
1652 Assert.AreEqual (false, preRender, "BeforePreRender");
1653 dv.DoOnPreRender(new EventArgs ());
1654 Assert.AreEqual (true, preRender, "AfterPreRender");
1655 Assert.AreEqual (false, unload, "BeforeUnload");
1656 dv.DoOnUnload (new EventArgs ());
1657 Assert.AreEqual (true, unload, "AfterUnload");
1658 //Assert.AreEqual (false, dataSourceViewChanged, "BeforeDataSourceViewChanged");
1659 //dv.DoOnDataSourceViewChanged (bt, new EventArgs ());
1660 //Assert.AreEqual (true, dataSourceViewChanged, "AfterDataSourceViewChanged");
1667 void dv_DataBound(object sender, EventArgs e)
1669 dataSourceViewChanged = true;
1673 void dv_Unload (object sender, EventArgs e)
1678 void dv_PreRender (object sender, EventArgs e)
1683 void dv_PageIndexChanging (object sender, DetailsViewPageEventArgs e)
1685 pageIndexChanging = true;
1686 newPageIndex = e.NewPageIndex;
1689 void dv_PageIndexChanged (object sender, EventArgs e)
1691 pageIndexChanged = true;
1694 void dv_ModeChanging (object sender, DetailsViewModeEventArgs e)
1696 modeChanging = true;
1699 void dv_ModeChanged (object sender, EventArgs e)
1707 void dv_ItemUpdating (object sender, DetailsViewUpdateEventArgs e)
1709 itemUpdating = true;
1712 void dv_ItemUpdated (object sender, DetailsViewUpdatedEventArgs e)
1717 void dv_ItemInserting (object sender, DetailsViewInsertEventArgs e)
1719 itemInserting = true;
1722 void dv_ItemInserted (object sender, DetailsViewInsertedEventArgs e)
1724 itemInserted = true;
1727 void dv_ItemDeleting (object sender, DetailsViewDeleteEventArgs e)
1729 itemDeleting = true;
1732 void dv_ItemDeleted (object sender, DetailsViewDeletedEventArgs e)
1737 void dv_ItemCreated (object sender, EventArgs e)
1742 void dv_ItemCommand (object sender, DetailsViewCommandEventArgs e)
1747 void dv_Init (object sender, EventArgs e)
1755 [Category ("NotWorking")]
1756 [ExpectedException (typeof (ArgumentOutOfRangeException))]
1757 public void CellPaddingException ()
1759 PokerDetailsView dv = new PokerDetailsView ();
1760 dv.CellPadding = -2;
1764 [Category ("NotWorking")]
1765 [ExpectedException (typeof (ArgumentOutOfRangeException))]
1766 public void CellSpacingException ()
1768 PokerDetailsView dv = new PokerDetailsView ();
1769 dv.CellSpacing = -5;
1773 [Category ("NotWorking")]
1774 [ExpectedException (typeof (ArgumentOutOfRangeException))]
1775 public void PageIndexException ()
1777 PokerDetailsView dv = new PokerDetailsView ();
1782 [Category ("NotWorking")]
1783 [ExpectedException (typeof (HttpException))]
1784 public void InsertItemException ()
1786 PokerDetailsView dv = new PokerDetailsView ();
1787 dv.InsertItem (true);
1791 [Category ("NotWorking")]
1792 [ExpectedException (typeof (HttpException))]
1793 public void UpdateItemException ()
1795 PokerDetailsView dv = new PokerDetailsView ();
1796 dv.UpdateItem (true);
1803 public class DTemplate : ITemplate
1806 Label l = new Label ();
1807 #region ITemplate Members
1809 public void InstantiateIn (Control container)
1811 container.Controls.Add (l);
1815 public void SetDataItem (object value)
1817 l.Text = value.ToString ();
1823 public class TableObject
1825 public static DataTable ds = CreateDataTable ();
1826 public static DataTable GetMyData ()
1831 public static DataTable Delete (string ID, string FName, string LName)
1833 DataRow dr = ds.Rows.Find (ID);
\r
1834 Assert.IsNotNull (dr);
\r
1835 int oldCount = ds.Rows.Count;
1836 ds.Rows.Remove (dr);
\r
1837 Assert.AreEqual (oldCount - 1, ds.Rows.Count);
1842 public static DataTable Update (string ID, string FName, string LName)
1844 DataRow dr = ds.Rows.Find (ID);
1846 Label lbl = new Label ();
1847 lbl.Text = "ID doesn't exist. update only FName and LName";
1850 dr["FName"] = FName;
1851 dr["LName"] = LName;
1856 public static DataTable Insert (string ID, string FName, string LName)
1858 DataRow dr = ds.NewRow ();
1860 dr["FName"] = FName;
1861 dr["LName"] = LName;
\r
1862 int oldCount = ds.Rows.Count;
\r
1864 Assert.AreEqual (oldCount + 1, ds.Rows.Count);
\r
1869 public static DataTable CreateDataTable ()
1872 DataTable aTable = new DataTable ("A");
1876 // Create ID column and add to the DataTable.
1878 dtCol = new DataColumn ();
1879 dtCol.DataType = Type.GetType ("System.Int32");
1880 dtCol.ColumnName = "ID";
1881 dtCol.AutoIncrement = true;
1882 dtCol.Caption = "ID";
1883 dtCol.ReadOnly = true;
1884 dtCol.Unique = true;
1886 // Add the column to the DataColumnCollection.
1888 aTable.Columns.Add (dtCol);
1890 // Create Name column and add to the table
1892 dtCol = new DataColumn ();
1893 dtCol.DataType = Type.GetType ("System.String");
1894 dtCol.ColumnName = "FName";
1895 dtCol.AutoIncrement = false;
1896 dtCol.Caption = "First Name";
1897 dtCol.ReadOnly = false;
1898 dtCol.Unique = false;
1899 aTable.Columns.Add (dtCol);
1902 // Create Last Name column and add to the table.
1904 dtCol = new DataColumn ();
1905 dtCol.DataType = Type.GetType ("System.String");
1906 dtCol.ColumnName = "LName";
1907 dtCol.AutoIncrement = false;
1908 dtCol.Caption = "Last Name";
1909 dtCol.ReadOnly = false;
1910 dtCol.Unique = false;
1911 aTable.Columns.Add (dtCol);
1914 // Create three rows to the table
1915 dtRow = aTable.NewRow ();
1917 dtRow["FName"] = "Mahesh";
1918 dtRow["LName"] = "Chand";
1919 aTable.Rows.Add (dtRow);
1922 dtRow = aTable.NewRow ();
1924 dtRow["FName"] = "Melanie";
1925 dtRow["LName"] = "Talmadge";
1926 aTable.Rows.Add (dtRow);
1928 dtRow = aTable.NewRow ();
1930 dtRow["FName"] = "Vinay";
1931 dtRow["LName"] = "Bansal";
1932 aTable.Rows.Add (dtRow);
1934 aTable.PrimaryKey = new DataColumn[] { aTable.Columns["ID"] };