Commit 150f1107 authored by Katherine Walker's avatar Katherine Walker

Merge pull request #487

parents 70f8c0a1 0a3b2b7f
......@@ -165,25 +165,6 @@ function is_mapreduce_output_inline($out)
return key($out) === 'inline';
}
/**
* Converts a ReadConcern instance to a stdClass for use in a BSON document.
*
* @internal
* @see https://jira.mongodb.org/browse/PHPC-498
* @param ReadConcern $readConcern Read concern
* @return stdClass
*/
function read_concern_as_document(ReadConcern $readConcern)
{
$document = [];
if ($readConcern->getLevel() !== null) {
$document['level'] = $readConcern->getLevel();
}
return (object) $document;
}
/**
* Return whether the server supports a particular feature.
*
......@@ -213,29 +194,3 @@ function is_string_array($input) {
return true;
}
/**
* Converts a WriteConcern instance to a stdClass for use in a BSON document.
*
* @internal
* @see https://jira.mongodb.org/browse/PHPC-498
* @param WriteConcern $writeConcern Write concern
* @return stdClass
*/
function write_concern_as_document(WriteConcern $writeConcern)
{
$document = [];
if ($writeConcern->getW() !== null) {
$document['w'] = $writeConcern->getW();
}
if ($writeConcern->getJournal() !== null) {
$document['j'] = $writeConcern->getJournal();
}
if ($writeConcern->getWtimeout() !== 0) {
$document['wtimeout'] = $writeConcern->getWtimeout();
}
return (object) $document;
}
......@@ -48,8 +48,6 @@ class ClientTest extends TestCase
public function testSelectCollectionInheritsOptions()
{
$this->markTestSkipped('Depends on https://jira.mongodb.org/browse/PHPC-523');
$uriOptions = [
'readConcernLevel' => ReadConcern::LOCAL,
'readPreference' => 'secondaryPreferred',
......@@ -112,8 +110,6 @@ class ClientTest extends TestCase
public function testSelectDatabaseInheritsOptions()
{
$this->markTestSkipped('Depends on https://jira.mongodb.org/browse/PHPC-523');
$uriOptions = [
'readConcernLevel' => ReadConcern::LOCAL,
'readPreference' => 'secondaryPreferred',
......
......@@ -134,49 +134,4 @@ class FunctionsTest extends TestCase
[ ['replace' => 'collectionName'], false ],
];
}
/**
* @dataProvider provideReadConcernsAndDocuments
*/
public function testReadConcernAsDocument(ReadConcern $readConcern, $expectedDocument)
{
$this->assertEquals($expectedDocument, \MongoDB\read_concern_as_document($readConcern));
}
public function provideReadConcernsAndDocuments()
{
return [
[ new ReadConcern, (object) [] ],
[ new ReadConcern(ReadConcern::LOCAL), (object) ['level' => ReadConcern::LOCAL] ],
[ new ReadConcern(ReadConcern::MAJORITY), (object) ['level' => ReadConcern::MAJORITY] ],
];
}
/**
* @dataProvider provideWriteConcernsAndDocuments
*/
public function testWriteConcernAsDocument(WriteConcern $writeConcern, $expectedDocument)
{
$this->assertEquals($expectedDocument, \MongoDB\write_concern_as_document($writeConcern));
}
public function provideWriteConcernsAndDocuments()
{
return [
[ new WriteConcern(-3), (object) ['w' => 'majority'] ], // MONGOC_WRITE_CONCERN_W_MAJORITY
[ new WriteConcern(-2), (object) [] ], // MONGOC_WRITE_CONCERN_W_DEFAULT
[ new WriteConcern(-1), (object) ['w' => -1] ],
[ new WriteConcern(0), (object) ['w' => 0] ],
[ new WriteConcern(1), (object) ['w' => 1] ],
[ new WriteConcern('majority'), (object) ['w' => 'majority'] ],
[ new WriteConcern('tag'), (object) ['w' => 'tag'] ],
[ new WriteConcern(1, 0), (object) ['w' => 1] ],
[ new WriteConcern(1, 0, false), (object) ['w' => 1, 'j' => false] ],
[ new WriteConcern(1, 1000), (object) ['w' => 1, 'wtimeout' => 1000] ],
[ new WriteConcern(1, 1000, true), (object) ['w' => 1, 'wtimeout' => 1000, 'j' => true] ],
[ new WriteConcern(-2, 0, true), (object) ['j' => true] ],
// Note: wtimeout is only applicable applies for w > 1
[ new WriteConcern(-2, 1000), (object) ['wtimeout' => 1000] ],
];
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment