Browse Source

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

pull/91/head
Martin Monperrus 7 years ago
parent
commit
e4d19712bb
  1. 22
      bibtexbrowser-test.php
  2. 7
      bibtexbrowser.php

22
bibtexbrowser-test.php

@ -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');

7
bibtexbrowser.php

@ -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

Loading…
Cancel
Save