
2 changed files with 97 additions and 0 deletions
@ -0,0 +1,36 @@ |
|||
/* Copyright 2010-2011 10gen Inc. |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
|
|||
namespace MongoDB.Driver { |
|||
/// <summary>
|
|||
/// Flags used with the Eval method in MongoDatabase.
|
|||
/// </summary>
|
|||
[Flags] |
|||
public enum EvalFlags { |
|||
/// <summary>
|
|||
/// No flags.
|
|||
/// </summary>
|
|||
None = 0, |
|||
/// <summary>
|
|||
/// Do not take a write lock.
|
|||
/// </summary>
|
|||
NoLock = 1 |
|||
} |
|||
} |
@ -0,0 +1,61 @@ |
|||
/* Copyright 2010-2011 10gen Inc. |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
|
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using System.Linq; |
|||
using System.Runtime.Serialization; |
|||
using System.Text; |
|||
using NUnit.Framework; |
|||
|
|||
using MongoDB.Bson; |
|||
using MongoDB.Bson.Serialization.Attributes; |
|||
using MongoDB.Driver; |
|||
using MongoDB.Driver.Builders; |
|||
|
|||
namespace MongoDB.DriverOnlineTests.Jira.CSharp216 { |
|||
[TestFixture] |
|||
public class CSharp216Tests { |
|||
private MongoServer server; |
|||
private MongoDatabase database; |
|||
|
|||
[TestFixtureSetUp] |
|||
public void TestFixtureSetup() { |
|||
server = MongoServer.Create("mongodb://localhost/?safe=true"); |
|||
database = server["onlinetests"]; |
|||
} |
|||
|
|||
[Test] |
|||
public void TestAmbiguousEvalArguments() { |
|||
var code = "function (x, y) { return y; }"; |
|||
var objectArrayArg = new object[] { 1, 2, 3 }; |
|||
var boolArg = true; |
|||
var result = database.Eval(code, objectArrayArg, boolArg); // before change boolArg was being misinterpreted as nolock argument
|
|||
Assert.AreEqual(BsonType.Boolean, result.BsonType); |
|||
Assert.AreEqual(true, result.AsBoolean); |
|||
} |
|||
|
|||
[Test] |
|||
public void TestNoLock() { |
|||
var code = "function (x, y) { return y; }"; |
|||
var objectArrayArg = new object[] { 1, 2, 3 }; |
|||
var boolArg = true; |
|||
var result = database.Eval(EvalFlags.NoLock, code, objectArrayArg, boolArg); // before change boolArg was being misinterpreted as nolock argument
|
|||
Assert.AreEqual(BsonType.Boolean, result.BsonType); |
|||
Assert.AreEqual(true, result.AsBoolean); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue