test: clarify feature implementation status
test / core (push) Successful in 1m2s

This commit is contained in:
Tom You
2026-07-06 11:21:24 +00:00
parent 3aea14b64f
commit d27389d094
+18
View File
@@ -1,5 +1,6 @@
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum FeatureStatus {
Implemented,
Modeled,
UiPrototype,
Planned,
@@ -188,6 +189,13 @@ pub fn feature_matrix() -> Vec<(&'static str, &'static str)> {
.collect()
}
pub fn features_by_status(status: FeatureStatus) -> Vec<&'static FeatureSpec> {
TABBY_FEATURES
.iter()
.filter(|feature| feature.status == status)
.collect()
}
pub fn missing_required_features<'a>(required_keys: &'a [&'a str]) -> Vec<&'a str> {
required_keys
.iter()
@@ -262,4 +270,14 @@ mod tests {
"scaffold should not imply every Tabby feature is complete"
);
}
#[test]
fn status_queries_distinguish_implemented_from_modeled() {
assert!(features_by_status(FeatureStatus::Implemented).is_empty());
let modeled = features_by_status(FeatureStatus::Modeled);
assert!(modeled.iter().any(|feature| feature.key == "nested-splits"));
assert!(modeled
.iter()
.all(|feature| feature.status == FeatureStatus::Modeled));
}
}