Пример #1
0
def test_list_no_colour(tmpdir):
    tmpdir.join("default").mkdir()

    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite3"))
    list_ = next(db.lists())

    assert list_.colour is None
Пример #2
0
def test_list_colour(tmpdir):
    tmpdir.join("default").mkdir()
    with tmpdir.join("default").join("color").open("w") as f:
        f.write("#8ab6d2")

    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite3"))
    list_ = next(db.lists())

    assert list_.colour == "#8ab6d2"
Пример #3
0
def test_list_no_colour(tmpdir):
    tmpdir.join('default').mkdir()

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.color_raw is None
    assert list_.color_rgb is None
    assert list_.color_ansi is None
Пример #4
0
def test_list_colour(tmpdir):
    tmpdir.join('default').mkdir()
    with tmpdir.join('default').join('color').open('w') as f:
        f.write('#8ab6d2')

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.colour == '#8ab6d2'
Пример #5
0
def test_list_colour_cache_invalidation(tmpdir, sleep):
    tmpdir.join("default").mkdir()
    with tmpdir.join("default").join("color").open("w") as f:
        f.write("#8ab6d2")

    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite3"))
    list_ = next(db.lists())

    assert list_.colour == "#8ab6d2"

    sleep()

    with tmpdir.join("default").join("color").open("w") as f:
        f.write("#f874fd")

    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite3"))
    list_ = next(db.lists())

    assert list_.colour == "#f874fd"
Пример #6
0
def test_list_displayname(tmpdir):
    tmpdir.join("default").mkdir()
    with tmpdir.join("default").join("displayname").open("w") as f:
        f.write("personal")

    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite3"))
    list_ = next(db.lists())

    assert list_.name == "personal"
    assert str(list_) == "personal"
Пример #7
0
def test_list_displayname(tmpdir):
    tmpdir.join('default').mkdir()
    with tmpdir.join('default').join('displayname').open('w') as f:
        f.write('personal')

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.name == 'personal'
    assert str(list_) == 'personal'
Пример #8
0
def test_list_colour_cache_invalidation(tmpdir, sleep):
    tmpdir.join('default').mkdir()
    with tmpdir.join('default').join('color').open('w') as f:
        f.write('#8ab6d2')

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.colour == '#8ab6d2'

    sleep()

    with tmpdir.join('default').join('color').open('w') as f:
        f.write('#f874fd')

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.colour == '#f874fd'
Пример #9
0
def test_list_colour(tmpdir):
    tmpdir.join('default').mkdir()
    with tmpdir.join('default').join('color').open('w') as f:
        f.write('#8ab6d2')

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite3'))
    list_ = next(db.lists())

    assert list_.color_raw == '#8ab6d2'
    assert list_.color_rgb == (138, 182, 210)
    assert list_.color_ansi == '\x1b[38;2;138;182;210m'
Пример #10
0
def test_change_paths(tmpdir, create):
    old_todos = set("abcdefghijk")
    for x in old_todos:
        create("{}.ics".format(x), "SUMMARY:{}\n".format(x), x)

    tmpdir.mkdir("3")

    db = Database([tmpdir.join(x) for x in old_todos], tmpdir.join("cache.sqlite"))

    assert {t.summary for t in db.todos()} == old_todos

    db.paths = [str(tmpdir.join("3"))]
    db.update_cache()

    assert len(list(db.lists())) == 1
    assert not list(db.todos())
Пример #11
0
def test_change_paths(tmpdir, create):
    old_todos = set('abcdefghijk')
    for x in old_todos:
        create('{}.ics'.format(x), 'SUMMARY:{}\n'.format(x), x)

    tmpdir.mkdir('3')

    db = Database([tmpdir.join(x) for x in old_todos],
                  tmpdir.join('cache.sqlite'))

    assert {t.summary for t in db.todos()} == old_todos

    db.paths = [str(tmpdir.join('3'))]
    db.update_cache()

    assert len(list(db.lists())) == 1
    assert not list(db.todos())
Пример #12
0
def test_due_aware(tmpdir, runner, create, now_for_tz):
    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite'))
    l = next(db.lists())

    for tz in ['CET', 'HST']:
        for i in [1, 23, 25, 48]:
            todo = FileTodo()
            todo.due = now_for_tz(tz) + timedelta(hours=i)
            todo.summary = '{}'.format(i)

            db.save(todo, l)

    todos = list(db.todos(due=24))

    assert len(todos) == 4
    assert todos[0].summary == "23"
    assert todos[1].summary == "23"
    assert todos[2].summary == "1"
    assert todos[3].summary == "1"
Пример #13
0
def test_due_aware(tmpdir, runner, create, now_for_tz):
    db = Database([tmpdir.join("default")], tmpdir.join("cache.sqlite"))
    list_ = next(db.lists())

    for tz in ["CET", "HST"]:
        for i in [1, 23, 25, 48]:
            todo = Todo(new=True)
            todo.due = now_for_tz(tz) + timedelta(hours=i)
            todo.summary = "{}".format(i)

            todo.list = list_
            db.save(todo)

    todos = list(db.todos(due=24))

    assert len(todos) == 4
    assert todos[0].summary == "23"
    assert todos[1].summary == "23"
    assert todos[2].summary == "1"
    assert todos[3].summary == "1"
Пример #14
0
def test_due_aware(tmpdir, runner, create):
    now = datetime.now()

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite'))
    l = next(db.lists())

    for tz in ['CET', 'HST']:
        for i in [1, 23, 25, 48]:
            todo = FileTodo()
            todo.due = (now + timedelta(hours=i)).replace(tzinfo=tzlocal()) \
                .astimezone(pytz.timezone(tz))
            todo.summary = '{}'.format(i)

            db.save(todo, l)

    todos = list(db.todos(due=24))

    assert len(todos) == 4
    assert todos[0].summary == "23"
    assert todos[1].summary == "23"
    assert todos[2].summary == "1"
    assert todos[3].summary == "1"
Пример #15
0
def test_due_aware(tmpdir, runner, create):
    now = datetime.now()

    db = Database([tmpdir.join('default')], tmpdir.join('cache.sqlite'))
    l = next(db.lists())

    for tz in ['CET', 'HST']:
        for i in [1, 23, 25, 48]:
            todo = FileTodo()
            todo.due = (now + timedelta(hours=i)).replace(tzinfo=tzlocal()) \
                .astimezone(pytz.timezone(tz))
            todo.summary = '{}'.format(i)

            db.save(todo, l)

    todos = list(db.todos(due=24))

    assert len(todos) == 4
    assert todos[0].summary == "23"
    assert todos[1].summary == "23"
    assert todos[2].summary == "1"
    assert todos[3].summary == "1"