fix(tasks): adjust make_dependent_sibling to new state logic
This commit is contained in:
parent
3652a290b2
commit
32fbf6db89
2 changed files with 8 additions and 4 deletions
10
src/tasks.rs
10
src/tasks.rs
|
@ -894,8 +894,10 @@ impl TasksRelay {
|
||||||
self.state = state;
|
self.state = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn move_up(&mut self) {
|
pub(crate) fn move_up(&mut self) -> Option<EventId> {
|
||||||
self.move_to(self.get_current_task().and_then(|t| t.parent_id()).cloned());
|
let parent = self.get_current_task().and_then(|t| t.parent_id()).cloned();
|
||||||
|
self.move_to(parent);
|
||||||
|
parent
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn flush(&self) {
|
pub(crate) fn flush(&self) {
|
||||||
|
@ -1093,10 +1095,10 @@ impl TasksRelay {
|
||||||
/// Returns true if successful, false if there is no current task
|
/// Returns true if successful, false if there is no current task
|
||||||
pub(crate) fn make_dependent_sibling(&mut self, input: &str) -> bool {
|
pub(crate) fn make_dependent_sibling(&mut self, input: &str) -> bool {
|
||||||
if let Some(pos) = self.get_position() {
|
if let Some(pos) = self.get_position() {
|
||||||
self.move_up();
|
let parent = self.move_up();
|
||||||
self.make_task_with(
|
self.make_task_with(
|
||||||
input,
|
input,
|
||||||
self.get_position()
|
parent
|
||||||
.map(|par| self.make_event_tag_from_id(par, MARKER_PARENT))
|
.map(|par| self.make_event_tag_from_id(par, MARKER_PARENT))
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.chain(once(self.make_event_tag_from_id(pos, MARKER_DEPENDS))),
|
.chain(once(self.make_event_tag_from_id(pos, MARKER_DEPENDS))),
|
||||||
|
|
|
@ -193,11 +193,13 @@ fn test_sibling_dependency() {
|
||||||
);
|
);
|
||||||
assert_tasks_view!(tasks, [parent]);
|
assert_tasks_view!(tasks, [parent]);
|
||||||
tasks.track_at(Timestamp::now(), Some(sub));
|
tasks.track_at(Timestamp::now(), Some(sub));
|
||||||
|
tasks.update_position();
|
||||||
assert_eq!(tasks.get_own_events_history().count(), 1);
|
assert_eq!(tasks.get_own_events_history().count(), 1);
|
||||||
assert_tasks_view!(tasks, []);
|
assert_tasks_view!(tasks, []);
|
||||||
|
|
||||||
tasks.make_dependent_sibling("sibling");
|
tasks.make_dependent_sibling("sibling");
|
||||||
assert_eq!(tasks.len(), 3);
|
assert_eq!(tasks.len(), 3);
|
||||||
|
tasks.update_position();
|
||||||
assert_eq!(tasks.viewed_tasks().len(), 2);
|
assert_eq!(tasks.viewed_tasks().len(), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue