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());
|
$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
|
} // end class
|
||||||
|
|
||||||
@copy('bibtexbrowser.local.php.bak','bibtexbrowser.local.php');
|
@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)
|
function compare_bib_entry_by_year($a, $b)
|
||||||
{
|
{
|
||||||
$yearA = (int) $a->getYear();
|
$yearA = (int) $a->getYear(); // 0 if no year
|
||||||
$yearB = (int) $b->getYear();
|
$yearB = (int) $b->getYear();
|
||||||
|
|
||||||
if ($yearA === 0) {
|
if ($yearA === 0) {
|
||||||
@@ -3103,7 +3103,7 @@ class SimpleDisplay {
|
|||||||
|
|
||||||
/** sets the entries to be shown */
|
/** sets the entries to be shown */
|
||||||
function setEntries($entries) {
|
function setEntries($entries) {
|
||||||
$this->entries = $entries;
|
$this->entries = array_values($entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
function indexUp() {
|
function indexUp() {
|
||||||
@@ -3161,8 +3161,7 @@ class SimpleDisplay {
|
|||||||
|
|
||||||
/** Displays a set of bibtex entries in an HTML table */
|
/** Displays a set of bibtex entries in an HTML table */
|
||||||
function display() {
|
function display() {
|
||||||
|
usort($this->entries, 'compare_bib_entries');
|
||||||
uasort($this->entries, 'compare_bib_entries');
|
|
||||||
|
|
||||||
// now that the entries are sorted, setting the index of entries
|
// now that the entries are sorted, setting the index of entries
|
||||||
// this function can be overloaded
|
// this function can be overloaded
|
||||||
|
|||||||
Reference in New Issue
Block a user