23 lines
788 B
Python
23 lines
788 B
Python
import datetime
|
|
|
|
import pytest
|
|
|
|
from obsidian_import import obsidian
|
|
|
|
from .test_obsidian_vault import EXAMPLES, EXAMPLE_DATE, EXAMPLE_TIMEZONE
|
|
|
|
|
|
def test_parse_event_string():
|
|
formatted = '17:44 | Watched [[../../media/anime/Azumanga Daioh]]. Season 1 Episode 6: *Sports Fest*'
|
|
|
|
event = obsidian.parse_event_string(formatted, EXAMPLE_DATE, EXAMPLE_TIMEZONE)
|
|
assert event is not None
|
|
assert event.subject == 'Azumanga Daioh'
|
|
assert event.start_time is not None
|
|
|
|
@pytest.mark.parametrize('event', EXAMPLES)
|
|
def test_format_preserves_information(event: obsidian.Event):
|
|
formatted = obsidian.format_event_string(event, EXAMPLE_TIMEZONE)
|
|
assert obsidian.parse_event_string(formatted, EXAMPLE_DATE,
|
|
EXAMPLE_TIMEZONE) == event
|