mirror of
https://codeberg.org/icewind/vdf-reader.git
synced 2026-06-03 10:04:08 +02:00
table statement handling
This commit is contained in:
parent
9c06896b34
commit
28469fde0f
7 changed files with 379 additions and 24 deletions
179
tests/data/DialogConfigOverlay_1280x720.vdf
Normal file
179
tests/data/DialogConfigOverlay_1280x720.vdf
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
"UserConfigData"
|
||||
{
|
||||
"Steam"
|
||||
{
|
||||
"cached"
|
||||
{
|
||||
"OverlaySplash.res"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
"FriendsMainDialog"
|
||||
{
|
||||
"xpos" "1028"
|
||||
"ypos" "280"
|
||||
"wide" "252"
|
||||
"tall" "440"
|
||||
"FriendPanelSelf"
|
||||
{
|
||||
}
|
||||
"FriendsDialogSheet"
|
||||
{
|
||||
"FriendsFriendsPage"
|
||||
{
|
||||
"BuddyList"
|
||||
{
|
||||
"0_collapsed" "0"
|
||||
"1_collapsed" "0"
|
||||
"2_collapsed" "0"
|
||||
"3_collapsed" "0"
|
||||
"4_collapsed" "0"
|
||||
"5_collapsed" "0"
|
||||
"allfriends_collapsed" "0"
|
||||
}
|
||||
}
|
||||
"FriendsClansPage"
|
||||
{
|
||||
"BuddyList"
|
||||
{
|
||||
"0_collapsed" "0"
|
||||
"1_collapsed" "0"
|
||||
"2_collapsed" "0"
|
||||
"3_collapsed" "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
"FriendsState"
|
||||
{
|
||||
}
|
||||
}
|
||||
"Servers"
|
||||
{
|
||||
"DialogServerBrowser.res"
|
||||
{
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "1280"
|
||||
"tall" "720"
|
||||
"GameTabs"
|
||||
{
|
||||
"InternetGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_Latency"
|
||||
"sort_column_secondary" ""
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
"FavoriteGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_Latency"
|
||||
"sort_column_secondary" ""
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
"HistoryGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"#ServerBrowser_LastPlayed_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_LastPlayed"
|
||||
"sort_column_secondary" "#ServerBrowser_Latency"
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
"SpectateGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_Latency"
|
||||
"sort_column_secondary" ""
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
"LanGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_Latency"
|
||||
"sort_column_secondary" ""
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
"FriendsGames"
|
||||
{
|
||||
"gamelist"
|
||||
{
|
||||
"#ServerBrowser_Password_hidden" "0"
|
||||
"#ServerBrowser_Bots_hidden" "1"
|
||||
"#ServerBrowser_Secure_hidden" "0"
|
||||
"#ServerBrowser_Servers_hidden" "0"
|
||||
"#ServerBrowser_IPAddress_hidden" "1"
|
||||
"#ServerBrowser_Game_hidden" "0"
|
||||
"#ServerBrowser_Players_hidden" "0"
|
||||
"#ServerBrowser_Map_hidden" "0"
|
||||
"#ServerBrowser_Latency_hidden" "0"
|
||||
"sort_column" "#ServerBrowser_Latency"
|
||||
"sort_column_secondary" ""
|
||||
"sort_column_asc" "1"
|
||||
"sort_column_secondary_asc" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ use vdf_reader::Reader;
|
|||
|
||||
#[test_case("tests/data/concrete.vmt")]
|
||||
#[test_case("tests/data/messy.vdf")]
|
||||
#[test_case("tests/data/DialogConfigOverlay_1280x720.vdf")]
|
||||
fn test_parse(path: &str) {
|
||||
let raw = read_to_string(path).unwrap();
|
||||
let mut reader = Reader::from(raw.as_str());
|
||||
|
|
|
|||
|
|
@ -0,0 +1,155 @@
|
|||
---
|
||||
source: tests/parse.rs
|
||||
expression: parsed
|
||||
---
|
||||
Table({
|
||||
"UserConfigData": Table(Table({
|
||||
"FriendsMainDialog": Table(Table({
|
||||
"FriendPanelSelf": Table(Table({})),
|
||||
"FriendsDialogSheet": Table(Table({
|
||||
"FriendsClansPage": Table(Table({
|
||||
"BuddyList": Table(Table({
|
||||
"0_collapsed": Value(Value("0")),
|
||||
"1_collapsed": Value(Value("0")),
|
||||
"2_collapsed": Value(Value("0")),
|
||||
"3_collapsed": Value(Value("0")),
|
||||
})),
|
||||
})),
|
||||
"FriendsFriendsPage": Table(Table({
|
||||
"BuddyList": Table(Table({
|
||||
"0_collapsed": Value(Value("0")),
|
||||
"1_collapsed": Value(Value("0")),
|
||||
"2_collapsed": Value(Value("0")),
|
||||
"3_collapsed": Value(Value("0")),
|
||||
"4_collapsed": Value(Value("0")),
|
||||
"5_collapsed": Value(Value("0")),
|
||||
"allfriends_collapsed": Value(Value("0")),
|
||||
})),
|
||||
})),
|
||||
})),
|
||||
"FriendsState": Table(Table({})),
|
||||
"tall": Value(Value("440")),
|
||||
"wide": Value(Value("252")),
|
||||
"xpos": Value(Value("1028")),
|
||||
"ypos": Value(Value("280")),
|
||||
})),
|
||||
"Servers": Table(Table({
|
||||
"DialogServerBrowser.res": Table(Table({
|
||||
"GameTabs": Table(Table({
|
||||
"FavoriteGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
"FriendsGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
"HistoryGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_LastPlayed_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_LastPlayed")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
"InternetGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
"LanGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
"SpectateGames": Table(Table({
|
||||
"gamelist": Table(Table({
|
||||
"#ServerBrowser_Bots_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Game_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_IPAddress_hidden": Statement(Statement("1")),
|
||||
"#ServerBrowser_Latency_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Map_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Password_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Players_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Secure_hidden": Statement(Statement("0")),
|
||||
"#ServerBrowser_Servers_hidden": Statement(Statement("0")),
|
||||
"sort_column": Value(Value("#ServerBrowser_Latency")),
|
||||
"sort_column_asc": Value(Value("1")),
|
||||
"sort_column_secondary": Value(Value("")),
|
||||
"sort_column_secondary_asc": Value(Value("1")),
|
||||
})),
|
||||
})),
|
||||
})),
|
||||
"tall": Value(Value("720")),
|
||||
"wide": Value(Value("1280")),
|
||||
"xpos": Value(Value("0")),
|
||||
"ypos": Value(Value("0")),
|
||||
})),
|
||||
})),
|
||||
"Steam": Table(Table({
|
||||
"cached": Table(Table({
|
||||
"OverlaySplash.res": Table(Table({})),
|
||||
})),
|
||||
})),
|
||||
})),
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue