Added test
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 10 May 2005 21:12:23 +0000 (21:12 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 10 May 2005 21:12:23 +0000 (21:12 -0000)
svn path=/trunk/mcs/; revision=44354

mcs/class/System.Web/Test/standalone/test1/README [new file with mode: 0644]
mcs/class/System.Web/Test/standalone/test1/index.aspx [new file with mode: 0644]
mcs/class/System.Web/Test/standalone/test1/index.aspx.cs [new file with mode: 0644]

diff --git a/mcs/class/System.Web/Test/standalone/test1/README b/mcs/class/System.Web/Test/standalone/test1/README
new file mode 100644 (file)
index 0000000..b8cc1cf
--- /dev/null
@@ -0,0 +1,9 @@
+Description
+------------
+
+This is a test case for bug 74804 in which an empty IDataReader was passed
+as source.
+
+The result should be an empty page. Before being fixed, it throwed an exception
+saying that there are no autogenerated columns.
+
diff --git a/mcs/class/System.Web/Test/standalone/test1/index.aspx b/mcs/class/System.Web/Test/standalone/test1/index.aspx
new file mode 100644 (file)
index 0000000..b795a45
--- /dev/null
@@ -0,0 +1,16 @@
+<%@ Page language="c#" src="./index.aspx.cs"  Inherits="test.SimplePage" AutoEventWireup="false"%>
+
+<html>
+<head>
+</head>
+<body>
+
+<asp:DataGrid id="testGrid" runat="server" AutoGenerateColumns="true" CellPadding="5"
+  HeaderStyle-BackColor="PapayaWhip" BorderWidth="2px" BorderColor="#000099"
+  AlternatingItemStyle-BackColor="LightGray" HeaderStyle-Font-Bold
+  EditItemStyle-BackColor="Yellow" EditItemStyle-ForeColor="Black" DataKeyField="id">
+</asp:DataGrid>
+
+</body>
+</html>
+
diff --git a/mcs/class/System.Web/Test/standalone/test1/index.aspx.cs b/mcs/class/System.Web/Test/standalone/test1/index.aspx.cs
new file mode 100644 (file)
index 0000000..767eeb3
--- /dev/null
@@ -0,0 +1,236 @@
+using System;
+using System.Collections;
+using System.Data;
+using System.Web.UI.WebControls;
+
+namespace test
+{
+  public class SimplePage : System.Web.UI.Page
+  {
+    protected DataGrid testGrid;
+
+    public SimplePage()
+    {
+      this.Load += new System.EventHandler(this.Page_Load);
+    }
+
+    private void Page_Load(object o, EventArgs e)
+    {
+      IDataReader reader = new DummyReader ();
+      testGrid.DataSource = reader;
+      testGrid.DataBind();
+    }
+  }
+
+  class DummyReader : IDataReader, IEnumerable {
+       IEnumerator IEnumerable.GetEnumerator ()
+       {
+               return new EnumThis ();
+       }
+
+       class EnumThis : IEnumerator {
+               public bool MoveNext ()
+               {
+                       return false;
+               }
+
+               public void Reset ()
+               {
+               }
+
+               public object Current {
+                       get { return null; }
+               }
+       }
+
+       public void Close ()
+       {
+               Console.WriteLine ("Close");
+       }
+               
+       public DataTable GetSchemaTable ()
+       {
+               Console.WriteLine ("GetSchemaTable");
+               return null;
+       }
+               
+       public bool NextResult ()
+       {
+               Console.WriteLine ("NextResult");
+               return false;
+       }
+
+       public bool Read ()
+       {
+               Console.WriteLine ("Read");
+               return false;
+       }
+
+       public int Depth {
+               get {
+                       Console.WriteLine ("Depth");
+                       return 0;
+               }
+       }
+
+       public bool IsClosed {
+               get {
+                       Console.WriteLine ("IsClosed");
+                       return false;
+               }
+       }
+
+       public int RecordsAffected {
+               get {
+                       Console.WriteLine ("RecordsAffected");
+                       return -1;
+               }
+       }
+
+       public void Dispose ()
+       {
+               Console.WriteLine ("Dispose");
+       }
+
+       public bool GetBoolean(int i)
+       {
+               return false;
+       }
+
+       public  byte GetByte(int i)
+       {
+               return 0;
+       }
+       public  long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferOffset, int length)
+       {
+               return 0;
+       }
+
+
+       public  char GetChar(int i)
+       {
+               return 'A';
+       }
+
+
+       public long GetChars(int i, long fieldOffset, char[] buffer, int bufferOffset, int length)
+       {
+               return 0;
+       }
+
+
+       public  IDataReader GetData(int i)
+       {
+               return null;
+       }
+
+
+       public  string GetDataTypeName(int i)
+       {
+               return null;
+       }
+
+
+       public  DateTime GetDateTime(int i)
+       {
+               return DateTime.MinValue;
+       }
+
+
+       public  Decimal GetDecimal(int i)
+       {
+               return 0;
+       }
+
+
+       public  double GetDouble(int i)
+       {
+               return 0;
+       }
+
+
+       public  Type GetFieldType(int i)
+       {
+               return null;
+       }
+
+
+       public  float GetFloat(int i)
+       {
+               return 0;
+       }
+
+
+       public  Guid GetGuid(int i)
+       {
+               return new Guid ();
+       }
+
+
+       public  short GetInt16(int i)
+       {
+               return 0;
+       }
+
+
+       public  int GetInt32(int i)
+       {
+               return 0;
+       }
+
+
+       public  long GetInt64(int i)
+       {
+               return 0;
+       }
+
+
+       public  string GetName(int i)
+       {
+               return null;
+       }
+
+
+       public  int GetOrdinal(string name)
+       {
+               return 0;
+       }
+
+
+       public  string GetString(int i)
+       {
+               return null;
+       }
+
+
+       public  object GetValue(int i)
+       {
+               return null;
+       }
+
+
+       public  int GetValues(object[] values)
+       {
+               return 0;
+       }
+
+
+       public  bool IsDBNull(int i)
+       {
+               return false;
+       }
+
+
+       public int FieldCount {
+               get { return 0; }
+       }
+
+       public object this [string name] {
+               get { return null; }
+       }
+
+       public object this [int i] {
+               get { return null; }
+       }
+  }
+}