def test_note_with_star_whitespace(self): title = 'a sample task' note = 'my note' phrase = '%s * %s%s' % (title, self.note_delimiter, note) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, starred=True, note=note)
def test_taskfolder_name_diacritic_insensitive_match(self): target_taskfolder = _diacritic_taskfolder title = 'a sample task' phrase = '%s: %s' % (_diacritic_taskfolder_insensitive, title) # Jardineria: a sample task (no accent) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_note(self): title = 'a sample task' note = 'my note' phrase = '%s %s%s' % (title, self.note_delimiter, note) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, note=note)
def test_taskfolder_name_case_insensitive_match(self): target_taskfolder = _single_word_taskfolder title = 'a sample task' phrase = '%s: %s' % (target_taskfolder.upper(), title) # FINANCES: a sample task task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_taskfolder_initials(self): target_taskfolder = _multi_word_taskfolder title = 'a sample task' phrase = '%s: %s' % (initials(target_taskfolder), title) # SL: a sample task task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_infix_taskfolder_initials(self): target_taskfolder = _multi_word_taskfolder title = 'a sample task' phrase = '%s in list %s' % (title, initials(target_taskfolder)) # a sample task in list SL task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_taskfolder_name_diacritic_exact_match(self): target_taskfolder = _diacritic_taskfolder title = 'a sample task' phrase = '%s: %s' % (target_taskfolder, title) # Jardinería: a sample task task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_taskfolder_substring_infix(self): target_taskfolder = _single_word_taskfolder title = 'a sample task' phrase = '%s: %s' % (target_taskfolder[2:5], title) # nan: a sample task task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_default_time_today_disabled_offset(self): date_component = _today now = datetime.now() reminder_date = TaskParser.reminder_date_combine(date_component) assert reminder_date.date() == date_component assert reminder_date.time() == _default_reminder_time
def test_infix_taskfolder_name_exact_match(self): target_taskfolder = _single_word_taskfolder title = 'a sample task' phrase = '%s in %s' % (title, target_taskfolder) # a sample task in Finances task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_tasks_is_default_before_syncing_taskfolders(self): target_taskfolder = _defaultTaskfolder title = 'a sample task' phrase = title task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_tasks_is_default_for_invalid_taskfolder_preference(self): target_taskfolder = _defaultTaskfolder title = 'a sample task' phrase = title task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_default_taskfolder_preference_is_default(self): target_taskfolder = _single_word_taskfolder title = 'a sample task' phrase = title task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder))
def test_hashtag_prompt_following_list(self): target_taskfolder = _single_word_taskfolder title = '#' phrase = '%s:%s' % (target_taskfolder, title) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, list_title=target_taskfolder, list_id=_taskfolders.index(target_taskfolder), has_hashtag_prompt=True)
def test_explicit_due_date(self): title = 'a sample task' due_phrase = 'due 12/13/14' due_date = _12_13_14 phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date)
def test_due_date_formats_with_keyword_and_filler_text(self): for (due_phrase, due_date) in due_date_formats.iteritems(): due_phrase = 'due any filler text ' + due_phrase title = 'a sample task' phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date)
def test_remove_hashtag_prompt(self): hashtag = 'Example' phrase = '%s #%s' % (self.title, hashtag) task = TaskParser(phrase) new_phrase = self.task.phrase_with(hashtag=None) assert new_phrase == '%s' % (self.title)
def test_multiline_note(self): title = 'a sample task' source_note = 'my\ntest\tnote' note = 'my test note' phrase = '%s %s %s' % (title, self.note_delimiter, note) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, note=note)
def test_case_insensitive_due_date(self): title = 'a sample task' due_phrase = 'DUe 12/13/14' due_date = _12_13_14 phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date)
def test_change_hashtags(self): hashtag = 'Example' phrase = '%s #' % self.title task = TaskParser(phrase) new_phrase = self.task.phrase_with(hashtag=hashtag) assert new_phrase == '%s #%s' % (self.title, hashtag)
def test_reminder_implicitly_relative_to_today(self): title = 'a sample task' reminder_phrase = 'r noon' reminder_date = datetime.combine(_today, time(12, 0, 0)) phrase = '%s %s' % (title, reminder_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, reminder_date=reminder_date)
def test_reminder_explicit_date(self): title = 'a sample task' reminder_phrase = 'remind me at dinner on Dec 13, 2014' reminder_date = datetime.combine(_12_13_14, time(19, 0, 0)) phrase = '%s %s' % (title, reminder_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, reminder_date=reminder_date)
def test_explicit_due_date_with_time_disabled_in_task(self): due_phrase = 'due at 4pm tomorrow' title = 'a sample task %s' % due_phrase not_due_phrase = 'not due' phrase = '%s %s' % (title, not_due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title)
def test_due_date_with_time_overrides_automatic_reminder(self): title = 'a sample task' due_date = _tomorrow due_phrase = 'due 8:00 tomorrow' reminder_date = datetime.combine(due_date, time(8, 0, 0)) phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)
def test_automatic_reminder_with_due_date(self): title = 'a sample task' due_date = _tomorrow due_phrase = 'due tomorrow' reminder_date = datetime.combine(due_date, _default_reminder_time) phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)
def test_reminder_with_time_implicitly_due_today(self): title = 'a sample task' reminder_phrase = 'at noon' reminder_date = datetime.combine(_today, _noon) due_date = _today phrase = '%s %s' % (title, reminder_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)
def test_due_date_with_time_sets_reminder(self): title = 'a sample task' due_phrase = 'due 12/13/14 at noon' due_date = _12_13_14 reminder_date = datetime.combine(due_date, _noon) phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)
def test_time_only_due_today_with_reminder_no_keyword(self): title = 'a sample task' due_phrase = 'at noon' due_date = _today reminder_date = datetime.combine(_today, _noon) phrase = '%s %s' % (title, due_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)
def test_reminder_implicitly_relative_to_due_date_no_time(self): title = 'a sample task' due_date = _tomorrow due_phrase = 'due tomorrow' reminder_phrase = 'r' reminder_date = datetime.combine(due_date, _default_reminder_time) phrase = '%s %s %s' % (title, due_phrase, reminder_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date, has_reminder_prompt=True)
def test_explicit_reminder_overrides_due_date_with_time(self): title = 'a sample task' due_date = _tomorrow due_phrase = 'due tomorrow at noon' reminder_phrase = 'alarm at 8:00a' reminder_date = datetime.combine(due_date, time(8, 0, 0)) phrase = '%s %s %s' % (title, due_phrase, reminder_phrase) task = TaskParser(phrase) assert_task(task, phrase=phrase, title=title, due_date=due_date, reminder_date=reminder_date)