|
From: <fab...@us...> - 2010-09-25 18:06:20
|
Revision: 5218
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5218&view=rev
Author: fabiomaulo
Date: 2010-09-25 18:06:13 +0000 (Sat, 25 Sep 2010)
Log Message:
-----------
Fix NH-2188
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2188/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2188/AppDomainWithMultipleSearchPath.cs
Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-09-25 15:47:16 UTC (rev 5217)
+++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-09-25 18:06:13 UTC (rev 5218)
@@ -4,6 +4,7 @@
using System.Configuration;
using System.Diagnostics;
using System.IO;
+using System.Linq;
using System.Reflection;
using System.Text;
using System.Xml;
@@ -1837,11 +1838,11 @@
LogAndThrow(new MappingException(message, args.Exception));
}
- private static string GetDefaultConfigurationFilePath()
+ protected virtual string GetDefaultConfigurationFilePath()
{
string baseDir = AppDomain.CurrentDomain.BaseDirectory;
- string relativeSearchPath = AppDomain.CurrentDomain.RelativeSearchPath;
- string binPath = relativeSearchPath == null ? baseDir : Path.Combine(baseDir, relativeSearchPath);
+ string relativeSearchPath = AppDomain.CurrentDomain.RelativeSearchPath.Split(';').First();
+ string binPath = Path.Combine(baseDir, relativeSearchPath);
return Path.Combine(binPath, DefaultHibernateCfgFileName);
}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2188/AppDomainWithMultipleSearchPath.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2188/AppDomainWithMultipleSearchPath.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2188/AppDomainWithMultipleSearchPath.cs 2010-09-25 18:06:13 UTC (rev 5218)
@@ -0,0 +1,37 @@
+using System;
+using System.IO;
+using NHibernate.Cfg;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2188
+{
+ public class AppDomainWithMultipleSearchPath
+ {
+ public class MyNhConfiguration: Configuration
+ {
+ public string DefaultConfigurationFilePath()
+ {
+ return GetDefaultConfigurationFilePath();
+ }
+ }
+ [Test]
+ public void WhenSerchInMultiplePathsThenNotThrows()
+ {
+ string binPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin");
+ var expected = Path.Combine(binPath, Configuration.DefaultHibernateCfgFileName);
+
+ try
+ {
+ AppDomain.CurrentDomain.AppendPrivatePath("bin");
+ AppDomain.CurrentDomain.AppendPrivatePath("DbScripts");
+ var configuration = new MyNhConfiguration();
+ configuration.DefaultConfigurationFilePath().Should().Be(expected);
+ }
+ finally
+ {
+ AppDomain.CurrentDomain.ClearPrivatePath();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-25 15:47:16 UTC (rev 5217)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-25 18:06:13 UTC (rev 5218)
@@ -473,6 +473,7 @@
<Compile Include="NHSpecificTest\NH2147\DefaultBatchSize.cs" />
<Compile Include="NHSpecificTest\NH2148\BugFixture.cs" />
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH2188\AppDomainWithMultipleSearchPath.cs" />
<Compile Include="NHSpecificTest\NH2224\Domain.cs" />
<Compile Include="NHSpecificTest\NH2224\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|