public function ConditionTest::testSimpleCondition in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Core/Database/ConditionTest.php \Drupal\Tests\Core\Database\ConditionTest::testSimpleCondition()
- 10 core/tests/Drupal/Tests/Core/Database/ConditionTest.php \Drupal\Tests\Core\Database\ConditionTest::testSimpleCondition()
@covers ::compile @dataProvider providerSimpleCondition()
File
- core/
tests/ Drupal/ Tests/ Core/ Database/ ConditionTest.php, line 38
Class
- ConditionTest
- @coversDefaultClass \Drupal\Core\Database\Query\Condition
Namespace
Drupal\Tests\Core\DatabaseCode
public function testSimpleCondition($expected, $field_name) {
$connection = $this
->prophesize(Connection::class);
$connection
->escapeField($field_name)
->will(function ($args) {
return preg_replace('/[^A-Za-z0-9_.]+/', '', $args[0]);
});
$connection
->mapConditionOperator('=')
->willReturn([
'operator' => '=',
]);
$connection
->condition('AND')
->willReturn(new Condition('AND', FALSE));
$connection = $connection
->reveal();
$query_placeholder = $this
->prophesize(PlaceholderInterface::class);
$counter = 0;
$query_placeholder
->nextPlaceholder()
->will(function () use (&$counter) {
return $counter++;
});
$query_placeholder
->uniqueIdentifier()
->willReturn(4);
$query_placeholder = $query_placeholder
->reveal();
$condition = $connection
->condition('AND');
$condition
->condition($field_name, [
'value',
]);
$condition
->compile($connection, $query_placeholder);
$this
->assertEquals($expected, $condition
->__toString());
$this
->assertEquals([
':db_condition_placeholder_0' => 'value',
], $condition
->arguments());
}