diff --git a/tests/test_data_metadata.py b/tests/test_data_metadata.py index 9ea94b6aad5220b6cf05daaa504615393ba3091b..4ac7d5ab64a5873f58d6d429337e082d1c564a03 100644 --- a/tests/test_data_metadata.py +++ b/tests/test_data_metadata.py @@ -28,6 +28,15 @@ def simple_txn(index=None, key=None): ]) SIMPLE_TXN_METAKEYS = frozenset(['filename', 'lineno', 'note']) +LINK_STRINGS = [ + '', + 'link', + ' link', + 'link ', + 'link1 link2', + ' link1 link2 link3 ', +] + def test_metadata_transforms_source(): source = {'1': 'one'} meta = data.Metadata(source) @@ -36,14 +45,7 @@ def test_metadata_transforms_source(): del meta['1'] assert set(source) == {'2'} -@pytest.mark.parametrize('value', [ - '', - 'link', - ' link', - 'link ', - 'link1 link2', - ' link1 link2 link3 ', -]) +@pytest.mark.parametrize('value', LINK_STRINGS) def test_get_links(value): meta = data.Metadata({'key': value}) assert list(meta.get_links('key')) == value.split() @@ -58,6 +60,20 @@ def test_get_links_bad_type(value): with pytest.raises(TypeError): meta.get_links('key') +@pytest.mark.parametrize('value', LINK_STRINGS) +def test_report_links(value): + meta = data.Metadata({'key': value}) + assert list(meta.report_links('key')) == value.split() + +def test_report_links_missing(): + meta = data.Metadata({}) + assert not meta.report_links('key') + +@pytest.mark.parametrize('value', testutil.NON_STRING_METADATA_VALUES) +def test_report_links_bad_type(value): + meta = data.Metadata({'key': value}) + assert not meta.report_links('key') + def test_first_link_from_txn(simple_txn): meta = data.PostingMeta(simple_txn, 0) assert meta.first_link('note') == 'txn'