added null value handle for image resizer size input (#4721)

* addle null value handle for image resizer size input

* check for negative withd and height

* check for negative withd and height

* Update ImageSize.cs

Co-authored-by: Lavius Motileng <laviusntk>
This commit is contained in:
Nkateko 2020-07-03 15:40:53 -07:00 committed by GitHub
parent cffe0196e2
commit a935d69408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 2 deletions

View File

@ -144,9 +144,17 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
set
{
int newWidth = -1;
int.TryParse(value + string.Empty, out newWidth);
if (newWidth < 0)
{
newWidth = 0;
}
if (_width != value)
{
_width = value;
_width = newWidth;
OnPropertyChanged();
}
}
@ -162,9 +170,17 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
set
{
int newHeight = -1;
int.TryParse(value + string.Empty, out newHeight);
if (newHeight < 0)
{
newHeight = 0;
}
if (_height != value)
{
_height = value;
_height = newHeight;
OnPropertyChanged();
}
}

View File

@ -183,5 +183,39 @@ namespace ViewModelTests
Assert.AreEqual(viewModel.Sizes.Count, sizeOfOriginalArray - 1);
Assert.IsFalse(viewModel.Sizes.Contains(deleteCandidate));
}
[TestMethod]
public void UpdateWidthAndHeight_ShouldUpateSize_WhenCorrectValuesAreProvided()
{
// arrange
ImageSize imageSize = new ImageSize()
{
Id = 0,
Name = "Test",
Fit = (int)ResizeFit.Fit,
Width = 30,
Height = 30,
Unit = (int)ResizeUnit.Pixel,
};
double negativeWidth = -2.0;
double negativeHeight = -2.0;
// Act
imageSize.Width = negativeWidth;
imageSize.Height = negativeHeight;
// Assert
Assert.AreEqual(0, imageSize.Width);
Assert.AreEqual(0, imageSize.Height);
// Act
imageSize.Width = 50;
imageSize.Height = 50;
// Assert
Assert.AreEqual(50, imageSize.Width);
Assert.AreEqual(50, imageSize.Height);
}
}
}