Browse Source

Previous behaviour of populate was correct so reverting back to it

index-subcmd
Vincent Prouillet 7 years ago
parent
commit
0b38568015
1 changed files with 16 additions and 16 deletions
  1. +16
    -16
      components/content/src/sorting.rs

+ 16
- 16
components/content/src/sorting.rs View File

@@ -43,19 +43,19 @@ pub fn populate_previous_and_next_pages(input: Vec<Page>) -> Vec<Page> {
let mut new_page = input[i].clone();

if i > 0 {
let mut previous_page = input[i - 1].clone();
let mut next_page = input[i - 1].clone();
// Remove prev/next otherwise we serialise the whole thing...
previous_page.previous = None;
previous_page.next = None;
new_page.previous = Some(Box::new(previous_page));
next_page.previous = None;
next_page.next = None;
new_page.next = Some(Box::new(next_page));
}

if i < input.len() - 1 {
let mut next_page = input[i + 1].clone();
let mut previous_page = input[i + 1].clone();
// Remove prev/next otherwise we serialise the whole thing...
next_page.previous = None;
next_page.next = None;
new_page.next = Some(Box::new(next_page));
previous_page.previous = None;
previous_page.next = None;
new_page.previous = Some(Box::new(previous_page));
}
res.push(new_page);
}
@@ -164,17 +164,17 @@ mod tests {
];
let pages = populate_previous_and_next_pages(input);

assert!(pages[0].clone().previous.is_none());
assert!(pages[0].clone().next.is_some());
assert_eq!(pages[0].clone().next.unwrap().meta.order.unwrap(), 2);
assert!(pages[0].clone().next.is_none());
assert!(pages[0].clone().previous.is_some());
assert_eq!(pages[0].clone().previous.unwrap().meta.order.unwrap(), 2);

assert!(pages[1].clone().next.is_some());
assert!(pages[1].clone().previous.is_some());
assert_eq!(pages[1].clone().previous.unwrap().meta.order.unwrap(), 1);
assert_eq!(pages[1].clone().next.unwrap().meta.order.unwrap(), 3);
assert_eq!(pages[1].clone().previous.unwrap().meta.order.unwrap(), 3);
assert_eq!(pages[1].clone().next.unwrap().meta.order.unwrap(), 1);

assert!(pages[2].clone().next.is_none());
assert!(pages[2].clone().previous.is_some());
assert_eq!(pages[2].clone().previous.unwrap().meta.order.unwrap(), 2);
assert!(pages[2].clone().next.is_some());
assert!(pages[2].clone().previous.is_none());
assert_eq!(pages[2].clone().next.unwrap().meta.order.unwrap(), 2);
}
}

Loading…
Cancel
Save