Merge pull request #11076 from umbraco/v9/bugfix/9661-bool-conversion
Fixes #9661 boolean conversion
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Umbraco.Cms.Core
|
||||
@@ -24,6 +24,8 @@ namespace Umbraco.Cms.Core
|
||||
var str = (string)value;
|
||||
if (str == null || str.Length == 0 || str == "0") return false;
|
||||
if (str == "1") return true;
|
||||
if (str.Equals("Yes", StringComparison.OrdinalIgnoreCase)) return true;
|
||||
if (str.Equals("No", StringComparison.OrdinalIgnoreCase)) return false;
|
||||
}
|
||||
|
||||
return base.ConvertFrom(context, culture, value);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using System;
|
||||
@@ -10,6 +10,42 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.CoreThings
|
||||
[TestFixture]
|
||||
public class TryConvertToTests
|
||||
{
|
||||
[Test]
|
||||
public void ConvertToBoolTest()
|
||||
{
|
||||
var conv = 1.TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(true, conv.Result);
|
||||
|
||||
conv = "1".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(true, conv.Result);
|
||||
|
||||
conv = 0.TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(false, conv.Result);
|
||||
|
||||
conv = "0".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(false, conv.Result);
|
||||
|
||||
conv = "Yes".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(true, conv.Result);
|
||||
|
||||
conv = "yes".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(true, conv.Result);
|
||||
|
||||
conv = "No".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(false, conv.Result);
|
||||
|
||||
conv = "no".TryConvertTo<bool>();
|
||||
Assert.IsTrue(conv);
|
||||
Assert.AreEqual(false, conv.Result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ConvertToIntegerTest()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user