def test_writing_all_list_tags(): expected = [ { "type_of_reference": "JOUR", "authors": ["Marx, Karl", "Marxus, Karlus"], "issn": ["12345", "ABCDEFG", "666666"], } ] export = rispy.dumps(expected, enforce_list_tags=False, list_tags=[]) entries = rispy.loads(export, list_tags=["AU", "SN"]) assert expected == entries
def test_dump_and_load(): # check that we can write the same file we read source_fp = DATA_DIR / "example_full.ris" # read text actual = source_fp.read_text() # map to RIS structure and dump entries = rispy.loads(actual) export = rispy.dumps(entries) assert actual == export
def test_custom_list_tags(): filepath = DATA_DIR / "example_custom_list_tags.ris" list_tags = deepcopy(rispy.LIST_TYPE_TAGS) list_tags.append("SN") expected = { "type_of_reference": "JOUR", "authors": ["Marx, Karl", "Marxus, Karlus"], "issn": ["12345", "ABCDEFG", "666666"], } actual = filepath.read_text() entries = rispy.loads(actual, list_tags=list_tags) assert expected == entries[0] export = rispy.dumps(entries, list_tags=list_tags) assert export == actual
def test_skip_unknown_tags(): entries = [ { "type_of_reference": "JOUR", "authors": ["Marx, Karl", "Marxus, Karlus"], "issn": "12222", "unknown_tag": {"JP": ["CRISPR"], "DC": ["Direct Current"]}, } ] expected = [ { "type_of_reference": "JOUR", "authors": ["Marx, Karl", "Marxus, Karlus"], "issn": "12222", } ] export = rispy.dumps(entries, skip_unknown_tags=True) reload = rispy.loads(export) assert reload == expected