adds tests for the bibtex view option
This commit is contained in:
@@ -209,6 +209,20 @@ class BTBTest extends PHPUnit_Framework_TestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function test_filter_view() {
|
||||||
|
$test_data = fopen('php://memory','x+');
|
||||||
|
fwrite($test_data, "@article{aKey,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009,pages={42--4242},number=1}\n");
|
||||||
|
fseek($test_data,0);
|
||||||
|
$db = new BibDataBase();
|
||||||
|
$db->update_internal("inline", $test_data);
|
||||||
|
$dis = $db->getEntryByKey('aKey');
|
||||||
|
$this->assertEquals("@article{aKey,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009,pages={42--4242},number=1}",$dis->getText());
|
||||||
|
|
||||||
|
// now ith option
|
||||||
|
bibtexbrowser_configure('BIBTEXBROWSER_BIBTEX_VIEW', 'reconstructed');
|
||||||
|
bibtexbrowser_configure('BIBTEXBROWSER_BIBTEX_VIEW_FILTEREDOUT', 'pages|number');
|
||||||
|
$this->assertEquals("@article{aKey,\n title = {A Book},\n author = {Martin Monperrus},\n publisher = {Springer},\n year = {2009},\n}\n", $dis->getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // end class
|
} // end class
|
||||||
|
|||||||
+13
-3
@@ -29,6 +29,16 @@ $CONFIGURATION = array();
|
|||||||
function bibtexbrowser_configure($key, $value) {
|
function bibtexbrowser_configure($key, $value) {
|
||||||
global $CONFIGURATION;
|
global $CONFIGURATION;
|
||||||
$CONFIGURATION[$key]=$value;
|
$CONFIGURATION[$key]=$value;
|
||||||
|
if (!defined($key)) { define($key, $value); } // for backward compatibility
|
||||||
|
}
|
||||||
|
function bibtexbrowser_configuration($key) {
|
||||||
|
global $CONFIGURATION;
|
||||||
|
if (isset($CONFIGURATION[$key])) {return $CONFIGURATION[$key];}
|
||||||
|
if (defined($key)) {return constant($key);}
|
||||||
|
throw new Exception('no such configuration parameter: '.$key);
|
||||||
|
}
|
||||||
|
function c($key) { // shortcut
|
||||||
|
return bibtexbrowser_configuration($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
// *************** CONFIGURATION
|
// *************** CONFIGURATION
|
||||||
@@ -1521,13 +1531,13 @@ class BibEntry {
|
|||||||
|
|
||||||
/** Returns the verbatim text of this bib entry. */
|
/** Returns the verbatim text of this bib entry. */
|
||||||
function getText() {
|
function getText() {
|
||||||
if (BIBTEXBROWSER_BIBTEX_VIEW == 'original') {
|
if (c('BIBTEXBROWSER_BIBTEX_VIEW') == 'original') {
|
||||||
return $this->text;
|
return $this->text;
|
||||||
}
|
}
|
||||||
if (BIBTEXBROWSER_BIBTEX_VIEW == 'reconstructed') {
|
if (c('BIBTEXBROWSER_BIBTEX_VIEW') == 'reconstructed') {
|
||||||
$result = '@'.$this->getType().'{'.$this->getKey().",\n";
|
$result = '@'.$this->getType().'{'.$this->getKey().",\n";
|
||||||
foreach ($this->fields as $k=>$v) {
|
foreach ($this->fields as $k=>$v) {
|
||||||
if ( !preg_match('/^('.BIBTEXBROWSER_BIBTEX_VIEW_FILTEREDOUT.')$/i', $k)
|
if ( !preg_match('/^('.c('BIBTEXBROWSER_BIBTEX_VIEW_FILTEREDOUT').')$/i', $k)
|
||||||
&& !preg_match('/^(key|'.Q_INNER_AUTHOR.'|'.Q_INNER_TYPE.')$/i', $k) )
|
&& !preg_match('/^(key|'.Q_INNER_AUTHOR.'|'.Q_INNER_TYPE.')$/i', $k) )
|
||||||
{
|
{
|
||||||
$result .= ' '.$k.' = {'.$v.'},'."\n";
|
$result .= ' '.$k.' = {'.$v.'},'."\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user