Added unit test for ObjectExtensions TryConvertTo<DateTime>.
Modified CustomBooleanTypeConverter to accept an empty string as a FALSE.
This commit is contained in:
@@ -23,7 +23,7 @@ namespace Umbraco.Core
|
||||
{
|
||||
var str = (string)value;
|
||||
if (str == "1") return true;
|
||||
if (str == "0") return false;
|
||||
if (str == "0" || str == "") return false;
|
||||
}
|
||||
|
||||
return base.ConvertFrom(context, culture, value);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core;
|
||||
@@ -67,7 +68,8 @@ namespace Umbraco.Tests
|
||||
{"FALSE", false},
|
||||
{"False", false},
|
||||
{"false", false},
|
||||
{"0", false}
|
||||
{"0", false},
|
||||
{"", false}
|
||||
};
|
||||
|
||||
foreach (var testCase in testCases)
|
||||
@@ -79,6 +81,34 @@ namespace Umbraco.Tests
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
[TestOnlyInFullTrust]
|
||||
public virtual void CanConvertStringToDateTime()
|
||||
{
|
||||
var dateTime = new DateTime(2012, 11, 10, 13, 14, 15);
|
||||
var testCases = new Dictionary<string, bool>
|
||||
{
|
||||
{"2012-11-10", true},
|
||||
{"2012/11/10", true},
|
||||
{"10/11/2012", true},
|
||||
{"11/10/2012", false},
|
||||
{"Sat 10, Nov 2012", true},
|
||||
{"Saturday 10, Nov 2012", true},
|
||||
{"Sat 10, November 2012", true},
|
||||
{"Saturday 10, November 2012", true},
|
||||
{"2012-11-10 13:14:15", true},
|
||||
{"", false}
|
||||
};
|
||||
|
||||
foreach (var testCase in testCases)
|
||||
{
|
||||
var result = testCase.Key.TryConvertTo<DateTime>();
|
||||
|
||||
Assert.IsTrue(result.Success);
|
||||
Assert.AreEqual(DateTime.Equals(dateTime.Date, result.Result.Date), testCase.Value);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Run once before each test in derived test fixtures.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user