public function test_backup_with_broken_symlink()
{
if (!function_exists('symlink')) {
$this->markTestSkipped('symlink function not defined');
}
$this->symlink = trailingslashit($this->test_data) . basename(__FILE__);
file_put_contents($this->test_data . '/symlink', '');
$symlink_created = @symlink($this->test_data . '/symlink', $this->symlink);
unlink($this->test_data . '/symlink');
if (!$symlink_created) {
$this->markTestSkipped('Couldn\'t create symlink to test with');
}
$this->assertFileNotExists($this->symlink);
$this->assertTrue(is_link($this->symlink));
$this->backup->backup();
$this->assertFileExists($this->backup->get_backup_filepath());
$this->assertArchiveNotContains($this->backup->get_backup_filepath(), array(basename($this->symlink)));
$this->assertArchiveFileCount($this->backup->get_backup_filepath(), 3);
$this->assertEmpty($this->backup->get_errors());
}