X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Futils%2FReferenceLinkDB.php;fp=tests%2Futils%2FReferenceLinkDB.php;h=e887aa78c2251747c46cf37fab4359c782b32b36;hb=9ec0a61156192484ca90a8dc88b7c23b26129755;hp=f09eebc13b26f701ecc8944602794bc22adbc219;hpb=96a1c79456b27892b9221707803f29585565b9dc;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php index f09eebc1..e887aa78 100644 --- a/tests/utils/ReferenceLinkDB.php +++ b/tests/utils/ReferenceLinkDB.php @@ -141,12 +141,34 @@ class ReferenceLinkDB */ public function write($filename) { + $this->reorder(); file_put_contents( $filename, '_links))).' */ ?>' ); } + /** + * Reorder links by creation date (newest first). + * + * Also update the urls and ids mapping arrays. + * + * @param string $order ASC|DESC + */ + public function reorder($order = 'DESC') + { + // backward compatibility: ignore reorder if the the `created` field doesn't exist + if (! isset(array_values($this->_links)[0]['created'])) { + return; + } + + $order = $order === 'ASC' ? -1 : 1; + // Reorder array by dates. + usort($this->_links, function($a, $b) use ($order) { + return $a['created'] < $b['created'] ? 1 * $order : -1 * $order; + }); + } + /** * Returns the number of links in the reference data */ @@ -187,6 +209,7 @@ class ReferenceLinkDB public function getLinks() { + $this->reorder(); return $this->_links; }