Format Rust sources at 100 columns

This commit is contained in:
Samuel Onoja committed 2026-10-22 01:28:03 +01:00
1 parent 4661f595f8
commit 610478f8c7
336 files changed
+23497 -7892

No files matched your search

+69 -26
View File
@@ -10,7 +10,8 @@ fn removed_panel_surface_fields_are_rejected() {
"style continuous;",
"style islands;",
] {
let document = ferese_config::Document::parse(&format!("panel main {{ {source} }}")).unwrap();
let document =
ferese_config::Document::parse(&format!("panel main {{ {source} }}")).unwrap();
assert!(
serde_json::from_value::<Vec<Panel>>(document.get("panels").unwrap().clone()).is_err(),
"{source}"
@@ -26,9 +27,11 @@ fn panel_surfaces_round_trip_without_group_overrides() {
let panel = &panels[0];
assert_eq!(panel.group_surface(), GroupSurface::Island);
assert_eq!(panel.preset(), Some(PanelStyle::Floating));
doc.set("panels", serde_json::to_value(&panels).unwrap()).unwrap();
doc.set("panels", serde_json::to_value(&panels).unwrap())
.unwrap();
let restored = ferese_config::Document::parse(&doc.to_string()).unwrap();
let restored: Vec<Panel> = serde_json::from_value(restored.get("panels").unwrap().clone()).unwrap();
let restored: Vec<Panel> =
serde_json::from_value(restored.get("panels").unwrap().clone()).unwrap();
assert_eq!(restored, panels);
assert!(doc.to_string().contains("// keep"));
let mut preset = panel.clone();
@@ -77,7 +80,10 @@ animations { speed 0.8; }
validate(&panels).unwrap();
assert_eq!(panels[0].end.groups[0].padding, [2, 3]);
assert!(panels[0].background_opacity.is_none());
assert_eq!(panels[0].end.groups[0].items[0].overflow, OverflowPolicy::Always);
assert_eq!(
panels[0].end.groups[0].items[0].overflow,
OverflowPolicy::Always
);
doc.set("panels.0.end.groups.0.items.0.overflow", "never".into())
.unwrap();
let path = "panels.0.end.groups.0.items";
@@ -102,13 +108,18 @@ animations { speed 0.8; }
panels[0].item(&ItemId("network".into())).unwrap().overflow,
OverflowPolicy::Never
);
assert_eq!(parsed.get("animations.speed").unwrap(), &serde_json::json!(0.8));
assert_eq!(
parsed.get("animations.speed").unwrap(),
&serde_json::json!(0.8)
);
let value = serde_json::to_value(&panels).unwrap();
doc.set("panels", value.clone()).unwrap();
let round_trip = ferese_config::Document::parse(&doc.to_string()).unwrap();
let restored: Vec<Panel> = serde_json::from_value(round_trip.get("panels").unwrap().clone()).unwrap();
let restored: Vec<Panel> =
serde_json::from_value(round_trip.get("panels").unwrap().clone()).unwrap();
assert_eq!(restored, panels);
doc.set(path, Vec::<serde_json::Value>::new().into()).unwrap();
doc.set(path, Vec::<serde_json::Value>::new().into())
.unwrap();
assert!(doc.to_string().contains("// network comment"));
let restored: Vec<Panel> = serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
assert!(restored[0].end.groups[0].items.is_empty());
@@ -117,8 +128,10 @@ animations { speed 0.8; }
#[test]
fn panel_border_defaults_off_and_round_trips_an_explicit_enabled_value() {
let mut doc =
ferese_config::Document::parse("panel main { end { group status { item clock kind=clock; }; }; }\n").unwrap();
let mut doc = ferese_config::Document::parse(
"panel main { end { group status { item clock kind=clock; }; }; }\n",
)
.unwrap();
let panels: Vec<Panel> = serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
assert!(!panels[0].border);
doc.set("panels.0.border", true.into()).unwrap();
@@ -131,7 +144,8 @@ fn panel_border_defaults_off_and_round_trips_an_explicit_enabled_value() {
#[test]
fn panel_background_opacity_inherits_until_overridden_and_validates_bounds() {
let doc = ferese_config::Document::parse("panel main { end { group status { }; }; }").unwrap();
let mut panels: Vec<Panel> = serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
let mut panels: Vec<Panel> =
serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
assert_eq!(panels[0].background_opacity, None);
assert!(
serde_json::to_value(&panels[0]).unwrap()["end"]["groups"][0]
@@ -155,14 +169,21 @@ fn panel_edge_defaults_to_top_and_round_trips_both_positions() {
("edge top;", Edge::Top),
("edge bottom;", Edge::Bottom),
] {
let document = ferese_config::Document::parse(&format!("panel main {{ {source} }}")).unwrap();
let panels: Vec<Panel> = serde_json::from_value(document.get("panels").unwrap().clone()).unwrap();
let document =
ferese_config::Document::parse(&format!("panel main {{ {source} }}")).unwrap();
let panels: Vec<Panel> =
serde_json::from_value(document.get("panels").unwrap().clone()).unwrap();
validate(&panels).unwrap();
assert_eq!(panels[0].edge, expected);
let restored: Vec<Panel> = serde_json::from_value(serde_json::to_value(&panels).unwrap()).unwrap();
let restored: Vec<Panel> =
serde_json::from_value(serde_json::to_value(&panels).unwrap()).unwrap();
assert_eq!(restored[0].edge, expected);
let mut moved = panels[0].clone();
moved.edge = if expected == Edge::Top { Edge::Bottom } else { Edge::Top };
moved.edge = if expected == Edge::Top {
Edge::Bottom
} else {
Edge::Top
};
assert!(!moved.same_composition(&panels[0]));
}
}
@@ -177,7 +198,9 @@ fn validation_rejects_duplicate_ids_and_unsupported_surface_configuration() {
assert!(validate(std::slice::from_ref(&panel)).is_err());
assert!(validate(&[]).is_err());
assert!(validate(&[panel.clone(), panel]).is_err());
assert!(ferese_config::from_str::<serde_json::Value>("panel \"main\" { edge \"bottom\"; }").is_ok());
assert!(
ferese_config::from_str::<serde_json::Value>("panel \"main\" { edge \"bottom\"; }").is_ok()
);
let doc = ferese_config::Document::parse("panel \"main\" { edge \"left\"; }").unwrap();
assert!(serde_json::from_value::<Vec<Panel>>(doc.get("panels").unwrap().clone()).is_err());
}
@@ -189,13 +212,18 @@ fn workspace_styles_round_trip_and_only_apply_to_workspaces() {
style.key()
);
let document = ferese_config::Document::parse(&source).unwrap();
let panels: Vec<Panel> = serde_json::from_value(document.get("panels").unwrap().clone()).unwrap();
let panels: Vec<Panel> =
serde_json::from_value(document.get("panels").unwrap().clone()).unwrap();
validate(&panels).unwrap();
assert_eq!(panels[0].start.groups[0].items[0].kind, ItemKind::Workspaces { style });
assert_eq!(
panels[0].start.groups[0].items[0].kind,
ItemKind::Workspaces { style }
);
let mut wrong_kind = serde_json::to_value(&panels[0].start.groups[0].items[0]).unwrap();
wrong_kind["kind"] = "clock".into();
assert!(serde_json::from_value::<Item>(wrong_kind).is_err());
let restored: Vec<Panel> = serde_json::from_value(serde_json::to_value(&panels).unwrap()).unwrap();
let restored: Vec<Panel> =
serde_json::from_value(serde_json::to_value(&panels).unwrap()).unwrap();
assert_eq!(restored, panels);
}
let mut item = serde_json::json!({"id": "spaces", "kind": "workspaces"});
@@ -214,8 +242,13 @@ fn item_options_are_strict_and_metadata_is_explicit() {
for key in ["ovreflow", "visibile", "custom_note"] {
let mut value = serde_json::json!({"id":"network", "kind":"network"});
value[key] = "always".into();
let error = serde_json::from_value::<Item>(value).unwrap_err().to_string();
assert!(error.contains(key) && error.contains("unknown field"), "{error}");
let error = serde_json::from_value::<Item>(value)
.unwrap_err()
.to_string();
assert!(
error.contains(key) && error.contains("unknown field"),
"{error}"
);
}
let source = "panel main { start { group nav { item network kind=\"network\" { metadata { custom-note \"keep\"; overflow \"authored note\"; }; }; }; }; }";
let panel: Vec<Panel> = serde_json::from_value(
@@ -234,8 +267,10 @@ fn item_options_are_strict_and_metadata_is_explicit() {
*item
);
assert!(
serde_json::from_value::<Item>(serde_json::json!({"id":"network", "kind":"network", "metadata":"wrong"}))
.is_err()
serde_json::from_value::<Item>(
serde_json::json!({"id":"network", "kind":"network", "metadata":"wrong"})
)
.is_err()
);
}
@@ -247,16 +282,24 @@ fn activities_are_first_class_items_in_every_zone_and_keep_overflow_settings() {
"panel main {{ style {style}; {zone} {{ group tasks {{ item builds kind=activities priority=20 overflow=always; }}; }}; }}"
);
let mut doc = ferese_config::Document::parse(&source).unwrap();
let panels: Vec<Panel> = serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
let panels: Vec<Panel> =
serde_json::from_value(doc.get("panels").unwrap().clone()).unwrap();
ferese_panel::validate(&panels).unwrap();
let parsed = match zone {
"start" => &panels[0].start,
"center" => &panels[0].center,
_ => &panels[0].end,
};
assert_eq!(parsed.groups[0].items[0].kind, ferese_panel::ItemKind::Activities);
assert_eq!(parsed.groups[0].items[0].overflow, ferese_panel::OverflowPolicy::Always);
doc.set("panels", serde_json::to_value(&panels).unwrap()).unwrap();
assert_eq!(
parsed.groups[0].items[0].kind,
ferese_panel::ItemKind::Activities
);
assert_eq!(
parsed.groups[0].items[0].overflow,
ferese_panel::OverflowPolicy::Always
);
doc.set("panels", serde_json::to_value(&panels).unwrap())
.unwrap();
let restored = ferese_config::Document::parse(&doc.to_string()).unwrap();
assert_eq!(restored.get("panels"), doc.get("panels"));
}