Skip to content

Commit

Permalink
test(index): add unit tests to oxc_index (#5979)
Browse files Browse the repository at this point in the history
Trying to improve `oxc_index`'s code coverage.
  • Loading branch information
DonIsaac committed Sep 22, 2024
1 parent f9b44c5 commit 84b7d1a
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions crates/oxc_index/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -795,3 +795,48 @@ impl<'de, I: Idx, T: serde::de::Deserialize<'de>> serde::de::Deserialize<'de> fo
Box::<[T]>::deserialize(deserializer).map(Into::into)
}
}

#[cfg(test)]
#[allow(clippy::legacy_numeric_constants)]
mod test {
use super::*;

define_index_type! {
pub struct TestIdx = u32;
}

#[test]
fn test_resize() {
let mut v = IndexVec::<TestIdx, u32>::with_capacity(10);
assert_eq!(v.len(), 0);
assert!(v.is_empty());

v.push(1);
assert_eq!(v.len(), 1);

v.resize(5, 1);
assert_eq!(v.len(), 5);
assert_eq!(v.as_slice(), &[1, 1, 1, 1, 1]);

v.shrink_to_fit();
assert_eq!(v.len(), 5);
}

#[test]
fn test_push_pop() {
let mut v = IndexVec::<TestIdx, u32>::new();
v.push(1);
assert_eq!(v.pop(), Some(1));
}

#[test]
fn test_clear() {
let mut v: IndexVec<TestIdx, u32> = [1, 2, 3].into_iter().collect();
assert_eq!(v.len(), 3);

v.clear();
assert_eq!(v.len(), 0);
assert_eq!(v.as_slice(), &[]);
assert_eq!(v, IndexVec::<TestIdx, u32>::new());
}
}

0 comments on commit 84b7d1a

Please sign in to comment.