Ejemplo n.º 1
0
def test_not_str_tagfunc_return(rec_hargittai):
    def yay_func(_):
        return 6.626

    with pytest.raises(TypeError) as excinfo:
        convert(rec_hargittai, tagfuncs={'yay': yay_func})
    assert ('yay_func' and 'yay') in str(excinfo.value)
Ejemplo n.º 2
0
def test_include_only_required_fields(rec_hargittai):
    bibtex = ("@book{hargittai2009,\n"
              " author = {Hargittai, István},\n"
              " publisher = {Springer},\n"
              " title = {Symmetry through the eyes of a chemist},\n"
              " year = {2009}\n"
              "}\n")
    assert convert(rec_hargittai, include='required') == bibtex
Ejemplo n.º 3
0
def test_disallow_blank_tags_by_default(rec_sholokhov):
    tagfuncs = {
        'firstblank': lambda _: '',
        'secondblank': lambda _: ' ',
    }
    output = convert(rec_sholokhov, tagfuncs=tagfuncs)
    assert ' firstblank = {}' not in output
    assert ' secondblank =' not in output
Ejemplo n.º 4
0
def test_allow_blank_tags(rec_sholokhov):
    tagfuncs = {
        'firstblank': lambda _: '',
        'secondblank': lambda _: ' ',
    }
    output = convert(rec_sholokhov, tagfuncs=tagfuncs, allow_blank=True)
    assert ' firstblank = {}' in output
    assert ' secondblank = { }' in output
Ejemplo n.º 5
0
def test_tag_values_alignment(rec_hargittai):
    bibtex = ("@book{hargittai2009,\n"
              " author    = {Hargittai, István},\n"
              " publisher = {Springer},\n"
              " title     = {Symmetry through the eyes of a chemist},\n"
              " year      = {2009}\n"
              "}\n")
    assert convert(rec_hargittai, include='required', align=True) == bibtex
Ejemplo n.º 6
0
def test_different_indent(rec_hargittai):
    bibtex = ("@book{hargittai2009,\n"
              "  author = {Hargittai, István},\n"
              "  publisher = {Springer},\n"
              "  title = {Symmetry through the eyes of a chemist},\n"
              "  year = {2009}\n"
              "}\n")
    output = convert(rec_hargittai, indent=2, include='required')
    assert output == bibtex
Ejemplo n.º 7
0
def test_include_with_non_existent_tag(rec_hargittai):
    with pytest.raises(ValueError):
        convert(rec_hargittai, include=['non-existent'])
Ejemplo n.º 8
0
def test_unknown_include_string(rec_hargittai):
    with pytest.raises(AssertionError):
        convert(rec_hargittai, include='unknown')
Ejemplo n.º 9
0
def test_invalid_include_should_raises(rec_hargittai):
    with pytest.raises(TypeError):
        convert(rec_hargittai, include=None)
Ejemplo n.º 10
0
def test_extend_tagfuncs(rec_hargittai):
    new_tagfuncs = dict(new=lambda _: 'Meow')
    output = convert(rec_hargittai, tagfuncs=new_tagfuncs)
    assert ' new = {Meow},\n' in output
Ejemplo n.º 11
0
def test_custom_tagfuncs_priority_over_include(rec_hargittai):
    custom_tagfuncs = dict(tag=lambda _: 'Meow')
    output = convert(rec_hargittai,
                     tagfuncs=custom_tagfuncs,
                     include='required')
    assert ' tag = {Meow},\n' in output
Ejemplo n.º 12
0
def test_also_include_edition_field(rec_hargittai):
    output = convert(rec_hargittai, include=['edition'])
    assert ' edition = {3rd ed.},\n' in output
Ejemplo n.º 13
0
def test_author_or_editor_with_blank(rec_clusters):
    output = convert(rec_clusters, allow_blank=True)
    assert ' author = ' not in output
    assert ' editor = {Jellinek, J.}' in output
Ejemplo n.º 14
0
def test_series(rec_clusters):
    output = convert(rec_clusters, include=['series'])
    assert ' series = {Cluster physics}' in output
Ejemplo n.º 15
0
def test_volume(rec_sholokhov):
    output = convert(rec_sholokhov, include=['volume'])
    assert ' volume = {4 v.}' in output
Ejemplo n.º 16
0
def test_subtitle(rec_tsing):
    output = convert(rec_tsing)
    assert 'The mushroom at the end of the world: on the possibility of life in capitalist ruins' in output
Ejemplo n.º 17
0
def test_another_publication_field(rec_tsing):
    bibtex = convert(rec_tsing, include=['address'])
    assert ' address = {Princeton}' in bibtex
    assert ' publisher = {Princeton University Press}' in bibtex
Ejemplo n.º 18
0
def test_tag_with_none_value(rec_sholokhov):
    none_func = lambda _: None
    with pytest.warns(UserWarning):
        output = convert(rec_sholokhov, tagfuncs=dict(note=none_func))
        assert ' none = {None}' not in output
Ejemplo n.º 19
0
def test_custom_tagfuncs(rec_hargittai):
    custom_tagfuncs = dict(title=lambda _: 'Meow')
    output = convert(rec_hargittai, tagfuncs=custom_tagfuncs)
    assert ' title = {Meow}' in output
Ejemplo n.º 20
0
def test_new_bibkey(rec_hargittai):
    output = convert(rec_hargittai, bibkey='hargittai2009-sym')
    assert 'hargittai2009-sym' in output
Ejemplo n.º 21
0
def test_author_or_editor(rec_clusters):
    output = convert(rec_clusters)
    assert ' author = ' not in output
    assert ' editor = {Jellinek, J.}' in output
Ejemplo n.º 22
0
def test_custom_bibtype(rec_hargittai):
    output = convert(rec_hargittai, bibtype='BOOK')
    assert '@BOOK{' in output