Enhance dictionary safety with SafeGet, SafeSet, and SafeRemove methods. Adjust IWebContext and related tests to support nullable value types in dictionary operations. Refactor GetRequestParameter for clarity and consistency.

This commit is contained in:
2025-07-29 02:05:28 +02:00
parent bab8898841
commit b7b7c472af
12 changed files with 55 additions and 34 deletions

View File

@@ -1,3 +1,4 @@
using VAR.WebFormsCore.Code;
using VAR.WebFormsCore.Controls;
using VAR.WebFormsCore.Pages;
using VAR.WebFormsCore.Tests.Fakes;
@@ -56,7 +57,7 @@ public class ButtonTests
button.Click += (o, _) => { result = (o as Button)?.CommandArgument; };
page.Controls.Add(button);
fakeWebContext.RequestForm.Add(button.ClientID, "Clicked");
fakeWebContext.RequestForm.SafeSet(button.ClientID, "Clicked");
page.ProcessRequest(fakeWebContext);
Assert.Equal(commandArgument, result);

View File

@@ -1,3 +1,4 @@
using VAR.WebFormsCore.Code;
using VAR.WebFormsCore.Controls;
using VAR.WebFormsCore.Pages;
using VAR.WebFormsCore.Tests.Fakes;
@@ -94,7 +95,7 @@ public class CTextBoxTests
page0.ProcessRequest(fakeWebContext0);
FakeWebContext fakeWebContext1 = new(requestMethod: "POST");
fakeWebContext1.RequestForm.Add(cTextBox0.TxtContent.ClientID, changedValue);
fakeWebContext1.RequestForm.SafeSet(cTextBox0.TxtContent.ClientID, changedValue);
Page page1 = new();
CTextBox cTextBox1 = new() { Text = text };
page1.Controls.Add(cTextBox1);
@@ -188,7 +189,7 @@ public class CTextBoxTests
};
page.Controls.Add(button);
fakeWebContext.RequestForm.Add(button.ClientID, "Clicked");
fakeWebContext.RequestForm.SafeSet(button.ClientID, "Clicked");
page.ProcessRequest(fakeWebContext);
int? resultHeight = cTextBox.GetClientsideHeight();
@@ -222,7 +223,7 @@ public class CTextBoxTests
button.Click += (_, _) => { cTextBox.SetClientsideHeight(null); };
page.Controls.Add(button);
fakeWebContext.RequestForm.Add(button.ClientID, "Clicked");
fakeWebContext.RequestForm.SafeSet(button.ClientID, "Clicked");
page.ProcessRequest(fakeWebContext);
int? resultHeight = cTextBox.GetClientsideHeight();
@@ -259,7 +260,7 @@ public class CTextBoxTests
};
page.Controls.Add(button);
fakeWebContext.RequestForm.Add(button.ClientID, "Clicked");
fakeWebContext.RequestForm.SafeSet(button.ClientID, "Clicked");
page.ProcessRequest(fakeWebContext);
int? resultHeight = cTextBox.GetClientsideHeight();
@@ -286,7 +287,7 @@ public class CTextBoxTests
};
page.Controls.Add(button);
fakeWebContext.RequestForm.Add(button.ClientID, "Clicked");
fakeWebContext.RequestForm.SafeSet(button.ClientID, "Clicked");
page.ProcessRequest(fakeWebContext);
int? resultHeight = cTextBox.GetClientsideHeight();

View File

@@ -1,3 +1,4 @@
using VAR.WebFormsCore.Code;
using VAR.WebFormsCore.Controls;
using VAR.WebFormsCore.Pages;
using VAR.WebFormsCore.Tests.Fakes;
@@ -51,7 +52,7 @@ public class HiddenFieldTests
HiddenField hiddenField = new() { Value = value };
page.Controls.Add(hiddenField);
fakeWebContext.RequestForm.Add(hiddenField.ClientID, changedValue);
fakeWebContext.RequestForm.SafeSet(hiddenField.ClientID, changedValue);
page.ProcessRequest(fakeWebContext);
Assert.Equal(changedValue, hiddenField.Value);

View File

@@ -1,3 +1,4 @@
using VAR.WebFormsCore.Code;
using VAR.WebFormsCore.Controls;
using VAR.WebFormsCore.Pages;
using VAR.WebFormsCore.Tests.Fakes;
@@ -27,7 +28,7 @@ public class HtmlFormTests
public void MustRenderCorrectly__WithQueryParameters()
{
FakeWebContext fakeWebContext = new();
fakeWebContext.RequestQuery.Add("test", "value");
fakeWebContext.RequestQuery.SafeSet("test", "value");
Page page = new();
HtmlForm htmlForm = new();
page.Controls.Add(htmlForm);

View File

@@ -1,3 +1,4 @@
using VAR.WebFormsCore.Code;
using VAR.WebFormsCore.Controls;
using VAR.WebFormsCore.Pages;
using VAR.WebFormsCore.Tests.Fakes;
@@ -138,7 +139,7 @@ public class TextBoxTests
TextBox textBox = new() { Text = text };
page.Controls.Add(textBox);
fakeWebContext.RequestForm.Add(textBox.ClientID, changedValue);
fakeWebContext.RequestForm.SafeSet(textBox.ClientID, changedValue);
page.ProcessRequest(fakeWebContext);
Assert.Equal(changedValue, textBox.Text);