This commit is contained in:
Robin Appelman 2026-07-11 21:13:20 +02:00
commit 97ee910d85
36 changed files with 716 additions and 762 deletions

View file

@ -13,5 +13,8 @@ fn test_parse(path: &str) {
let parsed = Table::load(&mut reader)
.map_err(miette::Error::from)
.expect("failed to parse test data");
insta::assert_ron_snapshot!(path, parsed);
insta::with_settings!({sort_maps => true}, {
insta::assert_json_snapshot!(format!("parse__{}", path), parsed);
});
}

View file

@ -216,16 +216,18 @@ struct GameList {
#[test_case("tests/data/maparray.vdf")]
#[test_case("tests/errors/invalidmaparraykeys.vdf")]
fn test_serde(path: &str) {
let raw = read_to_string(path).unwrap();
match from_str::<Expected>(&raw) {
Ok(result) => insta::assert_ron_snapshot!(path, result),
Err(e) => {
let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor());
let mut out = String::new();
handler.render_report(&mut out, &e).unwrap();
insta::assert_snapshot!(path, out)
insta::with_settings!({sort_maps => true}, {
let raw = read_to_string(path).unwrap();
match from_str::<Expected>(&raw) {
Ok(result) => insta::assert_json_snapshot!(path, result),
Err(e) => {
let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor());
let mut out = String::new();
handler.render_report(&mut out, &e).unwrap();
insta::assert_snapshot!(format!("serde__{}", path), out)
}
}
}
});
}
#[test_case("tests/data/toplevel.vdf")]
@ -234,18 +236,20 @@ fn test_serde(path: &str) {
#[test_case("tests/data/serde_array_type.vdf")]
#[test_case("tests/data/maparray.vdf")]
fn test_serde_table(path: &str) {
let raw = read_to_string(path).unwrap();
match from_str::<Table>(&raw) {
Ok(result) => {
insta::assert_ron_snapshot!(format!("table__{}", path), result);
insta::with_settings!({sort_maps => true}, {
let raw = read_to_string(path).unwrap();
match from_str::<Table>(&raw) {
Ok(result) => {
insta::assert_json_snapshot!(format!("table__{}", path), result);
}
Err(e) => {
let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor());
let mut out = String::new();
handler.render_report(&mut out, &e).unwrap();
insta::assert_snapshot!(format!("table__{}", path), out)
}
}
Err(e) => {
let handler = GraphicalReportHandler::new_themed(GraphicalTheme::unicode_nocolor());
let mut out = String::new();
handler.render_report(&mut out, &e).unwrap();
insta::assert_snapshot!(format!("table__{}", path), out)
}
}
});
}
#[test_case("tests/data/concrete.vmt")]
@ -258,5 +262,8 @@ fn test_serde_from_table(path: &str) {
let result = Table::load_from_str(&raw).unwrap();
let material: Expected = from_entry(result.into()).expect("table to material");
insta::assert_ron_snapshot!(format!("table_to_material__{}", path), material);
insta::with_settings!({sort_maps => true}, {
insta::assert_json_snapshot!(format!("table_to_material__{}", path), material);
});
}

View file

@ -12,8 +12,8 @@ expression: parsed
"0_collapsed": "0",
"1_collapsed": "0",
"2_collapsed": "0",
"3_collapsed": "0",
},
"3_collapsed": "0"
}
},
"FriendsFriendsPage": {
"BuddyList": {
@ -23,15 +23,15 @@ expression: parsed
"3_collapsed": "0",
"4_collapsed": "0",
"5_collapsed": "0",
"allfriends_collapsed": "0",
},
},
"allfriends_collapsed": "0"
}
}
},
"FriendsState": {},
"tall": "440",
"wide": "252",
"xpos": "1028",
"ypos": "280",
"ypos": "280"
},
"Servers": {
"DialogServerBrowser.res": {
@ -50,8 +50,8 @@ expression: parsed
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"FriendsGames": {
"gamelist": {
@ -67,8 +67,8 @@ expression: parsed
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"HistoryGames": {
"gamelist": {
@ -85,8 +85,8 @@ expression: parsed
"sort_column": "#ServerBrowser_LastPlayed",
"sort_column_asc": "1",
"sort_column_secondary": "#ServerBrowser_Latency",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"InternetGames": {
"gamelist": {
@ -102,8 +102,8 @@ expression: parsed
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"LanGames": {
"gamelist": {
@ -119,8 +119,8 @@ expression: parsed
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"SpectateGames": {
"gamelist": {
@ -136,20 +136,20 @@ expression: parsed
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
},
"sort_column_secondary_asc": "1"
}
}
},
"tall": "720",
"wide": "1280",
"xpos": "0",
"ypos": "0",
},
"ypos": "0"
}
},
"Steam": {
"cached": {
"OverlaySplash.res": {},
},
},
},
"OverlaySplash.res": {}
}
}
}
}

View file

@ -11,6 +11,6 @@ expression: parsed
"$detailblendmode": "0",
"$detailscale": "1.9",
"$ssbump": "1",
"%keywords": "tf",
},
"%keywords": "tf"
}
}

View file

@ -7,18 +7,18 @@ expression: parsed
"$envmaptint": [
".5",
".5",
".5",
".5"
],
"\\\\\"$translucent\"": "1",
"array": [
"1",
"2",
"3",
"3"
],
"bracket_string": "[{]",
"empty": "",
"empty quoted": "\"\"",
"ignored_bracket_string": "[{]",
"windows_path": "C:\\test\\no newline",
},
"windows_path": "C:\\test\\no newline"
}
}

View file

@ -4,5 +4,5 @@ expression: parsed
---
{
"bar": "asd",
"foo": "1",
"foo": "1"
}

View file

@ -12,4 +12,3 @@ vmt_parser::parse_serde
· ╰── Expected a bool
6 │ "%keywords" "tf"
╰────

View file

@ -11,4 +11,3 @@ vmt_reader::unexpected_token
· ┬
· ╰── Expected item, quoted item, statement, quoted statement, start of group
╰────

View file

@ -12,4 +12,3 @@ vmt_parser::parse_serde
· ╰── Expected a u8
3 │ flex_array "[1.0 2.2]"
╰────

View file

@ -12,8 +12,8 @@ expression: result
"0_collapsed": "0",
"1_collapsed": "0",
"2_collapsed": "0",
"3_collapsed": "0",
},
"3_collapsed": "0"
}
},
"FriendsFriendsPage": {
"BuddyList": {
@ -23,15 +23,15 @@ expression: result
"3_collapsed": "0",
"4_collapsed": "0",
"5_collapsed": "0",
"allfriends_collapsed": "0",
},
},
"allfriends_collapsed": "0"
}
}
},
"FriendsState": {},
"tall": "440",
"wide": "252",
"xpos": "1028",
"ypos": "280",
"ypos": "280"
},
"Servers": {
"DialogServerBrowser.res": {
@ -50,8 +50,8 @@ expression: result
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"FriendsGames": {
"gamelist": {
@ -67,8 +67,8 @@ expression: result
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"HistoryGames": {
"gamelist": {
@ -85,8 +85,8 @@ expression: result
"sort_column": "#ServerBrowser_LastPlayed",
"sort_column_asc": "1",
"sort_column_secondary": "#ServerBrowser_Latency",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"InternetGames": {
"gamelist": {
@ -102,8 +102,8 @@ expression: result
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"LanGames": {
"gamelist": {
@ -119,8 +119,8 @@ expression: result
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
"sort_column_secondary_asc": "1"
}
},
"SpectateGames": {
"gamelist": {
@ -136,20 +136,20 @@ expression: result
"sort_column": "#ServerBrowser_Latency",
"sort_column_asc": "1",
"sort_column_secondary": "",
"sort_column_secondary_asc": "1",
},
},
"sort_column_secondary_asc": "1"
}
}
},
"tall": "720",
"wide": "1280",
"xpos": "0",
"ypos": "0",
},
"ypos": "0"
}
},
"Steam": {
"cached": {
"OverlaySplash.res": {},
},
},
},
"OverlaySplash.res": {}
}
}
}
}

View file

@ -11,6 +11,6 @@ expression: result
"$detailblendmode": "0",
"$detailscale": "1.9",
"$ssbump": "1",
"%keywords": "tf",
},
"%keywords": "tf"
}
}

View file

@ -6,6 +6,6 @@ expression: result
"MapArray": {
"0": "foo",
"1": "bar",
"2": "asd",
},
"2": "asd"
}
}

View file

@ -8,11 +8,11 @@ expression: result
"fixed_array": [
"1",
"2",
"3",
"3"
],
"flex_array": [
"1",
"2.2",
"2.2"
],
"foo": "0",
"single": "1.2",
@ -20,11 +20,11 @@ expression: result
"triple": [
"1.2",
"1.3",
"1.4",
"1.4"
],
"tuple": [
"1",
"57",
],
},
"57"
]
}
}

View file

@ -4,5 +4,5 @@ expression: result
---
{
"bar": "asd",
"foo": "1",
"foo": "1"
}

View file

@ -2,151 +2,153 @@
source: tests/serde.rs
expression: material
---
UserConfigData(
Steam: UserConfigDataSteam(
cached: UserConfigDataSteamCached(
r#OverlaySplash.res: {},
),
),
FriendsMainDialog: {
"xpos": 1028,
"ypos": 280,
"wide": 252,
"tall": 440,
"FriendPanelSelf": {},
"FriendsDialogSheet": UserConfigDataFriendsMainDialogFriendsDialogSheet(
FriendsFriendsPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage(
BuddyList: {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
"4_collapsed": false,
"5_collapsed": false,
"allfriends_collapsed": false,
},
),
FriendsClansPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage(
BuddyList: {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
},
),
),
"FriendsState": {},
},
Servers: UserConfigDataServers(
r#DialogServerBrowser.res: {
"xpos": 0,
"ypos": 0,
"wide": 1280,
"tall": 720,
"GameTabs": UserConfigDataServersDialogGameTabs(
InternetGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: None,
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
FavoriteGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: None,
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
HistoryGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_LastPlayed",
sort_column_secondary: Some("#ServerBrowser_Latency"),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
SpectateGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: None,
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
LanGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: None,
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
FriendsGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: None,
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
),
{
"UserConfigData": {
"Steam": {
"cached": {
"OverlaySplash.res": {}
}
},
),
)
"FriendsMainDialog": {
"FriendPanelSelf": {},
"FriendsDialogSheet": {
"FriendsFriendsPage": {
"BuddyList": {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
"4_collapsed": false,
"5_collapsed": false,
"allfriends_collapsed": false
}
},
"FriendsClansPage": {
"BuddyList": {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false
}
}
},
"FriendsState": {},
"tall": 440,
"wide": 252,
"xpos": 1028,
"ypos": 280
},
"Servers": {
"DialogServerBrowser.res": {
"GameTabs": {
"InternetGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": null,
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"FavoriteGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": null,
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"HistoryGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_LastPlayed",
"sort_column_secondary": "#ServerBrowser_Latency",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"SpectateGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": null,
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"LanGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": null,
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"FriendsGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": null,
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
}
},
"tall": 720,
"wide": 1280,
"xpos": 0,
"ypos": 0
}
}
}
}

View file

@ -2,13 +2,15 @@
source: tests/serde.rs
expression: material
---
LightmappedGeneric(
r#$baseTexture: "cp_mountainlab/concrete/concretefloor003",
r#$bumpmap: "concrete/concretefloor007b_height-ssbump",
r#$ssbump: true,
r#%keywords: "tf",
r#$detail: "overlays/detail001",
r#$detailscale: 1.9,
r#$detailblendmode: 0,
r#$detailblendfactor: 1.0,
)
{
"LightmappedGeneric": {
"$baseTexture": "cp_mountainlab/concrete/concretefloor003",
"$bumpmap": "concrete/concretefloor007b_height-ssbump",
"$ssbump": true,
"%keywords": "tf",
"$detail": "overlays/detail001",
"$detailscale": 1.9,
"$detailblendmode": 0,
"$detailblendfactor": 1.0
}
}

View file

@ -2,8 +2,10 @@
source: tests/serde.rs
expression: material
---
MapArray([
"foo",
"bar",
"asd",
])
{
"MapArray": [
"foo",
"bar",
"asd"
]
}

View file

@ -2,15 +2,21 @@
source: tests/serde.rs
expression: material
---
r#Resource/specificPanel.res(
empty: (),
array: [
1,
2,
3,
],
windows_path: "C:\\test\\no newline",
bracket_string: "[{]",
r#\\"$translucent": true,
r#$envmaptint: (0.5, 0.5, 0.5),
)
{
"Resource/specificPanel.res": {
"empty": null,
"array": [
1,
2,
3
],
"windows_path": "C:\\test\\no newline",
"bracket_string": "[{]",
"\\\\\"$translucent\"": true,
"$envmaptint": [
0.5,
0.5,
0.5
]
}
}

View file

@ -2,15 +2,32 @@
source: tests/serde.rs
expression: material
---
Types(
fixed_array: (1, 2, 3),
flex_array: [
1.0,
2.2,
],
tuple: (true, 57),
single: 1.2,
triple: (1.2, 1.3, 1.4),
single_int: 2.0,
another_tuple: (8, "foo", false),
)
{
"Types": {
"fixed_array": [
1,
2,
3
],
"flex_array": [
1.0,
2.2
],
"tuple": [
true,
57
],
"single": 1.2,
"triple": [
1.2,
1.3,
1.4
],
"single_int": 2.0,
"another_tuple": [
8,
"foo",
false
]
}
}

View file

@ -2,151 +2,153 @@
source: tests/serde.rs
expression: result
---
UserConfigData(
Steam: UserConfigDataSteam(
cached: UserConfigDataSteamCached(
r#OverlaySplash.res: {},
),
),
FriendsMainDialog: {
"xpos": 1028,
"ypos": 280,
"wide": 252,
"tall": 440,
"FriendPanelSelf": {},
"FriendsDialogSheet": UserConfigDataFriendsMainDialogFriendsDialogSheet(
FriendsFriendsPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage(
BuddyList: {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
"4_collapsed": false,
"5_collapsed": false,
"allfriends_collapsed": false,
},
),
FriendsClansPage: UserConfigDataFriendsMainDialogFriendsDialogSheetFriendsPage(
BuddyList: {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
},
),
),
"FriendsState": {},
},
Servers: UserConfigDataServers(
r#DialogServerBrowser.res: {
"xpos": 0,
"ypos": 0,
"wide": 1280,
"tall": 720,
"GameTabs": UserConfigDataServersDialogGameTabs(
InternetGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: Some(""),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
FavoriteGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: Some(""),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
HistoryGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_LastPlayed",
sort_column_secondary: Some("#ServerBrowser_Latency"),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
SpectateGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: Some(""),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
LanGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: Some(""),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
FriendsGames: GameListHaver(
gamelist: GameList(
r##ServerBrowser_Password_hidden: false,
r##ServerBrowser_Bots_hidden: true,
r##ServerBrowser_Secure_hidden: false,
r##ServerBrowser_Servers_hidden: false,
r##ServerBrowser_IPAddress_hidden: true,
r##ServerBrowser_Game_hidden: false,
r##ServerBrowser_Players_hidden: false,
r##ServerBrowser_Map_hidden: false,
r##ServerBrowser_Latency_hidden: false,
sort_column: "#ServerBrowser_Latency",
sort_column_secondary: Some(""),
sort_column_asc: true,
sort_column_secondary_asc: true,
),
),
),
{
"UserConfigData": {
"Steam": {
"cached": {
"OverlaySplash.res": {}
}
},
),
)
"FriendsMainDialog": {
"FriendPanelSelf": {},
"FriendsDialogSheet": {
"FriendsFriendsPage": {
"BuddyList": {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false,
"4_collapsed": false,
"5_collapsed": false,
"allfriends_collapsed": false
}
},
"FriendsClansPage": {
"BuddyList": {
"0_collapsed": false,
"1_collapsed": false,
"2_collapsed": false,
"3_collapsed": false
}
}
},
"FriendsState": {},
"tall": 440,
"wide": 252,
"xpos": 1028,
"ypos": 280
},
"Servers": {
"DialogServerBrowser.res": {
"GameTabs": {
"InternetGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": "",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"FavoriteGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": "",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"HistoryGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_LastPlayed",
"sort_column_secondary": "#ServerBrowser_Latency",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"SpectateGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": "",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"LanGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": "",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
},
"FriendsGames": {
"gamelist": {
"#ServerBrowser_Password_hidden": false,
"#ServerBrowser_Bots_hidden": true,
"#ServerBrowser_Secure_hidden": false,
"#ServerBrowser_Servers_hidden": false,
"#ServerBrowser_IPAddress_hidden": true,
"#ServerBrowser_Game_hidden": false,
"#ServerBrowser_Players_hidden": false,
"#ServerBrowser_Map_hidden": false,
"#ServerBrowser_Latency_hidden": false,
"sort_column": "#ServerBrowser_Latency",
"sort_column_secondary": "",
"sort_column_asc": true,
"sort_column_secondary_asc": true
}
}
},
"tall": 720,
"wide": 1280,
"xpos": 0,
"ypos": 0
}
}
}
}

View file

@ -2,13 +2,15 @@
source: tests/serde.rs
expression: result
---
LightmappedGeneric(
r#$baseTexture: "cp_mountainlab/concrete/concretefloor003",
r#$bumpmap: "concrete/concretefloor007b_height-ssbump",
r#$ssbump: true,
r#%keywords: "tf",
r#$detail: "overlays/detail001",
r#$detailscale: 1.9,
r#$detailblendmode: 0,
r#$detailblendfactor: 1.0,
)
{
"LightmappedGeneric": {
"$baseTexture": "cp_mountainlab/concrete/concretefloor003",
"$bumpmap": "concrete/concretefloor007b_height-ssbump",
"$ssbump": true,
"%keywords": "tf",
"$detail": "overlays/detail001",
"$detailscale": 1.9,
"$detailblendmode": 0,
"$detailblendfactor": 1.0
}
}

View file

@ -2,8 +2,12 @@
source: tests/serde.rs
expression: result
---
EnumInMap(
foo: bar(
a: true,
),
)
{
"EnumInMap": {
"foo": {
"bar": {
"a": true
}
}
}
}

View file

@ -2,9 +2,14 @@
source: tests/serde.rs
expression: result
---
Sprite(
r#$spriteorientation: vp_parallel,
r#$spriteorigin: (0.5, 0.5),
r#$basetexture: "editor/game_text",
r#$no_fullbright: true,
)
{
"Sprite": {
"$spriteorientation": "vp_parallel",
"$spriteorigin": [
0.5,
0.5
],
"$basetexture": "editor/game_text",
"$no_fullbright": true
}
}

View file

@ -1,16 +0,0 @@
---
source: tests/serde.rs
expression: out
---
vmt_reader::unexpected_token
× invalid type: boolean `true`, expected u32
╭─[6:9]
5 │ }
6 │ ╭─▶ data2 {
7 │ │ kind Bar
8 │ │ val1 1
9 │ ├─▶ }
· ╰──── invalid type: boolean `true`, expected u32
10 │ }
╰────

View file

@ -2,8 +2,10 @@
source: tests/serde.rs
expression: result
---
MapArray([
"foo",
"bar",
"asd",
])
{
"MapArray": [
"foo",
"bar",
"asd"
]
}

View file

@ -2,15 +2,21 @@
source: tests/serde.rs
expression: result
---
r#Resource/specificPanel.res(
empty: (),
array: [
1,
2,
3,
],
windows_path: "C:\\test\\no newline",
bracket_string: "[{]",
r#\\"$translucent": true,
r#$envmaptint: (0.5, 0.5, 0.5),
)
{
"Resource/specificPanel.res": {
"empty": null,
"array": [
1,
2,
3
],
"windows_path": "C:\\test\\no newline",
"bracket_string": "[{]",
"\\\\\"$translucent\"": true,
"$envmaptint": [
0.5,
0.5,
0.5
]
}
}

View file

@ -2,15 +2,32 @@
source: tests/serde.rs
expression: result
---
Types(
fixed_array: (1, 2, 3),
flex_array: [
1.0,
2.2,
],
tuple: (true, 57),
single: 1.2,
triple: (1.2, 1.3, 1.4),
single_int: 2.0,
another_tuple: (8, "foo", false),
)
{
"Types": {
"fixed_array": [
1,
2,
3
],
"flex_array": [
1.0,
2.2
],
"tuple": [
true,
57
],
"single": 1.2,
"triple": [
1.2,
1.3,
1.4
],
"single_int": 2.0,
"another_tuple": [
8,
"foo",
false
]
}
}