public function TxBufferTest::testSetAndGetProperty in Purge 8.3
Tests TxBuffer::setProperty and TxBuffer::getProperty.
File
- tests/
src/ Kernel/ Queue/ TxBufferTest.php, line 140
Class
- TxBufferTest
- Tests \Drupal\purge\Tests\Queue\TxBufferTest.
Namespace
Drupal\Tests\purge\Kernel\QueueCode
public function testSetAndGetProperty() : void {
$i = $this
->getInvalidations(1);
// Assert that setting/getting properties on unbuffered objects won't work.
$this
->assertNull($this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
$this
->assertFalse($this->purgeQueueTxbuffer
->getProperty($i, 'prop', FALSE));
$this->purgeQueueTxbuffer
->setProperty($i, 'prop', 'value');
$this
->assertNull($this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
// Assert that once buffered, it all does work.
$this->purgeQueueTxbuffer
->set($i, TxBufferInterface::CLAIMED);
$this
->assertNull($this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
$this
->assertFalse($this->purgeQueueTxbuffer
->getProperty($i, 'prop', FALSE));
$this->purgeQueueTxbuffer
->setProperty($i, 'prop', 'value');
$this
->assertEquals('value', $this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
$this->purgeQueueTxbuffer
->setProperty($i, 'prop', 5.5);
$this
->assertEquals(5.5, $this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
$this->purgeQueueTxbuffer
->setProperty($i, 'prop', [
1,
]);
$this
->assertTrue(is_array($this->purgeQueueTxbuffer
->getProperty($i, 'prop')));
$this
->assertTrue(current($this->purgeQueueTxbuffer
->getProperty($i, 'prop')) === 1);
$this->purgeQueueTxbuffer
->delete($i);
$this
->assertNull($this->purgeQueueTxbuffer
->getProperty($i, 'prop'));
}