From 166f973229986ea77a4315d1459bf9cfb180c79a Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Sat, 7 May 2022 10:55:16 +0200 Subject: [PATCH] fix @misc --- BibtexbrowserTest.php | 21 ++++++++++++++++----- bibtexbrowser.php | 7 ++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/BibtexbrowserTest.php b/BibtexbrowserTest.php index 2cfc852..1d97897 100755 --- a/BibtexbrowserTest.php +++ b/BibtexbrowserTest.php @@ -98,7 +98,7 @@ class BibtexbrowserTest extends PHPUnit_Framework_TestCase { // default style $this->assertEquals("A Book (Martin Monperrus), Springer, 2009. [bibtex]",strip_tags($first_entry->toHTML())); - $this->assertEquals('A Book (), Springer, . [bibtex]',$first_entry->toHTML()); + $this->assertEquals('A Book (), Springer, . [bibtex]',$first_entry->toHTML()); // IEEE style bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','JanosBibliographyStyle'); @@ -134,7 +134,7 @@ class BibtexbrowserTest extends PHPUnit_Framework_TestCase { bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','DefaultBibliographyStyle'); bibtexbrowser_configure('BIBTEXBROWSER_LINK_STYLE','nothing'); $this->assertEquals("An Article (Foo Bar and Jane Doe), In New Results, volume 5, 2009. ",strip_tags($first_entry->toHTML())); - $this->assertEquals('An Article ( and ), In New Results, volume 5, . ',$first_entry->toHTML()); + $this->assertEquals('An Article ( and ), In New Results, volume 5, . ',$first_entry->toHTML()); // listing the CSS classes $css_classes_before = $this->extract_css_classes($first_entry->toHTML()); @@ -153,7 +153,7 @@ class BibtexbrowserTest extends PHPUnit_Framework_TestCase { // changing the target bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','DefaultBibliographyStyle'); bibtexbrowser_configure('BIBTEXBROWSER_LINKS_TARGET','_top'); - $this->assertEquals('An Article ( and ), In New Results, volume 5, . ',$first_entry->toHTML()); + $this->assertEquals('An Article ( and ), In New Results, volume 5, . ',$first_entry->toHTML()); // testing ABBRV_TYPE bibtexbrowser_configure('ABBRV_TYPE','year'); @@ -899,10 +899,21 @@ class BibtexbrowserTest extends PHPUnit_Framework_TestCase { $this->assertEquals("may", $data[1]->getField("month")); $this->assertEquals("dec", $data[2]->getField("month")); - $bibtex = "@article{doe2004,year=2004},@article{doe1999,year=1999},@article{doe2000,year=2000}"; - } + function test_misc() { + bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','DefaultBibliographyStyle'); + $bibtex = "@misc{doe2004,title={foo bar title}, publisher={publisher}, howpublished={howpublished}}"; + $test_data = fopen('php://memory','x+'); + fwrite($test_data, $bibtex); + fseek($test_data,0); + $db = new BibDataBase(); + $db->update_internal("inline", $test_data); + // print_r($db); + $data = array_values($db->bibdb); + $this->assertEquals('foo bar title, howpublished. [bibtex]', strip_tags($data[0]->toHTML())); + } + } // end class diff --git a/bibtexbrowser.php b/bibtexbrowser.php index 366ce86..437af51 100755 --- a/bibtexbrowser.php +++ b/bibtexbrowser.php @@ -2402,13 +2402,14 @@ function DefaultBibliographyStyle($bibentry) { $publisher .= ', '.$bibentry->getField("institution"); } + if ($bibentry->hasField("publisher")) { + $publisher = $bibentry->getField("publisher"); + } + if ($type=="misc") { $publisher = $bibentry->getField('howpublished'); } - if ($bibentry->hasField("publisher")) { - $publisher = $bibentry->getField("publisher"); - } if ($publisher!='') $entry[] = ''.$publisher.'';