$this->
assertSame($this->testHash,
$row->
getHash(), 'Correct hash.'
);
$row->
rehash();
$this->
assertSame($this->testHash,
$row->
getHash(), 'Correct hash even doing it twice.'
);
// Set the map to needs update.
$test_id_map =
[ 'original_hash' => '',
'hash' => '',
'source_row_status' => MigrateIdMapInterface::STATUS_NEEDS_UPDATE,
];
$row->
setIdMap($test_id_map);
$this->
assertTrue($row->
needsUpdate());
$row->
rehash();
$this->
assertSame($this->testHash,
$row->
getHash(), 'Correct hash even if id_mpa have changed.'
);
$row->
setSourceProperty('title', 'new title'
);
$row->
rehash();
$this->
assertSame($this->testHashMod,
$row->
getHash(), 'Hash changed correctly.'
);
// Check hash calculation algorithm.
$hash =
hash('sha256',
serialize($row->
getSource()));
$this->
assertSame($hash,
$row->
getHash());
// Check length of generated hash used for mapping schema.
$this->
assertSame(64,
strlen($row->
getHash()));