def test_content_entries_only(self):
        with open(
                'tests/data/multiple_entries_and_comments.bib') as bibtex_file:
            bib_database = bibdeskparser.load(bibtex_file)
        writer = BibTexWriter()
        writer.contents = ['entries']
        result = bibdeskparser.dumps(bib_database, writer)
        expected = """@book{Toto3000,
 author = {Toto, A and Titi, B},
 title = {A title}
}

@article{Wigner1938,
 author = {Wigner, E.},
 doi = {10.1039/TF9383400029},
 issn = {0014-7672},
 journal = {Trans. Faraday Soc.},
 owner = {fr},
 pages = {29--41},
 publisher = {The Royal Society of Chemistry},
 title = {The transition state method},
 volume = {34},
 year = {1938}
}

@book{Yablon2005,
 author = {Yablon, A.D.},
 publisher = {Springer},
 title = {Optical fiber fusion slicing},
 year = {2005}
}

"""
        self.assertEqual(result, expected)
Exemple #2
0
    def test_write_file(self):
        with open(self.input_file_path) as bibtex_file:
            bibtex_database = bibdeskparser.load(bibtex_file)

        with TemporaryFile(mode='w+') as bibtex_out_file:
            bibdeskparser.dump(bibtex_database, bibtex_out_file)
            bibtex_out_file.seek(0)
            bibtex_out_str = bibtex_out_file.read()

        self.assertEqual(bibtex_out_str, self.expected)
    def test_align(self):
        bib_database = BibDatabase()
        bib_database.entries = [{
            'ID': 'abc123',
            'ENTRYTYPE': 'book',
            'author': 'test',
            'thisisaverylongkey': 'longvalue',
        }]
        writer = BibTexWriter()
        writer.align_values = True
        result = bibdeskparser.dumps(bib_database, writer)
        expected = """@book{abc123,
 author             = {test},
 thisisaverylongkey = {longvalue}
}

"""
        self.assertEqual(result, expected)

        with open(
                'tests/data/multiple_entries_and_comments.bib') as bibtex_file:
            bib_database = bibdeskparser.load(bibtex_file)
        writer = BibTexWriter()
        writer.contents = ['entries']
        writer.align_values = True
        result = bibdeskparser.dumps(bib_database, writer)
        expected = """@book{Toto3000,
 author    = {Toto, A and Titi, B},
 title     = {A title}
}

@article{Wigner1938,
 author    = {Wigner, E.},
 doi       = {10.1039/TF9383400029},
 issn      = {0014-7672},
 journal   = {Trans. Faraday Soc.},
 owner     = {fr},
 pages     = {29--41},
 publisher = {The Royal Society of Chemistry},
 title     = {The transition state method},
 volume    = {34},
 year      = {1938}
}

@book{Yablon2005,
 author    = {Yablon, A.D.},
 publisher = {Springer},
 title     = {Optical fiber fusion slicing},
 year      = {2005}
}

"""
        self.assertEqual(result, expected)
    def test_content_comment_only(self):
        with open(
                'tests/data/multiple_entries_and_comments.bib') as bibtex_file:
            bib_database = bibdeskparser.load(bibtex_file)
        writer = BibTexWriter()
        writer.contents = ['comments']
        result = bibdeskparser.dumps(bib_database, writer)
        expected = """@comment{}

@comment{A comment}

"""
        self.assertEqual(result, expected)
Exemple #5
0
 def test_write_str(self):
     with open(self.input_file_path) as bibtex_file:
         bibtex_database = bibdeskparser.load(bibtex_file)
     result = bibdeskparser.dumps(bibtex_database)
     self.assertEqual(result, self.expected)
Exemple #6
0
 def test_parse_file_module(self):
     with open(self.input_file_path) as bibtex_file:
         bibtex_database = bibdeskparser.load(bibtex_file)
     self.assertEqual(bibtex_database.entries, self.entries_expected)