2007-02-04 yonik <yonik@mainsoft.com>
[mono.git] / mcs / class / System.Web / Test / System.Web.UI.WebControls / DataGridColumnTest.cs
1 //
2 // DataGridColumnTest.cs
3 //      - Unit tests for System.Web.UI.WebControls.DataGridColumn
4 //
5 // Author:
6 //      Dick Porter  <dick@ximian.com>
7 //
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
9 //
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:
17 // 
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 // 
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.
28 //
29
30 using System;
31 using System.IO;
32 using System.Web;
33 using System.Web.UI;
34 using System.Web.UI.WebControls;
35 //using System.Drawing;
36 using SDColor = System.Drawing.Color;
37
38 using NUnit.Framework;
39
40 namespace MonoTests.System.Web.UI.WebControls {
41         public class TestDataGridColumn : DataGridColumn 
42         {
43                 public StateBag GetViewState ()
44                 {
45                         return (ViewState);
46                 }
47
48                 public bool GetDesignMode ()
49                 {
50                         return (DesignMode);
51                 }
52
53                 public DataGrid GetOwner ()
54                 {
55                         return (Owner);
56                 }
57         }
58         
59         [TestFixture]
60         public class DataGridColumnTest {
61
62                 [Test]
63                 public void DefaultProperties ()
64                 {
65                         TestDataGridColumn d = new TestDataGridColumn ();
66
67                         TableItemStyle tis = d.FooterStyle;
68                         
69                         Assert.IsNotNull (tis, "FooterStyle");
70                         Assert.AreEqual (tis.GetType (), typeof (TableItemStyle), "typeof FooterStyle");
71                         Assert.AreEqual (SDColor.Empty, tis.BackColor, "FooterStyle.BackColor");
72                         Assert.AreEqual (SDColor.Empty, tis.BorderColor, "FooterStyle.BorderColor");
73                         Assert.AreEqual (BorderStyle.NotSet, tis.BorderStyle, "FooterStyle.BorderStyle");
74                         Assert.AreEqual (Unit.Empty, tis.BorderWidth, "FooterStyle.BorderWidth");
75                         Assert.IsNull (tis.Container, "FooterStyle.Container");
76                         Assert.AreEqual (String.Empty, tis.CssClass, "FooterStyle.CssClass");
77                         FontInfo fi = tis.Font;
78
79                         Assert.IsNotNull (fi, "FooterStyle.FontInfo");
80                         Assert.IsFalse (fi.Bold, "FooterStyle.FontInfo.Bold");
81                         Assert.IsFalse (fi.Italic, "FooterStyle.FontInfo.Italic");
82                         Assert.AreEqual (String.Empty, fi.Name, "FooterStyle.FontInfo.Name");
83                         Assert.AreEqual (0, fi.Names.Length, "FooterStyle.FontInfo.Names.Length");
84                         Assert.IsFalse (fi.Overline, "FooterStyle.FontInfo.Overline");
85                         Assert.IsNotNull (fi.Size, "FooterStyle.FontInfo.Size");
86                         Assert.IsFalse (fi.Strikeout, "FooterStyle.FontInfo.Strikeout");
87                         Assert.IsFalse (fi.Underline, "FooterStyle.FontInfo.Underline");
88                         
89                         
90                         Assert.AreEqual (String.Empty, d.FooterText, "FooterText");
91                         Assert.AreEqual (String.Empty, d.HeaderImageUrl, "HeaderImageUrl");
92
93                         tis = d.HeaderStyle;
94                         
95                         Assert.IsNotNull (tis, "HeaderStyle");
96                         Assert.AreEqual (tis.GetType (), typeof (TableItemStyle), "typeof HeaderStyle");
97                         Assert.AreEqual (SDColor.Empty, tis.BackColor, "HeaderStyle.BackColor");
98                         Assert.AreEqual (SDColor.Empty, tis.BorderColor, "HeaderStyle.BorderColor");
99                         Assert.AreEqual (BorderStyle.NotSet, tis.BorderStyle, "HeaderStyle.BorderStyle");
100                         Assert.AreEqual (Unit.Empty, tis.BorderWidth, "HeaderStyle.BorderWidth");
101                         Assert.IsNull (tis.Container, "HeaderStyle.Container");
102                         Assert.AreEqual (String.Empty, tis.CssClass, "HeaderStyle.CssClass");
103                         fi = tis.Font;
104
105                         Assert.IsNotNull (fi, "HeaderStyle.FontInfo");
106                         Assert.IsFalse (fi.Bold, "HeaderStyle.FontInfo.Bold");
107                         Assert.IsFalse (fi.Italic, "HeaderStyle.FontInfo.Italic");
108                         Assert.AreEqual (String.Empty, fi.Name, "HeaderStyle.FontInfo.Name");
109                         Assert.AreEqual (0, fi.Names.Length, "HeaderStyle.FontInfo.Names.Length");
110                         Assert.IsFalse (fi.Overline, "HeaderStyle.FontInfo.Overline");
111                         Assert.IsNotNull (fi.Size, "HeaderStyle.FontInfo.Size");
112                         Assert.IsFalse (fi.Strikeout, "HeaderStyle.FontInfo.Strikeout");
113                         Assert.IsFalse (fi.Underline, "HeaderStyle.FontInfo.Underline");
114
115                         Assert.AreEqual (String.Empty, d.HeaderText, "HeaderText");
116
117                         tis = d.ItemStyle;
118                         
119                         Assert.IsNotNull (tis, "ItemStyle");
120                         Assert.AreEqual (tis.GetType (), typeof (TableItemStyle), "typeof ItemStyle");
121                         Assert.AreEqual (SDColor.Empty, tis.BackColor, "ItemStyle.BackColor");
122                         Assert.AreEqual (SDColor.Empty, tis.BorderColor, "ItemStyle.BorderColor");
123                         Assert.AreEqual (BorderStyle.NotSet, tis.BorderStyle, "ItemStyle.BorderStyle");
124                         Assert.AreEqual (Unit.Empty, tis.BorderWidth, "ItemStyle.BorderWidth");
125                         Assert.IsNull (tis.Container, "ItemStyle.Container");
126                         Assert.AreEqual (String.Empty, tis.CssClass, "ItemStyle.CssClass");
127                         fi = tis.Font;
128
129                         Assert.IsNotNull (fi, "ItemStyle.FontInfo");
130                         Assert.IsFalse (fi.Bold, "ItemStyle.FontInfo.Bold");
131                         Assert.IsFalse (fi.Italic, "ItemStyle.FontInfo.Italic");
132                         Assert.AreEqual (String.Empty, fi.Name, "ItemStyle.FontInfo.Name");
133                         Assert.AreEqual (0, fi.Names.Length, "ItemStyle.FontInfo.Names.Length");
134                         Assert.IsFalse (fi.Overline, "ItemStyle.FontInfo.Overline");
135                         Assert.IsNotNull (fi.Size, "ItemStyle.FontInfo.Size");
136                         Assert.IsFalse (fi.Strikeout, "ItemStyle.FontInfo.Strikeout");
137                         Assert.IsFalse (fi.Underline, "ItemStyle.FontInfo.Underline");
138
139
140                         Assert.AreEqual (String.Empty, d.SortExpression, "SortExpression");
141                         Assert.IsTrue (d.Visible, "Visible");
142                         Assert.IsFalse (d.GetDesignMode (), "DesignMode");
143                         Assert.IsNull (d.GetOwner (), "Owner");
144                         Assert.AreEqual (0, d.GetViewState ().Count, "ViewState");
145                 }
146                 
147                 [Test]
148                 public void NullProperties ()
149                 {
150                         TestDataGridColumn d = new TestDataGridColumn ();
151                         
152                         d.FooterText = null;
153                         Assert.AreEqual (String.Empty, d.FooterText, "FooterText");
154                         d.HeaderImageUrl = null;
155                         Assert.AreEqual (String.Empty, d.HeaderImageUrl, "HeaderImageUrl");
156                         d.HeaderText = null;
157                         Assert.AreEqual (String.Empty, d.HeaderText, "HeaderText");
158                         d.SortExpression = null;
159                         Assert.AreEqual (String.Empty, d.SortExpression, "SortExpression");
160                         d.Visible = false;
161                         Assert.IsFalse (d.Visible, "Visible");
162                         
163                         /* Visible remains in the ViewState */
164                         Assert.AreEqual (1, d.GetViewState ().Count, "ViewState.Count");
165                 }
166
167                 [Test]
168                 public void CleanProperties ()
169                 {
170                         TestDataGridColumn d = new TestDataGridColumn ();
171
172                         d.FooterText = "*footer-text*";
173                         Assert.AreEqual ("*footer-text*", d.FooterText, "FooterText set");
174                         d.HeaderImageUrl = "*header-image-url*";
175                         Assert.AreEqual ("*header-image-url*", d.HeaderImageUrl, "HeaderImageUrl set");
176                         d.HeaderText = "*header-text*";
177                         Assert.AreEqual ("*header-text*", d.HeaderText, "HeaderText set");
178                         d.SortExpression = "*sort-expression*";
179                         Assert.AreEqual ("*sort-expression*", d.SortExpression, "SortExpression set");
180                         d.Visible = true;
181                         Assert.IsTrue (d.Visible, "Visible set");
182                         
183                         Assert.AreEqual (5, d.GetViewState().Count, "ViewState.Count");
184
185                         d.FooterText = null;
186                         d.HeaderImageUrl = null;
187                         d.HeaderText = null;
188                         d.SortExpression = null;
189                         d.Visible = false;
190
191                         /* Visible remains in the ViewState */
192                         Assert.AreEqual (1, d.GetViewState ().Count, "ViewState.Count after clear");
193                 }
194
195                 [Test]
196                 public void TestToString ()
197                 {
198                         TestDataGridColumn d = new TestDataGridColumn ();
199
200                         Assert.AreEqual (String.Empty, d.ToString (), "ToString");
201                 }
202
203                 [Test]
204                 public void TestInitialize ()
205                 {
206                         DataGrid grid = new DataGrid ();
207                         TestDataGridColumn d = new TestDataGridColumn ();
208                         
209                         /* Test DesignMode if I find a class that
210                          * implements ISite
211                          */
212                         Assert.IsNull (d.GetOwner (), "Owner before Add");
213                         
214                         grid.Columns.Add (d);
215                         Assert.AreEqual (grid, d.GetOwner (), "Owner after Add");
216                 }
217
218                 [Test]
219                 public void TestInitializeCell ()
220                 {
221                         DataGrid grid = new DataGrid ();
222                         TestDataGridColumn d = new TestDataGridColumn ();
223
224                         
225                         TableItemStyle footer_style = d.FooterStyle;
226                         footer_style.CssClass = "*footer-style*";
227                         footer_style.BackColor = SDColor.YellowGreen;
228                         
229                         TableItemStyle header_style = d.HeaderStyle;
230                         header_style.CssClass = "*header-style*";
231                         header_style.BackColor = SDColor.ForestGreen;
232                         
233                         TableItemStyle item_style = d.ItemStyle;
234                         item_style.CssClass = "*item-style*";
235                         item_style.BackColor = SDColor.RoyalBlue;
236                         
237                         grid.Columns.Add (d);
238                         grid.AllowSorting = false;
239
240                         Assert.AreEqual ("*footer-style*", d.FooterStyle.CssClass, "Footer style");
241                         Assert.AreEqual (SDColor.YellowGreen, d.FooterStyle.BackColor, "Footer background");
242                         Assert.AreEqual ("*header-style*", d.HeaderStyle.CssClass, "Header style");
243                         Assert.AreEqual (SDColor.ForestGreen, d.HeaderStyle.BackColor, "Header background");
244                         Assert.AreEqual ("*item-style*", d.ItemStyle.CssClass, "Item style");
245                         Assert.AreEqual (SDColor.RoyalBlue, d.ItemStyle.BackColor, "Item background");
246                         
247                         /* not sorted, text, no sort expression, no
248                          * header/footer text
249                          */
250                         TableCell header_cell_ns_t_ne_nhft = new TableCell ();
251                         TableCell footer_cell_ns_t_ne_nhft = new TableCell ();
252                         TableCell item_cell_ns_t_ne_nhft = new TableCell ();
253                         TableCell alternatingitem_cell_ns_t_ne_nhft = new TableCell ();
254                         TableCell selecteditem_cell_ns_t_ne_nhft = new TableCell ();
255                         TableCell edititem_cell_ns_t_ne_nhft = new TableCell ();
256                         TableCell separator_cell_ns_t_ne_nhft = new TableCell ();
257                         TableCell pager_cell_ns_t_ne_nhft = new TableCell ();
258
259                         d.InitializeCell (header_cell_ns_t_ne_nhft, 0, ListItemType.Header);
260                         d.InitializeCell (footer_cell_ns_t_ne_nhft, 0, ListItemType.Footer);
261                         d.InitializeCell (item_cell_ns_t_ne_nhft, 0, ListItemType.Item);
262                         d.InitializeCell (alternatingitem_cell_ns_t_ne_nhft, 0, ListItemType.AlternatingItem);
263                         d.InitializeCell (selecteditem_cell_ns_t_ne_nhft, 0, ListItemType.SelectedItem);
264                         d.InitializeCell (edititem_cell_ns_t_ne_nhft, 0, ListItemType.EditItem);
265                         d.InitializeCell (separator_cell_ns_t_ne_nhft, 0, ListItemType.Separator);
266                         d.InitializeCell (pager_cell_ns_t_ne_nhft, 0, ListItemType.Pager);
267
268                         Assert.AreEqual (String.Empty, header_cell_ns_t_ne_nhft.ControlStyle.CssClass, "Header ns_t_ne_nhft control style");
269                         Assert.AreEqual (String.Empty, header_cell_ns_t_ne_nhft.CssClass, "Header ns_t_ne_nhft style");
270                         Assert.AreEqual (SDColor.Empty, header_cell_ns_t_ne_nhft.ControlStyle.BackColor, "Header ns_t_ne_nhft control background");
271                         Assert.AreEqual (SDColor.Empty, header_cell_ns_t_ne_nhft.BackColor, "Header ns_t_ne_nhft background");
272                         Assert.AreEqual (String.Empty, footer_cell_ns_t_ne_nhft.ControlStyle.CssClass, "Footer ns_t_ne_nhft control style");
273                         Assert.AreEqual (String.Empty, footer_cell_ns_t_ne_nhft.CssClass, "Footer ns_t_ne_nhft style");
274                         Assert.AreEqual (SDColor.Empty, footer_cell_ns_t_ne_nhft.ControlStyle.BackColor, "Footer ns_t_ne_nhft control background");
275                         Assert.AreEqual (SDColor.Empty, footer_cell_ns_t_ne_nhft.BackColor, "Footer ns_t_ne_nhft background");
276                         Assert.AreEqual (String.Empty, item_cell_ns_t_ne_nhft.ControlStyle.CssClass, "Item ns_t_ne_nhft control style");
277                         Assert.AreEqual (String.Empty, item_cell_ns_t_ne_nhft.CssClass, "Item ns_t_ne_nhft style");
278                         Assert.AreEqual (SDColor.Empty, item_cell_ns_t_ne_nhft.ControlStyle.BackColor, "Item ns_t_ne_nhft control background");
279                         Assert.AreEqual (SDColor.Empty, item_cell_ns_t_ne_nhft.BackColor, "Item ns_t_ne_nhft background");
280                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_t_ne_nhft.ControlStyle.CssClass, "AlternatingItem ns_t_ne_nhft control style");
281                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_t_ne_nhft.CssClass, "AlternatingItem ns_t_ne_nhft style");
282                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_ns_t_ne_nhft.ControlStyle.BackColor, "AlternatingItem ns_t_ne_nhft control background");
283                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_ns_t_ne_nhft.BackColor, "AlternatingItem ns_t_ne_nhft background");
284                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_t_ne_nhft.ControlStyle.CssClass, "SelectedItem ns_t_ne_nhft control style");
285                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_t_ne_nhft.CssClass, "SelectedItem ns_t_ne_nhft style");
286                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_ns_t_ne_nhft.ControlStyle.BackColor, "SelectedItem ns_t_ne_nhft control background");
287                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_ns_t_ne_nhft.BackColor, "SelectedItem ns_t_ne_nhft background");
288                         Assert.AreEqual (String.Empty, edititem_cell_ns_t_ne_nhft.ControlStyle.CssClass, "EditItem ns_t_ne_nhft control style");
289                         Assert.AreEqual (String.Empty, edititem_cell_ns_t_ne_nhft.CssClass, "EditItem ns_t_ne_nhft style");
290                         Assert.AreEqual (SDColor.Empty, edititem_cell_ns_t_ne_nhft.ControlStyle.BackColor, "EditItem ns_t_ne_nhft control background");
291                         Assert.AreEqual (SDColor.Empty, edititem_cell_ns_t_ne_nhft.BackColor, "EditItem ns_t_ne_nhft background");
292                         Assert.AreEqual (String.Empty, separator_cell_ns_t_ne_nhft.ControlStyle.CssClass, "Separator ns_t_ne_nhft control style");
293                         Assert.AreEqual (String.Empty, separator_cell_ns_t_ne_nhft.CssClass, "Separator ns_t_ne_nhft style");
294                         Assert.AreEqual (SDColor.Empty, separator_cell_ns_t_ne_nhft.ControlStyle.BackColor, "Separator ns_t_ne_nhft control background");
295                         Assert.AreEqual (SDColor.Empty, separator_cell_ns_t_ne_nhft.BackColor, "Separator ns_t_ne_nhft background");
296                         Assert.AreEqual (String.Empty, pager_cell_ns_t_ne_nhft.ControlStyle.CssClass, "Pager ns_t_ne_nhft control style");
297                         Assert.AreEqual (String.Empty, pager_cell_ns_t_ne_nhft.CssClass, "Pager ns_t_ne_nhft style");
298                         Assert.AreEqual (SDColor.Empty, pager_cell_ns_t_ne_nhft.ControlStyle.BackColor, "Pager ns_t_ne_nhft control background");
299                         Assert.AreEqual (SDColor.Empty, pager_cell_ns_t_ne_nhft.BackColor, "Pager ns_t_ne_nhft background");
300
301                         Assert.AreEqual (0, header_cell_ns_t_ne_nhft.Controls.Count, "Header ns_t_ne_nhft controls count");
302                         Assert.AreEqual (0, footer_cell_ns_t_ne_nhft.Controls.Count, "Footer ns_t_ne_nhft controls count");
303                         Assert.AreEqual (0, item_cell_ns_t_ne_nhft.Controls.Count, "Item ns_t_ne_nhft controls count");
304                         Assert.AreEqual (0, alternatingitem_cell_ns_t_ne_nhft.Controls.Count, "AlternatingItem ns_t_ne_nhft controls count");
305                         Assert.AreEqual (0, selecteditem_cell_ns_t_ne_nhft.Controls.Count, "SelectedItem ns_t_ne_nhft controls count");
306                         Assert.AreEqual (0, edititem_cell_ns_t_ne_nhft.Controls.Count, "EditItem ns_t_ne_nhft controls count");
307                         Assert.AreEqual (0, separator_cell_ns_t_ne_nhft.Controls.Count, "Separator ns_t_ne_nhft controls count");
308                         Assert.AreEqual (0, pager_cell_ns_t_ne_nhft.Controls.Count, "Pager ns_t_ne_nhft controls count");
309
310                         Assert.AreEqual ("&nbsp;", header_cell_ns_t_ne_nhft.Text, "Header ns_t_ne_nhft text");
311                         Assert.AreEqual ("&nbsp;", footer_cell_ns_t_ne_nhft.Text, "Footer ns_t_ne_nhft text");
312                         Assert.AreEqual (String.Empty, item_cell_ns_t_ne_nhft.Text, "Item ns_t_ne_nhft text");
313                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_t_ne_nhft.Text, "AlternatingItem ns_t_ne_nhft text");
314                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_t_ne_nhft.Text, "SelectedItem ns_t_ne_nhft text");
315                         Assert.AreEqual (String.Empty, edititem_cell_ns_t_ne_nhft.Text, "EditItem ns_t_ne_nhft text");
316                         Assert.AreEqual (String.Empty, separator_cell_ns_t_ne_nhft.Text, "Separator ns_t_ne_nhft text");
317                         Assert.AreEqual (String.Empty, pager_cell_ns_t_ne_nhft.Text, "Pager ns_t_ne_nhft text");
318
319
320                         
321                         /* sorted, text, no sort expression, no
322                          * header/footer text
323                          */
324
325                         grid.AllowSorting = true;
326                         
327                         TableCell header_cell_s_t_ne_nhft = new TableCell ();
328                         TableCell footer_cell_s_t_ne_nhft = new TableCell ();
329                         TableCell item_cell_s_t_ne_nhft = new TableCell ();
330                         TableCell alternatingitem_cell_s_t_ne_nhft = new TableCell ();
331                         TableCell selecteditem_cell_s_t_ne_nhft = new TableCell ();
332                         TableCell edititem_cell_s_t_ne_nhft = new TableCell ();
333                         TableCell separator_cell_s_t_ne_nhft = new TableCell ();
334                         TableCell pager_cell_s_t_ne_nhft = new TableCell ();
335
336                         d.InitializeCell (header_cell_s_t_ne_nhft, 0, ListItemType.Header);
337                         d.InitializeCell (footer_cell_s_t_ne_nhft, 0, ListItemType.Footer);
338                         d.InitializeCell (item_cell_s_t_ne_nhft, 0, ListItemType.Item);
339                         d.InitializeCell (alternatingitem_cell_s_t_ne_nhft, 0, ListItemType.AlternatingItem);
340                         d.InitializeCell (selecteditem_cell_s_t_ne_nhft, 0, ListItemType.SelectedItem);
341                         d.InitializeCell (edititem_cell_s_t_ne_nhft, 0, ListItemType.EditItem);
342                         d.InitializeCell (separator_cell_s_t_ne_nhft, 0, ListItemType.Separator);
343                         d.InitializeCell (pager_cell_s_t_ne_nhft, 0, ListItemType.Pager);
344
345                         Assert.AreEqual (String.Empty, header_cell_s_t_ne_nhft.ControlStyle.CssClass, "Header s_t_ne_nhft control style");
346                         Assert.AreEqual (String.Empty, header_cell_s_t_ne_nhft.CssClass, "Header s_t_ne_nhft style");
347                         Assert.AreEqual (SDColor.Empty, header_cell_s_t_ne_nhft.ControlStyle.BackColor, "Header s_t_ne_nhft control background");
348                         Assert.AreEqual (SDColor.Empty, header_cell_s_t_ne_nhft.BackColor, "Header s_t_ne_nhft background");
349                         Assert.AreEqual (String.Empty, footer_cell_s_t_ne_nhft.ControlStyle.CssClass, "Footer s_t_ne_nhft control style");
350                         Assert.AreEqual (String.Empty, footer_cell_s_t_ne_nhft.CssClass, "Footer s_t_ne_nhft style");
351                         Assert.AreEqual (SDColor.Empty, footer_cell_s_t_ne_nhft.ControlStyle.BackColor, "Footer s_t_ne_nhft control background");
352                         Assert.AreEqual (SDColor.Empty, footer_cell_s_t_ne_nhft.BackColor, "Footer s_t_ne_nhft background");
353                         Assert.AreEqual (String.Empty, item_cell_s_t_ne_nhft.ControlStyle.CssClass, "Item s_t_ne_nhft control style");
354                         Assert.AreEqual (String.Empty, item_cell_s_t_ne_nhft.CssClass, "Item s_t_ne_nhft style");
355                         Assert.AreEqual (SDColor.Empty, item_cell_s_t_ne_nhft.ControlStyle.BackColor, "Item s_t_ne_nhft control background");
356                         Assert.AreEqual (SDColor.Empty, item_cell_s_t_ne_nhft.BackColor, "Item s_t_ne_nhft background");
357                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_ne_nhft.ControlStyle.CssClass, "AlternatingItem s_t_ne_nhft control style");
358                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_ne_nhft.CssClass, "AlternatingItem s_t_ne_nhft style");
359                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_t_ne_nhft.ControlStyle.BackColor, "AlternatingItem s_t_ne_nhft control background");
360                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_t_ne_nhft.BackColor, "AlternatingItem s_t_ne_nhft background");
361                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_ne_nhft.ControlStyle.CssClass, "SelectedItem s_t_ne_nhft control style");
362                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_ne_nhft.CssClass, "SelectedItem s_t_ne_nhft style");
363                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_t_ne_nhft.ControlStyle.BackColor, "SelectedItem s_t_ne_nhft control background");
364                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_t_ne_nhft.BackColor, "SelectedItem s_t_ne_nhft background");
365                         Assert.AreEqual (String.Empty, edititem_cell_s_t_ne_nhft.ControlStyle.CssClass, "EditItem s_t_ne_nhft control style");
366                         Assert.AreEqual (String.Empty, edititem_cell_s_t_ne_nhft.CssClass, "EditItem s_t_ne_nhft style");
367                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_t_ne_nhft.ControlStyle.BackColor, "EditItem s_t_ne_nhft control background");
368                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_t_ne_nhft.BackColor, "EditItem s_t_ne_nhft background");
369                         Assert.AreEqual (String.Empty, separator_cell_s_t_ne_nhft.ControlStyle.CssClass, "Separator s_t_ne_nhft control style");
370                         Assert.AreEqual (String.Empty, separator_cell_s_t_ne_nhft.CssClass, "Separator s_t_ne_nhft style");
371                         Assert.AreEqual (SDColor.Empty, separator_cell_s_t_ne_nhft.ControlStyle.BackColor, "Separator s_t_ne_nhft control background");
372                         Assert.AreEqual (SDColor.Empty, separator_cell_s_t_ne_nhft.BackColor, "Separator s_t_ne_nhft background");
373                         Assert.AreEqual (String.Empty, pager_cell_s_t_ne_nhft.ControlStyle.CssClass, "Pager s_t_ne_nhft control style");
374                         Assert.AreEqual (String.Empty, pager_cell_s_t_ne_nhft.CssClass, "Pager s_t_ne_nhft style");
375                         Assert.AreEqual (SDColor.Empty, pager_cell_s_t_ne_nhft.ControlStyle.BackColor, "Pager s_t_ne_nhft control background");
376                         Assert.AreEqual (SDColor.Empty, pager_cell_s_t_ne_nhft.BackColor, "Pager s_t_ne_nhft background");
377
378                         Assert.AreEqual (0, header_cell_s_t_ne_nhft.Controls.Count, "Header s_t_ne_nhft controls count");
379                         Assert.AreEqual (0, footer_cell_s_t_ne_nhft.Controls.Count, "Footer s_t_ne_nhft controls count");
380                         Assert.AreEqual (0, item_cell_s_t_ne_nhft.Controls.Count, "Item s_t_ne_nhft controls count");
381                         Assert.AreEqual (0, alternatingitem_cell_s_t_ne_nhft.Controls.Count, "AlternatingItem s_t_ne_nhft controls count");
382                         Assert.AreEqual (0, selecteditem_cell_s_t_ne_nhft.Controls.Count, "SelectedItem s_t_ne_nhft controls count");
383                         Assert.AreEqual (0, edititem_cell_s_t_ne_nhft.Controls.Count, "EditItem s_t_ne_nhft controls count");
384                         Assert.AreEqual (0, separator_cell_s_t_ne_nhft.Controls.Count, "Separator s_t_ne_nhft controls count");
385                         Assert.AreEqual (0, pager_cell_s_t_ne_nhft.Controls.Count, "Pager s_t_ne_nhft controls count");
386
387                         Assert.AreEqual ("&nbsp;", header_cell_s_t_ne_nhft.Text, "Header s_t_ne_nhft text");
388                         Assert.AreEqual ("&nbsp;", footer_cell_s_t_ne_nhft.Text, "Footer s_t_ne_nhft text");
389                         Assert.AreEqual (String.Empty, item_cell_s_t_ne_nhft.Text, "Item s_t_ne_nhft text");
390                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_ne_nhft.Text, "AlternatingItem s_t_ne_nhft text");
391                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_ne_nhft.Text, "SelectedItem s_t_ne_nhft text");
392                         Assert.AreEqual (String.Empty, edititem_cell_s_t_ne_nhft.Text, "EditItem s_t_ne_nhft text");
393                         Assert.AreEqual (String.Empty, separator_cell_s_t_ne_nhft.Text, "Separator s_t_ne_nhft text");
394                         Assert.AreEqual (String.Empty, pager_cell_s_t_ne_nhft.Text, "Pager s_t_ne_nhft text");
395                         
396
397                         
398                         /* sorted, text, sort expression, no
399                          * header/footer text
400                          */
401
402                         d.SortExpression = "*sort_expression*";
403                         
404                         TableCell header_cell_s_t_e_nhft = new TableCell ();
405                         TableCell footer_cell_s_t_e_nhft = new TableCell ();
406                         TableCell item_cell_s_t_e_nhft = new TableCell ();
407                         TableCell alternatingitem_cell_s_t_e_nhft = new TableCell ();
408                         TableCell selecteditem_cell_s_t_e_nhft = new TableCell ();
409                         TableCell edititem_cell_s_t_e_nhft = new TableCell ();
410                         TableCell separator_cell_s_t_e_nhft = new TableCell ();
411                         TableCell pager_cell_s_t_e_nhft = new TableCell ();
412
413                         d.InitializeCell (header_cell_s_t_e_nhft, 0, ListItemType.Header);
414                         d.InitializeCell (footer_cell_s_t_e_nhft, 0, ListItemType.Footer);
415                         d.InitializeCell (item_cell_s_t_e_nhft, 0, ListItemType.Item);
416                         d.InitializeCell (alternatingitem_cell_s_t_e_nhft, 0, ListItemType.AlternatingItem);
417                         d.InitializeCell (selecteditem_cell_s_t_e_nhft, 0, ListItemType.SelectedItem);
418                         d.InitializeCell (edititem_cell_s_t_e_nhft, 0, ListItemType.EditItem);
419                         d.InitializeCell (separator_cell_s_t_e_nhft, 0, ListItemType.Separator);
420                         d.InitializeCell (pager_cell_s_t_e_nhft, 0, ListItemType.Pager);
421
422                         Assert.AreEqual (String.Empty, header_cell_s_t_e_nhft.ControlStyle.CssClass, "Header s_t_e_nhft control style");
423                         Assert.AreEqual (String.Empty, header_cell_s_t_e_nhft.CssClass, "Header s_t_e_nhft style");
424                         Assert.AreEqual (SDColor.Empty, header_cell_s_t_e_nhft.ControlStyle.BackColor, "Header s_t_e_nhft control background");
425                         Assert.AreEqual (SDColor.Empty, header_cell_s_t_e_nhft.BackColor, "Header s_t_e_nhft background");
426                         Assert.AreEqual (String.Empty, footer_cell_s_t_e_nhft.ControlStyle.CssClass, "Footer s_t_e_nhft control style");
427                         Assert.AreEqual (String.Empty, footer_cell_s_t_e_nhft.CssClass, "Footer s_t_e_nhft style");
428                         Assert.AreEqual (SDColor.Empty, footer_cell_s_t_e_nhft.ControlStyle.BackColor, "Footer s_t_e_nhft control background");
429                         Assert.AreEqual (SDColor.Empty, footer_cell_s_t_e_nhft.BackColor, "Footer s_t_e_nhft background");
430                         Assert.AreEqual (String.Empty, item_cell_s_t_e_nhft.ControlStyle.CssClass, "Item s_t_e_nhft control style");
431                         Assert.AreEqual (String.Empty, item_cell_s_t_e_nhft.CssClass, "Item s_t_e_nhft style");
432                         Assert.AreEqual (SDColor.Empty, item_cell_s_t_e_nhft.ControlStyle.BackColor, "Item s_t_e_nhft control background");
433                         Assert.AreEqual (SDColor.Empty, item_cell_s_t_e_nhft.BackColor, "Item s_t_e_nhft background");
434                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_e_nhft.ControlStyle.CssClass, "AlternatingItem s_t_e_nhft control style");
435                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_e_nhft.CssClass, "AlternatingItem s_t_e_nhft style");
436                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_t_e_nhft.ControlStyle.BackColor, "AlternatingItem s_t_e_nhft control background");
437                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_t_e_nhft.BackColor, "AlternatingItem s_t_e_nhft background");
438                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_e_nhft.ControlStyle.CssClass, "SelectedItem s_t_e_nhft control style");
439                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_e_nhft.CssClass, "SelectedItem s_t_e_nhft style");
440                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_t_e_nhft.ControlStyle.BackColor, "SelectedItem s_t_e_nhft control background");
441                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_t_e_nhft.BackColor, "SelectedItem s_t_e_nhft background");
442                         Assert.AreEqual (String.Empty, edititem_cell_s_t_e_nhft.ControlStyle.CssClass, "EditItem s_t_e_nhft control style");
443                         Assert.AreEqual (String.Empty, edititem_cell_s_t_e_nhft.CssClass, "EditItem s_t_e_nhft style");
444                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_t_e_nhft.ControlStyle.BackColor, "EditItem s_t_e_nhft control background");
445                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_t_e_nhft.BackColor, "EditItem s_t_e_nhft background");
446                         Assert.AreEqual (String.Empty, separator_cell_s_t_e_nhft.ControlStyle.CssClass, "Separator s_t_e_nhft control style");
447                         Assert.AreEqual (String.Empty, separator_cell_s_t_e_nhft.CssClass, "Separator s_t_e_nhft style");
448                         Assert.AreEqual (SDColor.Empty, separator_cell_s_t_e_nhft.ControlStyle.BackColor, "Separator s_t_e_nhft control background");
449                         Assert.AreEqual (SDColor.Empty, separator_cell_s_t_e_nhft.BackColor, "Separator s_t_e_nhft background");
450                         Assert.AreEqual (String.Empty, pager_cell_s_t_e_nhft.ControlStyle.CssClass, "Pager s_t_e_nhft control style");
451                         Assert.AreEqual (String.Empty, pager_cell_s_t_e_nhft.CssClass, "Pager s_t_e_nhft style");
452                         Assert.AreEqual (SDColor.Empty, pager_cell_s_t_e_nhft.ControlStyle.BackColor, "Pager s_t_e_nhft control background");
453                         Assert.AreEqual (SDColor.Empty, pager_cell_s_t_e_nhft.BackColor, "Pager s_t_e_nhft background");
454
455                         Assert.AreEqual (1, header_cell_s_t_e_nhft.Controls.Count, "Header s_t_e_nhft controls count");
456                         Assert.AreEqual (0, footer_cell_s_t_e_nhft.Controls.Count, "Footer s_t_e_nhft controls count");
457                         Assert.AreEqual (0, item_cell_s_t_e_nhft.Controls.Count, "Item s_t_e_nhft controls count");
458                         Assert.AreEqual (0, alternatingitem_cell_s_t_e_nhft.Controls.Count, "AlternatingItem s_t_e_nhft controls count");
459                         Assert.AreEqual (0, selecteditem_cell_s_t_e_nhft.Controls.Count, "SelectedItem s_t_e_nhft controls count");
460                         Assert.AreEqual (0, edititem_cell_s_t_e_nhft.Controls.Count, "EditItem s_t_e_nhft controls count");
461                         Assert.AreEqual (0, separator_cell_s_t_e_nhft.Controls.Count, "Separator s_t_e_nhft controls count");
462                         Assert.AreEqual (0, pager_cell_s_t_e_nhft.Controls.Count, "Pager s_t_e_nhft controls count");
463
464                         Assert.AreEqual (String.Empty, header_cell_s_t_e_nhft.Text, "Header s_t_e_nhft text");
465                         Assert.AreEqual ("&nbsp;", footer_cell_s_t_e_nhft.Text, "Footer s_t_e_nhft text");
466                         Assert.AreEqual (String.Empty, item_cell_s_t_e_nhft.Text, "Item s_t_e_nhft text");
467                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_t_e_nhft.Text, "AlternatingItem s_t_e_nhft text");
468                         Assert.AreEqual (String.Empty, selecteditem_cell_s_t_e_nhft.Text, "SelectedItem s_t_e_nhft text");
469                         Assert.AreEqual (String.Empty, edititem_cell_s_t_e_nhft.Text, "EditItem s_t_e_nhft text");
470                         Assert.AreEqual (String.Empty, separator_cell_s_t_e_nhft.Text, "Separator s_t_e_nhft text");
471                         Assert.AreEqual (String.Empty, pager_cell_s_t_e_nhft.Text, "Pager s_t_e_nhft text");
472
473                         LinkButton link = header_cell_s_t_e_nhft.Controls[0] as LinkButton;
474                         Assert.IsNotNull (link, "Header s_t_e_nhft LinkButton");
475                         Assert.AreEqual (String.Empty, link.Text, "Header s_t_e_nhft LinkButton text");
476                         Assert.AreEqual ("Sort", link.CommandName, "Header s_t_e_nhft LinkButton command name");
477                         Assert.AreEqual ("*sort_expression*", link.CommandArgument, "Header s_t_e_nhft LinkButton command argument");
478
479
480
481                         /* XXXXXX  Image starts here XXXXXX */
482
483
484
485                         
486                         /* not sorted, image, no sort expression, no
487                          * header/footer text
488                          */
489
490                         d.HeaderImageUrl = "*header_image_url*";
491                         d.SortExpression = null;
492                         grid.AllowSorting = false;
493
494                         TableCell header_cell_ns_i_ne_nhft = new TableCell ();
495                         TableCell footer_cell_ns_i_ne_nhft = new TableCell ();
496                         TableCell item_cell_ns_i_ne_nhft = new TableCell ();
497                         TableCell alternatingitem_cell_ns_i_ne_nhft = new TableCell ();
498                         TableCell selecteditem_cell_ns_i_ne_nhft = new TableCell ();
499                         TableCell edititem_cell_ns_i_ne_nhft = new TableCell ();
500                         TableCell separator_cell_ns_i_ne_nhft = new TableCell ();
501                         TableCell pager_cell_ns_i_ne_nhft = new TableCell ();
502
503                         d.InitializeCell (header_cell_ns_i_ne_nhft, 0, ListItemType.Header);
504                         d.InitializeCell (footer_cell_ns_i_ne_nhft, 0, ListItemType.Footer);
505                         d.InitializeCell (item_cell_ns_i_ne_nhft, 0, ListItemType.Item);
506                         d.InitializeCell (alternatingitem_cell_ns_i_ne_nhft, 0, ListItemType.AlternatingItem);
507                         d.InitializeCell (selecteditem_cell_ns_i_ne_nhft, 0, ListItemType.SelectedItem);
508                         d.InitializeCell (edititem_cell_ns_i_ne_nhft, 0, ListItemType.EditItem);
509                         d.InitializeCell (separator_cell_ns_i_ne_nhft, 0, ListItemType.Separator);
510                         d.InitializeCell (pager_cell_ns_i_ne_nhft, 0, ListItemType.Pager);
511
512                         Assert.AreEqual (String.Empty, header_cell_ns_i_ne_nhft.ControlStyle.CssClass, "Header ns_i_ne_nhft control style");
513                         Assert.AreEqual (String.Empty, header_cell_ns_i_ne_nhft.CssClass, "Header ns_i_ne_nhft style");
514                         Assert.AreEqual (SDColor.Empty, header_cell_ns_i_ne_nhft.ControlStyle.BackColor, "Header ns_i_ne_nhft control background");
515                         Assert.AreEqual (SDColor.Empty, header_cell_ns_i_ne_nhft.BackColor, "Header ns_i_ne_nhft background");
516                         Assert.AreEqual (String.Empty, footer_cell_ns_i_ne_nhft.ControlStyle.CssClass, "Footer ns_i_ne_nhft control style");
517                         Assert.AreEqual (String.Empty, footer_cell_ns_i_ne_nhft.CssClass, "Footer ns_i_ne_nhft style");
518                         Assert.AreEqual (SDColor.Empty, footer_cell_ns_i_ne_nhft.ControlStyle.BackColor, "Footer ns_i_ne_nhft control background");
519                         Assert.AreEqual (SDColor.Empty, footer_cell_ns_i_ne_nhft.BackColor, "Footer ns_i_ne_nhft background");
520                         Assert.AreEqual (String.Empty, item_cell_ns_i_ne_nhft.ControlStyle.CssClass, "Item ns_i_ne_nhft control style");
521                         Assert.AreEqual (String.Empty, item_cell_ns_i_ne_nhft.CssClass, "Item ns_i_ne_nhft style");
522                         Assert.AreEqual (SDColor.Empty, item_cell_ns_i_ne_nhft.ControlStyle.BackColor, "Item ns_i_ne_nhft control background");
523                         Assert.AreEqual (SDColor.Empty, item_cell_ns_i_ne_nhft.BackColor, "Item ns_i_ne_nhft background");
524                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_i_ne_nhft.ControlStyle.CssClass, "AlternatingItem ns_i_ne_nhft control style");
525                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_i_ne_nhft.CssClass, "AlternatingItem ns_i_ne_nhft style");
526                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_ns_i_ne_nhft.ControlStyle.BackColor, "AlternatingItem ns_i_ne_nhft control background");
527                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_ns_i_ne_nhft.BackColor, "AlternatingItem ns_i_ne_nhft background");
528                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_i_ne_nhft.ControlStyle.CssClass, "SelectedItem ns_i_ne_nhft control style");
529                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_i_ne_nhft.CssClass, "SelectedItem ns_i_ne_nhft style");
530                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_ns_i_ne_nhft.ControlStyle.BackColor, "SelectedItem ns_i_ne_nhft control background");
531                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_ns_i_ne_nhft.BackColor, "SelectedItem ns_i_ne_nhft background");
532                         Assert.AreEqual (String.Empty, edititem_cell_ns_i_ne_nhft.ControlStyle.CssClass, "EditItem ns_i_ne_nhft control style");
533                         Assert.AreEqual (String.Empty, edititem_cell_ns_i_ne_nhft.CssClass, "EditItem ns_i_ne_nhft style");
534                         Assert.AreEqual (SDColor.Empty, edititem_cell_ns_i_ne_nhft.ControlStyle.BackColor, "EditItem ns_i_ne_nhft control background");
535                         Assert.AreEqual (SDColor.Empty, edititem_cell_ns_i_ne_nhft.BackColor, "EditItem ns_i_ne_nhft background");
536                         Assert.AreEqual (String.Empty, separator_cell_ns_i_ne_nhft.ControlStyle.CssClass, "Separator ns_i_ne_nhft control style");
537                         Assert.AreEqual (String.Empty, separator_cell_ns_i_ne_nhft.CssClass, "Separator ns_i_ne_nhft style");
538                         Assert.AreEqual (SDColor.Empty, separator_cell_ns_i_ne_nhft.ControlStyle.BackColor, "Separator ns_i_ne_nhft control background");
539                         Assert.AreEqual (SDColor.Empty, separator_cell_ns_i_ne_nhft.BackColor, "Separator ns_i_ne_nhft background");
540                         Assert.AreEqual (String.Empty, pager_cell_ns_i_ne_nhft.ControlStyle.CssClass, "Pager ns_i_ne_nhft control style");
541                         Assert.AreEqual (String.Empty, pager_cell_ns_i_ne_nhft.CssClass, "Pager ns_i_ne_nhft style");
542                         Assert.AreEqual (SDColor.Empty, pager_cell_ns_i_ne_nhft.ControlStyle.BackColor, "Pager ns_i_ne_nhft control background");
543                         Assert.AreEqual (SDColor.Empty, pager_cell_ns_i_ne_nhft.BackColor, "Pager ns_i_ne_nhft background");
544
545                         Assert.AreEqual (1, header_cell_ns_i_ne_nhft.Controls.Count, "Header ns_i_ne_nhft controls count");
546                         Assert.AreEqual (0, footer_cell_ns_i_ne_nhft.Controls.Count, "Footer ns_i_ne_nhft controls count");
547                         Assert.AreEqual (0, item_cell_ns_i_ne_nhft.Controls.Count, "Item ns_i_ne_nhft controls count");
548                         Assert.AreEqual (0, alternatingitem_cell_ns_i_ne_nhft.Controls.Count, "AlternatingItem ns_i_ne_nhft controls count");
549                         Assert.AreEqual (0, selecteditem_cell_ns_i_ne_nhft.Controls.Count, "SelectedItem ns_i_ne_nhft controls count");
550                         Assert.AreEqual (0, edititem_cell_ns_i_ne_nhft.Controls.Count, "EditItem ns_i_ne_nhft controls count");
551                         Assert.AreEqual (0, separator_cell_ns_i_ne_nhft.Controls.Count, "Separator ns_i_ne_nhft controls count");
552                         Assert.AreEqual (0, pager_cell_ns_i_ne_nhft.Controls.Count, "Pager ns_i_ne_nhft controls count");
553
554                         Assert.AreEqual (String.Empty, header_cell_ns_i_ne_nhft.Text, "Header ns_i_ne_nhft text");
555                         Assert.AreEqual ("&nbsp;", footer_cell_ns_i_ne_nhft.Text, "Footer ns_i_ne_nhft text");
556                         Assert.AreEqual (String.Empty, item_cell_ns_i_ne_nhft.Text, "Item ns_i_ne_nhft text");
557                         Assert.AreEqual (String.Empty, alternatingitem_cell_ns_i_ne_nhft.Text, "AlternatingItem ns_i_ne_nhft text");
558                         Assert.AreEqual (String.Empty, selecteditem_cell_ns_i_ne_nhft.Text, "SelectedItem ns_i_ne_nhft text");
559                         Assert.AreEqual (String.Empty, edititem_cell_ns_i_ne_nhft.Text, "EditItem ns_i_ne_nhft text");
560                         Assert.AreEqual (String.Empty, separator_cell_ns_i_ne_nhft.Text, "Separator ns_i_ne_nhft text");
561                         Assert.AreEqual (String.Empty, pager_cell_ns_i_ne_nhft.Text, "Pager ns_i_ne_nhft text");
562
563
564                         Image image = header_cell_ns_i_ne_nhft.Controls[0] as Image;
565                         Assert.IsNotNull (link, "Header ns_i_ne_nhft Image");
566                         Assert.AreEqual (String.Empty, link.Text, "Header ns_i_ne_nhft Image text");
567                         Assert.AreEqual ("*header_image_url*", image.ImageUrl, "Header ns_i_ne_nhft Image command name");
568
569                         
570                         /* sorted, image, no sort expression, no
571                          * header/footer text
572                          */
573
574                         grid.AllowSorting = true;
575                         
576                         TableCell header_cell_s_i_ne_nhft = new TableCell ();
577                         TableCell footer_cell_s_i_ne_nhft = new TableCell ();
578                         TableCell item_cell_s_i_ne_nhft = new TableCell ();
579                         TableCell alternatingitem_cell_s_i_ne_nhft = new TableCell ();
580                         TableCell selecteditem_cell_s_i_ne_nhft = new TableCell ();
581                         TableCell edititem_cell_s_i_ne_nhft = new TableCell ();
582                         TableCell separator_cell_s_i_ne_nhft = new TableCell ();
583                         TableCell pager_cell_s_i_ne_nhft = new TableCell ();
584
585                         d.InitializeCell (header_cell_s_i_ne_nhft, 0, ListItemType.Header);
586                         d.InitializeCell (footer_cell_s_i_ne_nhft, 0, ListItemType.Footer);
587                         d.InitializeCell (item_cell_s_i_ne_nhft, 0, ListItemType.Item);
588                         d.InitializeCell (alternatingitem_cell_s_i_ne_nhft, 0, ListItemType.AlternatingItem);
589                         d.InitializeCell (selecteditem_cell_s_i_ne_nhft, 0, ListItemType.SelectedItem);
590                         d.InitializeCell (edititem_cell_s_i_ne_nhft, 0, ListItemType.EditItem);
591                         d.InitializeCell (separator_cell_s_i_ne_nhft, 0, ListItemType.Separator);
592                         d.InitializeCell (pager_cell_s_i_ne_nhft, 0, ListItemType.Pager);
593
594                         Assert.AreEqual (String.Empty, header_cell_s_i_ne_nhft.ControlStyle.CssClass, "Header s_i_ne_nhft control style");
595                         Assert.AreEqual (String.Empty, header_cell_s_i_ne_nhft.CssClass, "Header s_i_ne_nhft style");
596                         Assert.AreEqual (SDColor.Empty, header_cell_s_i_ne_nhft.ControlStyle.BackColor, "Header s_i_ne_nhft control background");
597                         Assert.AreEqual (SDColor.Empty, header_cell_s_i_ne_nhft.BackColor, "Header s_i_ne_nhft background");
598                         Assert.AreEqual (String.Empty, footer_cell_s_i_ne_nhft.ControlStyle.CssClass, "Footer s_i_ne_nhft control style");
599                         Assert.AreEqual (String.Empty, footer_cell_s_i_ne_nhft.CssClass, "Footer s_i_ne_nhft style");
600                         Assert.AreEqual (SDColor.Empty, footer_cell_s_i_ne_nhft.ControlStyle.BackColor, "Footer s_i_ne_nhft control background");
601                         Assert.AreEqual (SDColor.Empty, footer_cell_s_i_ne_nhft.BackColor, "Footer s_i_ne_nhft background");
602                         Assert.AreEqual (String.Empty, item_cell_s_i_ne_nhft.ControlStyle.CssClass, "Item s_i_ne_nhft control style");
603                         Assert.AreEqual (String.Empty, item_cell_s_i_ne_nhft.CssClass, "Item s_i_ne_nhft style");
604                         Assert.AreEqual (SDColor.Empty, item_cell_s_i_ne_nhft.ControlStyle.BackColor, "Item s_i_ne_nhft control background");
605                         Assert.AreEqual (SDColor.Empty, item_cell_s_i_ne_nhft.BackColor, "Item s_i_ne_nhft background");
606                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_ne_nhft.ControlStyle.CssClass, "AlternatingItem s_i_ne_nhft control style");
607                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_ne_nhft.CssClass, "AlternatingItem s_i_ne_nhft style");
608                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_i_ne_nhft.ControlStyle.BackColor, "AlternatingItem s_i_ne_nhft control background");
609                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_i_ne_nhft.BackColor, "AlternatingItem s_i_ne_nhft background");
610                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_ne_nhft.ControlStyle.CssClass, "SelectedItem s_i_ne_nhft control style");
611                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_ne_nhft.CssClass, "SelectedItem s_i_ne_nhft style");
612                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_i_ne_nhft.ControlStyle.BackColor, "SelectedItem s_i_ne_nhft control background");
613                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_i_ne_nhft.BackColor, "SelectedItem s_i_ne_nhft background");
614                         Assert.AreEqual (String.Empty, edititem_cell_s_i_ne_nhft.ControlStyle.CssClass, "EditItem s_i_ne_nhft control style");
615                         Assert.AreEqual (String.Empty, edititem_cell_s_i_ne_nhft.CssClass, "EditItem s_i_ne_nhft style");
616                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_i_ne_nhft.ControlStyle.BackColor, "EditItem s_i_ne_nhft control background");
617                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_i_ne_nhft.BackColor, "EditItem s_i_ne_nhft background");
618                         Assert.AreEqual (String.Empty, separator_cell_s_i_ne_nhft.ControlStyle.CssClass, "Separator s_i_ne_nhft control style");
619                         Assert.AreEqual (String.Empty, separator_cell_s_i_ne_nhft.CssClass, "Separator s_i_ne_nhft style");
620                         Assert.AreEqual (SDColor.Empty, separator_cell_s_i_ne_nhft.ControlStyle.BackColor, "Separator s_i_ne_nhft control background");
621                         Assert.AreEqual (SDColor.Empty, separator_cell_s_i_ne_nhft.BackColor, "Separator s_i_ne_nhft background");
622                         Assert.AreEqual (String.Empty, pager_cell_s_i_ne_nhft.ControlStyle.CssClass, "Pager s_i_ne_nhft control style");
623                         Assert.AreEqual (String.Empty, pager_cell_s_i_ne_nhft.CssClass, "Pager s_i_ne_nhft style");
624                         Assert.AreEqual (SDColor.Empty, pager_cell_s_i_ne_nhft.ControlStyle.BackColor, "Pager s_i_ne_nhft control background");
625                         Assert.AreEqual (SDColor.Empty, pager_cell_s_i_ne_nhft.BackColor, "Pager s_i_ne_nhft background");
626
627                         Assert.AreEqual (1, header_cell_s_i_ne_nhft.Controls.Count, "Header s_i_ne_nhft controls count");
628                         Assert.AreEqual (0, footer_cell_s_i_ne_nhft.Controls.Count, "Footer s_i_ne_nhft controls count");
629                         Assert.AreEqual (0, item_cell_s_i_ne_nhft.Controls.Count, "Item s_i_ne_nhft controls count");
630                         Assert.AreEqual (0, alternatingitem_cell_s_i_ne_nhft.Controls.Count, "AlternatingItem s_i_ne_nhft controls count");
631                         Assert.AreEqual (0, selecteditem_cell_s_i_ne_nhft.Controls.Count, "SelectedItem s_i_ne_nhft controls count");
632                         Assert.AreEqual (0, edititem_cell_s_i_ne_nhft.Controls.Count, "EditItem s_i_ne_nhft controls count");
633                         Assert.AreEqual (0, separator_cell_s_i_ne_nhft.Controls.Count, "Separator s_i_ne_nhft controls count");
634                         Assert.AreEqual (0, pager_cell_s_i_ne_nhft.Controls.Count, "Pager s_i_ne_nhft controls count");
635
636                         Assert.AreEqual (String.Empty, header_cell_s_i_ne_nhft.Text, "Header s_i_ne_nhft text");
637                         Assert.AreEqual ("&nbsp;", footer_cell_s_i_ne_nhft.Text, "Footer s_i_ne_nhft text");
638                         Assert.AreEqual (String.Empty, item_cell_s_i_ne_nhft.Text, "Item s_i_ne_nhft text");
639                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_ne_nhft.Text, "AlternatingItem s_i_ne_nhft text");
640                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_ne_nhft.Text, "SelectedItem s_i_ne_nhft text");
641                         Assert.AreEqual (String.Empty, edititem_cell_s_i_ne_nhft.Text, "EditItem s_i_ne_nhft text");
642                         Assert.AreEqual (String.Empty, separator_cell_s_i_ne_nhft.Text, "Separator s_i_ne_nhft text");
643                         Assert.AreEqual (String.Empty, pager_cell_s_i_ne_nhft.Text, "Pager s_i_ne_nhft text");
644                         
645
646                         Image image2 = header_cell_s_i_ne_nhft.Controls[0] as Image;
647                         Assert.IsNotNull (image2, "Header s_i_ne_nhft Image");
648                         Assert.AreEqual ("*header_image_url*", image2.ImageUrl, "Header s_i_ne_nhft Image command name");
649
650
651                         
652                         /* sorted, image, sort expression, no
653                          * header/footer text
654                          */
655
656                         d.SortExpression = "*sort_expression*";
657                         
658                         TableCell header_cell_s_i_e_nhft = new TableCell ();
659                         TableCell footer_cell_s_i_e_nhft = new TableCell ();
660                         TableCell item_cell_s_i_e_nhft = new TableCell ();
661                         TableCell alternatingitem_cell_s_i_e_nhft = new TableCell ();
662                         TableCell selecteditem_cell_s_i_e_nhft = new TableCell ();
663                         TableCell edititem_cell_s_i_e_nhft = new TableCell ();
664                         TableCell separator_cell_s_i_e_nhft = new TableCell ();
665                         TableCell pager_cell_s_i_e_nhft = new TableCell ();
666
667                         d.InitializeCell (header_cell_s_i_e_nhft, 0, ListItemType.Header);
668                         d.InitializeCell (footer_cell_s_i_e_nhft, 0, ListItemType.Footer);
669                         d.InitializeCell (item_cell_s_i_e_nhft, 0, ListItemType.Item);
670                         d.InitializeCell (alternatingitem_cell_s_i_e_nhft, 0, ListItemType.AlternatingItem);
671                         d.InitializeCell (selecteditem_cell_s_i_e_nhft, 0, ListItemType.SelectedItem);
672                         d.InitializeCell (edititem_cell_s_i_e_nhft, 0, ListItemType.EditItem);
673                         d.InitializeCell (separator_cell_s_i_e_nhft, 0, ListItemType.Separator);
674                         d.InitializeCell (pager_cell_s_i_e_nhft, 0, ListItemType.Pager);
675
676                         Assert.AreEqual (String.Empty, header_cell_s_i_e_nhft.ControlStyle.CssClass, "Header s_i_e_nhft control style");
677                         Assert.AreEqual (String.Empty, header_cell_s_i_e_nhft.CssClass, "Header s_i_e_nhft style");
678                         Assert.AreEqual (SDColor.Empty, header_cell_s_i_e_nhft.ControlStyle.BackColor, "Header s_i_e_nhft control background");
679                         Assert.AreEqual (SDColor.Empty, header_cell_s_i_e_nhft.BackColor, "Header s_i_e_nhft background");
680                         Assert.AreEqual (String.Empty, footer_cell_s_i_e_nhft.ControlStyle.CssClass, "Footer s_i_e_nhft control style");
681                         Assert.AreEqual (String.Empty, footer_cell_s_i_e_nhft.CssClass, "Footer s_i_e_nhft style");
682                         Assert.AreEqual (SDColor.Empty, footer_cell_s_i_e_nhft.ControlStyle.BackColor, "Footer s_i_e_nhft control background");
683                         Assert.AreEqual (SDColor.Empty, footer_cell_s_i_e_nhft.BackColor, "Footer s_i_e_nhft background");
684                         Assert.AreEqual (String.Empty, item_cell_s_i_e_nhft.ControlStyle.CssClass, "Item s_i_e_nhft control style");
685                         Assert.AreEqual (String.Empty, item_cell_s_i_e_nhft.CssClass, "Item s_i_e_nhft style");
686                         Assert.AreEqual (SDColor.Empty, item_cell_s_i_e_nhft.ControlStyle.BackColor, "Item s_i_e_nhft control background");
687                         Assert.AreEqual (SDColor.Empty, item_cell_s_i_e_nhft.BackColor, "Item s_i_e_nhft background");
688                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_e_nhft.ControlStyle.CssClass, "AlternatingItem s_i_e_nhft control style");
689                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_e_nhft.CssClass, "AlternatingItem s_i_e_nhft style");
690                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_i_e_nhft.ControlStyle.BackColor, "AlternatingItem s_i_e_nhft control background");
691                         Assert.AreEqual (SDColor.Empty, alternatingitem_cell_s_i_e_nhft.BackColor, "AlternatingItem s_i_e_nhft background");
692                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_e_nhft.ControlStyle.CssClass, "SelectedItem s_i_e_nhft control style");
693                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_e_nhft.CssClass, "SelectedItem s_i_e_nhft style");
694                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_i_e_nhft.ControlStyle.BackColor, "SelectedItem s_i_e_nhft control background");
695                         Assert.AreEqual (SDColor.Empty, selecteditem_cell_s_i_e_nhft.BackColor, "SelectedItem s_i_e_nhft background");
696                         Assert.AreEqual (String.Empty, edititem_cell_s_i_e_nhft.ControlStyle.CssClass, "EditItem s_i_e_nhft control style");
697                         Assert.AreEqual (String.Empty, edititem_cell_s_i_e_nhft.CssClass, "EditItem s_i_e_nhft style");
698                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_i_e_nhft.ControlStyle.BackColor, "EditItem s_i_e_nhft control background");
699                         Assert.AreEqual (SDColor.Empty, edititem_cell_s_i_e_nhft.BackColor, "EditItem s_i_e_nhft background");
700                         Assert.AreEqual (String.Empty, separator_cell_s_i_e_nhft.ControlStyle.CssClass, "Separator s_i_e_nhft control style");
701                         Assert.AreEqual (String.Empty, separator_cell_s_i_e_nhft.CssClass, "Separator s_i_e_nhft style");
702                         Assert.AreEqual (SDColor.Empty, separator_cell_s_i_e_nhft.ControlStyle.BackColor, "Separator s_i_e_nhft control background");
703                         Assert.AreEqual (SDColor.Empty, separator_cell_s_i_e_nhft.BackColor, "Separator s_i_e_nhft background");
704                         Assert.AreEqual (String.Empty, pager_cell_s_i_e_nhft.ControlStyle.CssClass, "Pager s_i_e_nhft control style");
705                         Assert.AreEqual (String.Empty, pager_cell_s_i_e_nhft.CssClass, "Pager s_i_e_nhft style");
706                         Assert.AreEqual (SDColor.Empty, pager_cell_s_i_e_nhft.ControlStyle.BackColor, "Pager s_i_e_nhft control background");
707                         Assert.AreEqual (SDColor.Empty, pager_cell_s_i_e_nhft.BackColor, "Pager s_i_e_nhft background");
708
709                         Assert.AreEqual (1, header_cell_s_i_e_nhft.Controls.Count, "Header s_i_e_nhft controls count");
710                         Assert.AreEqual (0, footer_cell_s_i_e_nhft.Controls.Count, "Footer s_i_e_nhft controls count");
711                         Assert.AreEqual (0, item_cell_s_i_e_nhft.Controls.Count, "Item s_i_e_nhft controls count");
712                         Assert.AreEqual (0, alternatingitem_cell_s_i_e_nhft.Controls.Count, "AlternatingItem s_i_e_nhft controls count");
713                         Assert.AreEqual (0, selecteditem_cell_s_i_e_nhft.Controls.Count, "SelectedItem s_i_e_nhft controls count");
714                         Assert.AreEqual (0, edititem_cell_s_i_e_nhft.Controls.Count, "EditItem s_i_e_nhft controls count");
715                         Assert.AreEqual (0, separator_cell_s_i_e_nhft.Controls.Count, "Separator s_i_e_nhft controls count");
716                         Assert.AreEqual (0, pager_cell_s_i_e_nhft.Controls.Count, "Pager s_i_e_nhft controls count");
717
718                         Assert.AreEqual (String.Empty, header_cell_s_i_e_nhft.Text, "Header s_i_e_nhft text");
719                         Assert.AreEqual ("&nbsp;", footer_cell_s_i_e_nhft.Text, "Footer s_i_e_nhft text");
720                         Assert.AreEqual (String.Empty, item_cell_s_i_e_nhft.Text, "Item s_i_e_nhft text");
721                         Assert.AreEqual (String.Empty, alternatingitem_cell_s_i_e_nhft.Text, "AlternatingItem s_i_e_nhft text");
722                         Assert.AreEqual (String.Empty, selecteditem_cell_s_i_e_nhft.Text, "SelectedItem s_i_e_nhft text");
723                         Assert.AreEqual (String.Empty, edititem_cell_s_i_e_nhft.Text, "EditItem s_i_e_nhft text");
724                         Assert.AreEqual (String.Empty, separator_cell_s_i_e_nhft.Text, "Separator s_i_e_nhft text");
725                         Assert.AreEqual (String.Empty, pager_cell_s_i_e_nhft.Text, "Pager s_i_e_nhft text");
726
727                         ImageButton butt = header_cell_s_i_e_nhft.Controls[0] as ImageButton;
728                         Assert.IsNotNull (butt, "Header s_i_e_nhft ImageButton");
729                         Assert.AreEqual ("Sort", butt.CommandName, "Header s_i_e_nhft ImageButton command name");
730                         Assert.AreEqual ("*sort_expression*", butt.CommandArgument, "Header s_i_e_nhft ImageButton command argument");
731                         
732                 }
733         }
734 }