test: add test for #80, it works already well
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user