test: add test for #80, it works already well

This commit is contained in:
Martin Monperrus
2018-02-27 21:53:27 +01:00
parent 31cb3ab81b
commit e4d19712bb
2 changed files with 25 additions and 4 deletions
+22
View File
@@ -728,6 +728,28 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertContains('<a href="https://scholar.google.com/scholar?cites=1234">[citations]</a>', $entry->toHTML());
}
function test80() {
// entries without year are at the top
$bibtex = "@article{keyWithoutYear,title={First article},author = {Martin}},@article{key2,title={Second article},author = {Martin}, year=2007}";
$test_data = fopen('php://memory','x+');
fwrite($test_data, $bibtex);
fseek($test_data,0);
$db = new BibDataBase();
$db->update_internal("inline", $test_data);
$d = new SimpleDisplay();
$d->setDB($db);
ob_start();
$d->display();
$output = ob_get_clean();
// print($output);
$this->assertEquals("keyWithoutYear", $d->entries[0]->getKey());
$this->assertEquals("key2", $d->entries[1]->getKey());
// the indices have been set by SimpleDisplay, by default the one at the top is the one withuut year (the first in $d->entries)
$this->assertEquals("[2]", $db->getEntryByKey('keyWithoutYear')->getAbbrv());
$this->assertEquals("[1]", $db->getEntryByKey('key2')->getAbbrv());
}
} // end class
@copy('bibtexbrowser.local.php.bak','bibtexbrowser.local.php');
+3 -4
View File
@@ -2066,7 +2066,7 @@ function compare_bib_entry_by_bibtex_order($a, $b)
*/
function compare_bib_entry_by_year($a, $b)
{
$yearA = (int) $a->getYear();
$yearA = (int) $a->getYear(); // 0 if no year
$yearB = (int) $b->getYear();
if ($yearA === 0) {
@@ -3103,7 +3103,7 @@ class SimpleDisplay {
/** sets the entries to be shown */
function setEntries($entries) {
$this->entries = $entries;
$this->entries = array_values($entries);
}
function indexUp() {
@@ -3161,8 +3161,7 @@ class SimpleDisplay {
/** Displays a set of bibtex entries in an HTML table */
function display() {
uasort($this->entries, 'compare_bib_entries');
usort($this->entries, 'compare_bib_entries');
// now that the entries are sorted, setting the index of entries
// this function can be overloaded