diff --git a/mcs/class/Mono.Data.Sqlite/Test/ChangeLog b/mcs/class/Mono.Data.Sqlite/Test/ChangeLog index fc35281b6fee4..d3719fa044995 100644 --- a/mcs/class/Mono.Data.Sqlite/Test/ChangeLog +++ b/mcs/class/Mono.Data.Sqlite/Test/ChangeLog @@ -1,3 +1,14 @@ +2008-07-15 Marek Habersack + + * SqliteParameterUnitTests.cs: adjust the blob value comparison + test for the 2.0 profile. + + * SqliteCommandUnitTests.cs, SqliteExceptionUnitTests.cs: change + the expected exception type for the 2.0 profile. + + * SqliteConnectionTest.cs: add tests for the 2.0 profile, disable + tests which are incorrect for this profile. + 2007-01-16 Nagappan A * SqliteDataAdapterUnitTests.cs (GetSchemaTable): Type casted to diff --git a/mcs/class/Mono.Data.Sqlite/Test/SqliteCommandUnitTests.cs b/mcs/class/Mono.Data.Sqlite/Test/SqliteCommandUnitTests.cs index 7a0d33e164fc7..2523fcc75301f 100644 --- a/mcs/class/Mono.Data.Sqlite/Test/SqliteCommandUnitTests.cs +++ b/mcs/class/Mono.Data.Sqlite/Test/SqliteCommandUnitTests.cs @@ -164,7 +164,11 @@ public void InsertWithTransaction() } [Test] +#if NET_2_0 + [ExpectedException(typeof(SqliteException))] +#else [ExpectedException(typeof(SqliteSyntaxException))] +#endif public void InsertWithFailingTransaction() { _conn.Open(); diff --git a/mcs/class/Mono.Data.Sqlite/Test/SqliteConnectionTest.cs b/mcs/class/Mono.Data.Sqlite/Test/SqliteConnectionTest.cs index 871f2677a44da..4ae8e2cbce2dd 100644 --- a/mcs/class/Mono.Data.Sqlite/Test/SqliteConnectionTest.cs +++ b/mcs/class/Mono.Data.Sqlite/Test/SqliteConnectionTest.cs @@ -43,7 +43,28 @@ public class SqliteConnectionTest readonly static string _connectionString = "URI=file://" + _uri + ", version=3"; SqliteConnection _conn = new SqliteConnection (); - +#if NET_2_0 + [Test] + [ExpectedException (typeof (ArgumentNullException))] + public void ConnectionStringTest_Null () + { + _conn.ConnectionString = null; + } + + [Test] + [ExpectedException (typeof (InvalidOperationException))] + public void ConnectionStringTest_MustBeClosed () + { + _conn.ConnectionString = _connectionString; + try { + _conn.Open (); + _conn.ConnectionString = _connectionString; + } finally { + _conn.Close (); + } + } + +#else [Test] [ExpectedException (typeof (InvalidOperationException))] public void ConnectionStringTest_Empty () @@ -58,13 +79,14 @@ public void ConnectionStringTest_NoURI () _conn.ConnectionString = "version=3"; } + // In 2.0 _conn.Database always returns "main" [Test] public void ConnectionStringTest_IgnoreSpacesAndTrim () { _conn.ConnectionString = "URI=file://xyz , ,,, ,, version=3"; Assert.AreEqual ("xyz", _conn.Database, "#1 file path is wrong"); } - +#endif // behavior has changed, I guess //[Test] [Ignore ("opening a connection should not create db! though, leave for now")] diff --git a/mcs/class/Mono.Data.Sqlite/Test/SqliteExceptionUnitTests.cs b/mcs/class/Mono.Data.Sqlite/Test/SqliteExceptionUnitTests.cs index 9d01111145c74..fa766e915ea41 100644 --- a/mcs/class/Mono.Data.Sqlite/Test/SqliteExceptionUnitTests.cs +++ b/mcs/class/Mono.Data.Sqlite/Test/SqliteExceptionUnitTests.cs @@ -24,7 +24,11 @@ public SqliteExceptionUnitTests() } [Test] +#if NET_2_0 + [ExpectedException(typeof(SqliteException))] +#else [ExpectedException(typeof(SqliteSyntaxException))] +#endif public void WrongSyntax() { SqliteCommand insertCmd = new SqliteCommand("INSERT INTO t1 VALUES (,')",_conn); diff --git a/mcs/class/Mono.Data.Sqlite/Test/SqliteParameterUnitTests.cs b/mcs/class/Mono.Data.Sqlite/Test/SqliteParameterUnitTests.cs index e1933062a86f8..a76aec2d0b594 100644 --- a/mcs/class/Mono.Data.Sqlite/Test/SqliteParameterUnitTests.cs +++ b/mcs/class/Mono.Data.Sqlite/Test/SqliteParameterUnitTests.cs @@ -74,7 +74,13 @@ public void InsertRandomValuesWithParameter() Assert.AreEqual(reader["t"], textP.Value); Assert.AreEqual(reader["f"], floatP.Value); Assert.AreEqual(reader["i"], integerP.Value); - Assert.AreEqual(reader["b"], blobP.Value); + + object compareValue; + if (blobP.Value is byte[]) + compareValue = System.Text.Encoding.UTF8.GetString ((byte[])blobP.Value); + else + compareValue = blobP.Value; + Assert.AreEqual(reader["b"], compareValue); Assert.AreEqual(reader.Read(), false); } }