From: <pa...@us...> - 2011-03-24 02:50:47
|
Revision: 5516 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5516&view=rev Author: patearl Date: 2011-03-24 02:50:41 +0000 (Thu, 24 Mar 2011) Log Message: ----------- Ignore XML data tests for databases that don't support XML. Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs trunk/nhibernate/src/NHibernate.Test/TypesTest/XDocTypeFixture.cs trunk/nhibernate/src/NHibernate.Test/TypesTest/XmlDocTypeFixture.cs Modified: trunk/nhibernate/src/NHibernate.Test/TestDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-03-24 02:50:00 UTC (rev 5515) +++ trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-03-24 02:50:41 UTC (rev 5516) @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using System.Data; using System.Linq; using System.Text; +using NHibernate.SqlTypes; namespace NHibernate.Test { @@ -17,10 +19,17 @@ string testDialectTypeName = "NHibernate.Test.TestDialects." + dialect.GetType().Name.Replace("Dialect", "TestDialect"); System.Type testDialectType = System.Type.GetType(testDialectTypeName); if (testDialectType != null) - return (TestDialect)Activator.CreateInstance(testDialectType); - return new TestDialect(); + return (TestDialect)Activator.CreateInstance(testDialectType, dialect); + return new TestDialect(dialect); } + private Dialect.Dialect dialect; + + public TestDialect(Dialect.Dialect dialect) + { + this.dialect = dialect; + } + public virtual bool SupportsOperatorAll { get { return true; } } public virtual bool SupportsOperatorSome { get { return true; } } public virtual bool SupportsLocate { get { return true; } } @@ -35,5 +44,18 @@ public virtual bool SupportsConcurrentTransactions { get { return true; } } public virtual bool SupportsFullJoin { get { return true; } } + + public bool SupportsSqlType(SqlType sqlType) + { + try + { + dialect.GetTypeName(sqlType); + return true; + } + catch + { + return false; + } + } } } Modified: trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs 2011-03-24 02:50:00 UTC (rev 5515) +++ trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs 2011-03-24 02:50:41 UTC (rev 5516) @@ -7,6 +7,11 @@ { public class SQLiteTestDialect : TestDialect { + public SQLiteTestDialect(Dialect.Dialect dialect) + : base(dialect) + { + } + public override bool SupportsOperatorAll { get { return false; } Modified: trunk/nhibernate/src/NHibernate.Test/TypesTest/XDocTypeFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/XDocTypeFixture.cs 2011-03-24 02:50:00 UTC (rev 5515) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/XDocTypeFixture.cs 2011-03-24 02:50:41 UTC (rev 5516) @@ -1,4 +1,6 @@ +using System.Data; using System.Xml.Linq; +using NHibernate.SqlTypes; using NHibernate.Type; using NUnit.Framework; using SharpTestsEx; @@ -13,6 +15,11 @@ get { return "XDoc"; } } + protected override bool AppliesTo(Dialect.Dialect dialect) + { + return TestDialect.SupportsSqlType(new SqlType(DbType.Xml)); + } + [Test] public void ReadWrite() { Modified: trunk/nhibernate/src/NHibernate.Test/TypesTest/XmlDocTypeFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/XmlDocTypeFixture.cs 2011-03-24 02:50:00 UTC (rev 5515) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/XmlDocTypeFixture.cs 2011-03-24 02:50:41 UTC (rev 5516) @@ -1,4 +1,6 @@ +using System.Data; using System.Xml; +using NHibernate.SqlTypes; using NHibernate.Type; using NUnit.Framework; using SharpTestsEx; @@ -12,6 +14,11 @@ get { return "XmlDoc"; } } + protected override bool AppliesTo(Dialect.Dialect dialect) + { + return TestDialect.SupportsSqlType(new SqlType(DbType.Xml)); + } + [Test] public void ReadWrite() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |