Imported Upstream version 3.10.0

Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
This commit is contained in:
Jo Shields
2014-10-04 11:27:48 +01:00
parent fe777c5c82
commit 8b9b85e7f5
970 changed files with 20242 additions and 31308 deletions

View File

@@ -55,11 +55,9 @@ using System.Security.Permissions;
[assembly: ComCompatibleVersion (1, 0, 3300, 0)]
[assembly: AllowPartiallyTrustedCallers]
#if !TARGET_JVM
[assembly: CLSCompliant (true)]
[assembly: AssemblyDelaySign (true)]
[assembly: AssemblyKeyFile("../ecma.pub")]
#endif
[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
[assembly: BestFitMapping (false)]

View File

@@ -62,7 +62,6 @@ namespace System.Transactions
{
}
[MonoTODO ("No TimeoutException is thrown")]
public TransactionScope (TransactionScopeOption option,
TimeSpan timeout)
{
@@ -92,6 +91,10 @@ namespace System.Transactions
completed = false;
isRoot = false;
nested = 0;
if (timeout < TimeSpan.Zero)
throw new ArgumentOutOfRangeException ("timeout");
this.timeout = timeout;
oldTransaction = Transaction.CurrentInternal;

View File

@@ -18,6 +18,24 @@ namespace MonoTests.System.Transactions
public class TransactionScopeTest
{
[Test]
public void TransactionScopeWithInvalidTimeSpanThrows ()
{
try {
TransactionScope scope = new TransactionScope (TransactionScopeOption.Required, TimeSpan.FromSeconds (-1));
Assert.Fail ("Expected exception when passing TransactionScopeOption and an invalid TimeSpan.");
} catch (ArgumentOutOfRangeException ex) {
Assert.AreEqual (ex.ParamName, "timeout");
}
try {
TransactionScope scope = new TransactionScope (null, TimeSpan.FromSeconds (-1));
Assert.Fail ("Expected exception when passing TransactionScopeOption and an invalid TimeSpan.");
} catch (ArgumentOutOfRangeException ex) {
Assert.AreEqual (ex.ParamName, "timeout");
}
}
[Test]
public void TransactionScopeCommit ()
{