public function testDeterminingChanges() { // Initial creation.
$block =
$this->
createBlockContent('test_changes'
);
$this->
assertEquals(REQUEST_TIME,
$block->
getChangedTime(), 'Creating a block sets default "changed" timestamp.'
);
// Update the block without applying changes.
$block->
save();
$this->
assertEquals('test_changes',
$block->
label(), 'No changes have been determined.'
);
// Apply changes.
$block->
setInfo('updated'
);
$block->
save();
// The hook implementations block_content_test_block_content_presave() and
// block_content_test_block_content_update() determine changes and change
// the title as well as programmatically set the 'changed' timestamp.
$this->
assertEquals('updated_presave_update',
$block->
label(), 'Changes have been determined.'
);
$this->
assertEquals(979534800,
$block->
getChangedTime(), 'Saving a content block uses "changed" timestamp set in presave hook.'
);
// Test the static block load cache to be cleared.
$block = BlockContent::
load($block->
id());
$this->
assertEquals('updated_presave',
$block->
label(), 'Static cache has been cleared.'
);
}