Format Rust sources at 100 columns
This commit is contained in:
1 parent
4661f595f8
commit
610478f8c7
336 files changed
+23497
-7892
No files matched your search
@@ -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"));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user