mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-26 06:15:19 +08:00
Fix #19770: Fix yii\mutex\MysqlMutex
keyPrefix
expression param binding
This commit is contained in:
@ -84,4 +84,27 @@ class MysqlMutexTest extends DatabaseTestCase
|
||||
$this->assertTrue($mutexOne->release($mutexName));
|
||||
$this->assertTrue($mutexTwo->release($mutexName));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider mutexDataProvider()
|
||||
*
|
||||
* @param string $mutexName
|
||||
*/
|
||||
public function testThatMutexLocksWithKeyPrefixesExpressionCalculatedValue($mutexName)
|
||||
{
|
||||
$mutexOne = $this->createMutex(['keyPrefix' => new Expression('1+1')]);
|
||||
$mutexTwo = $this->createMutex(['keyPrefix' => new Expression('1*2')]);
|
||||
|
||||
$this->assertTrue($mutexOne->acquire($mutexName));
|
||||
$this->assertFalse($mutexTwo->acquire($mutexName));
|
||||
$this->assertTrue($mutexOne->release($mutexName));
|
||||
}
|
||||
|
||||
public function testCreateMutex()
|
||||
{
|
||||
$mutex = $this->createMutex(['keyPrefix' => new Expression('1+1')]);
|
||||
$this->assertInstanceOf(MysqlMutex::classname(), $mutex);
|
||||
$this->assertInstanceOf(Expression::classname(), $mutex->keyPrefix);
|
||||
$this->assertSame("1+1", $mutex->keyPrefix->expression);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user