Rename extension methods back
This commit is contained in:
@@ -36,7 +36,7 @@ public class SchemaIdHandler : ISchemaIdHandler
|
||||
// first grab the "non-generic" part of any generic type name (i.e. "PagedViewModel`1" becomes "PagedViewModel")
|
||||
.Split('`').First()
|
||||
// then remove the "ViewModel" postfix from type names
|
||||
.TrimEndExact("ViewModel");
|
||||
.TrimEnd("ViewModel");
|
||||
|
||||
private string HandleGenerics(string name, Type type)
|
||||
{
|
||||
|
||||
@@ -87,7 +87,7 @@ internal sealed class ApiMediaQueryService : IApiMediaQueryService
|
||||
return null;
|
||||
}
|
||||
|
||||
var childrenOf = fetch.TrimStartExact(childrenOfParameter);
|
||||
var childrenOf = fetch.TrimStart(childrenOfParameter);
|
||||
if (childrenOf.IsNullOrWhiteSpace())
|
||||
{
|
||||
// this mirrors the current behavior of the Content Delivery API :-)
|
||||
|
||||
@@ -66,7 +66,7 @@ internal sealed class RequestRedirectService : RoutingServiceBase, IRequestRedir
|
||||
}
|
||||
|
||||
// important: redirect URLs are always tracked without trailing slashes
|
||||
IRedirectUrl? redirectUrl = _redirectUrlService.GetMostRecentRedirectUrl(requestedPath.TrimEndExact("/"), culture);
|
||||
IRedirectUrl? redirectUrl = _redirectUrlService.GetMostRecentRedirectUrl(requestedPath.TrimEnd("/"), culture);
|
||||
IPublishedContent? content = redirectUrl != null
|
||||
? _apiPublishedContentCache.GetById(redirectUrl.ContentKey)
|
||||
: null;
|
||||
|
||||
@@ -37,7 +37,7 @@ public class AllIndexerController : IndexerControllerBase
|
||||
{
|
||||
IndexResponseModel[] indexes = _examineManager.Indexes
|
||||
.Select(_indexPresentationFactory.Create)
|
||||
.OrderBy(indexModel => indexModel.Name.TrimEndExact("Indexer")).ToArray();
|
||||
.OrderBy(indexModel => indexModel.Name.TrimEnd("Indexer")).ToArray();
|
||||
|
||||
var viewModel = new PagedViewModel<IndexResponseModel> { Items = indexes.Skip(skip).Take(take), Total = indexes.Length };
|
||||
return Task.FromResult(viewModel);
|
||||
|
||||
@@ -30,7 +30,7 @@ public class AllSearcherController : SearcherControllerBase
|
||||
var searchers = new List<SearcherResponse>(
|
||||
_examineManager.RegisteredSearchers.Select(searcher => new SearcherResponse { Name = searcher.Name })
|
||||
.OrderBy(x =>
|
||||
x.Name.TrimEndExact("Searcher"))); // order by name , but strip the "Searcher" from the end if it exists
|
||||
x.Name.TrimEnd("Searcher"))); // order by name , but strip the "Searcher" from the end if it exists
|
||||
var viewModel = new PagedViewModel<SearcherResponse>
|
||||
{
|
||||
Items = searchers.Skip(skip).Take(take),
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<title>Website is Under Maintainance</title>
|
||||
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStartExact("~") , "website", "/nonodes.css")" />
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStart("~") , "website", "/nonodes.css")" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
color:initial;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<title>Umbraco: No Published Content</title>
|
||||
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStartExact("~") , "website", "/nonodes.css")" />
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStart("~") , "website", "/nonodes.css")" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<title>Page Not Found</title>
|
||||
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStartExact("~") , "website", "/nonodes.css")" />
|
||||
<link rel="stylesheet" href="@WebPath.Combine(backOfficePath.TrimStart("~") , "website", "/nonodes.css")" />
|
||||
<style type="text/css">
|
||||
body {
|
||||
color:initial;
|
||||
|
||||
@@ -53,7 +53,7 @@ public static class ModelsBuilderConfigExtensions
|
||||
|
||||
if (config.StartsWith("~/"))
|
||||
{
|
||||
var dir = Path.Combine(root, config.TrimStartExact("~/"));
|
||||
var dir = Path.Combine(root, config.TrimStart("~/"));
|
||||
|
||||
// sanitize - GetFullPath will take care of any relative
|
||||
// segments in path, eg '../../foo.tmp' - it may throw a SecurityException
|
||||
|
||||
@@ -59,7 +59,7 @@ public sealed class ApiContentRouteBuilder : IApiContentRouteBuilder
|
||||
|
||||
if (_globalSettings.HideTopLevelNodeFromPath == false)
|
||||
{
|
||||
contentPath = contentPath.TrimStartExact(rootPath.EnsureStartsWith("/")).EnsureStartsWith("/");
|
||||
contentPath = contentPath.TrimStart(rootPath.EnsureStartsWith("/")).EnsureStartsWith("/");
|
||||
}
|
||||
|
||||
return new ApiContentRoute(contentPath, new ApiContentStartItem(root.Key, rootPath));
|
||||
|
||||
@@ -287,14 +287,14 @@ public static class StringExtensions
|
||||
/// <param name="value">The value.</param>
|
||||
/// <param name="forRemoving">For removing.</param>
|
||||
/// <returns></returns>
|
||||
public static string TrimExact(this string value, string forRemoving)
|
||||
public static string Trim(this string value, string forRemoving)
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
return value.TrimEndExact(forRemoving).TrimStartExact(forRemoving);
|
||||
return value.TrimEnd(forRemoving).TrimStart(forRemoving);
|
||||
}
|
||||
|
||||
public static string EncodeJsString(this string s)
|
||||
@@ -343,7 +343,7 @@ public static class StringExtensions
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static string TrimEndExact(this string value, string forRemoving)
|
||||
public static string TrimEnd(this string value, string forRemoving)
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
@@ -363,7 +363,7 @@ public static class StringExtensions
|
||||
return value;
|
||||
}
|
||||
|
||||
public static string TrimStartExact(this string value, string forRemoving)
|
||||
public static string TrimStart(this string value, string forRemoving)
|
||||
{
|
||||
if (string.IsNullOrEmpty(value))
|
||||
{
|
||||
@@ -390,7 +390,7 @@ public static class StringExtensions
|
||||
return input;
|
||||
}
|
||||
|
||||
return toStartWith + input.TrimStartExact(toStartWith);
|
||||
return toStartWith + input.TrimStart(toStartWith);
|
||||
}
|
||||
|
||||
public static string EnsureStartsWith(this string input, char value) =>
|
||||
|
||||
@@ -353,19 +353,19 @@ public class Content : ContentBase, IContent
|
||||
// Special check here since we want to check if the request is for changed cultures
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.PublishedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.PublishedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.PublishedCulture);
|
||||
return _currentPublishCultureChanges.addedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.UnpublishedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.UnpublishedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.UnpublishedCulture);
|
||||
return _currentPublishCultureChanges.removedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.ChangedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.ChangedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.ChangedCulture);
|
||||
return _currentPublishCultureChanges.updatedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
@@ -379,19 +379,19 @@ public class Content : ContentBase, IContent
|
||||
// Special check here since we want to check if the request is for changed cultures
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.PublishedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.PublishedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.PublishedCulture);
|
||||
return _previousPublishCultureChanges.addedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.UnpublishedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.UnpublishedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.UnpublishedCulture);
|
||||
return _previousPublishCultureChanges.removedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.ChangedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.ChangedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.ChangedCulture);
|
||||
return _previousPublishCultureChanges.updatedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
|
||||
@@ -578,19 +578,19 @@ public abstract class ContentBase : TreeEntityBase, IContentBase
|
||||
// Special check here since we want to check if the request is for changed cultures
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.AddedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.AddedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.AddedCulture);
|
||||
return _currentCultureChanges.addedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.RemovedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.RemovedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.RemovedCulture);
|
||||
return _currentCultureChanges.removedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.UpdatedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.UpdatedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.UpdatedCulture);
|
||||
return _currentCultureChanges.updatedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
@@ -609,19 +609,19 @@ public abstract class ContentBase : TreeEntityBase, IContentBase
|
||||
// Special check here since we want to check if the request is for changed cultures
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.AddedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.AddedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.AddedCulture);
|
||||
return _previousCultureChanges.addedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.RemovedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.RemovedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.RemovedCulture);
|
||||
return _previousCultureChanges.removedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
if (propertyName.StartsWith(ChangeTrackingPrefix.UpdatedCulture))
|
||||
{
|
||||
var culture = propertyName.TrimStartExact(ChangeTrackingPrefix.UpdatedCulture);
|
||||
var culture = propertyName.TrimStart(ChangeTrackingPrefix.UpdatedCulture);
|
||||
return _previousCultureChanges.updatedCultures?.Contains(culture) ?? false;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public class UmbracoRequestPaths
|
||||
_appPath = hostingEnvironment.ApplicationVirtualPath;
|
||||
|
||||
_backOfficePath = globalSettings.Value.GetBackOfficePath(hostingEnvironment)
|
||||
.EnsureStartsWith('/').TrimStartExact(_appPath).EnsureStartsWith('/');
|
||||
.EnsureStartsWith('/').TrimStart(_appPath).EnsureStartsWith('/');
|
||||
|
||||
string mvcArea = globalSettings.Value.GetUmbracoMvcArea(hostingEnvironment);
|
||||
|
||||
@@ -73,7 +73,7 @@ public class UmbracoRequestPaths
|
||||
/// </remarks>
|
||||
public bool IsBackOfficeRequest(string absPath)
|
||||
{
|
||||
string urlPath = absPath.TrimStartExact(_appPath).EnsureStartsWith('/');
|
||||
string urlPath = absPath.TrimStart(_appPath).EnsureStartsWith('/');
|
||||
|
||||
// check if this is in the umbraco back office
|
||||
if (!urlPath.InvariantStartsWith(_backOfficePath))
|
||||
|
||||
@@ -246,7 +246,7 @@ public class BackOfficeExamineSearcher : IBackOfficeExamineSearcher
|
||||
for (var index = 0; index < querywords.Length; index++)
|
||||
{
|
||||
queryWordsReplaced[index] =
|
||||
querywords[index].Replace("\\-", " ").Replace("_", " ").TrimExact(" ");
|
||||
querywords[index].Replace("\\-", " ").Replace("_", " ").Trim(" ");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -64,7 +64,7 @@ public class LuceneIndexDiagnostics : IIndexDiagnostics
|
||||
{
|
||||
var rootDir = _hostingEnvironment.ApplicationPhysicalPath;
|
||||
d["LuceneIndexFolder"] = fsDir.Directory.ToString().ToLowerInvariant()
|
||||
.TrimStartExact(rootDir.ToLowerInvariant()).Replace("\\", " /").EnsureStartsWith('/');
|
||||
.TrimStart(rootDir.ToLowerInvariant()).Replace("\\", " /").EnsureStartsWith('/');
|
||||
}
|
||||
|
||||
if (_indexOptions != null)
|
||||
|
||||
@@ -190,7 +190,7 @@ internal sealed class ApiRichTextElementParser : ApiRichTextParserBase, IApiRich
|
||||
|
||||
foreach (KeyValuePair<string, object> dataAttribute in dataAttributes)
|
||||
{
|
||||
var actualKey = dataAttribute.Key.TrimStartExact("data-");
|
||||
var actualKey = dataAttribute.Key.TrimStart("data-");
|
||||
attributes.TryAdd(actualKey, dataAttribute.Value);
|
||||
|
||||
attributes.Remove(dataAttribute.Key);
|
||||
|
||||
@@ -93,7 +93,7 @@ public class FilePermissionHelper : IFilePermissionHelper
|
||||
|
||||
temp ??= new List<string>();
|
||||
|
||||
temp.Add(dir.TrimStartExact(_basePath));
|
||||
temp.Add(dir.TrimStart(_basePath));
|
||||
success = false;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ public class FilePermissionHelper : IFilePermissionHelper
|
||||
|
||||
temp ??= new List<string>();
|
||||
|
||||
temp.Add(file.TrimStartExact(_basePath));
|
||||
temp.Add(file.TrimStart(_basePath));
|
||||
success = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace Umbraco.Extensions
|
||||
|
||||
//Set this environment variable - so that it can be used in external config file
|
||||
//add key="serilog:write-to:RollingFile.pathFormat" value="%BASEDIR%\logs\log.txt" />
|
||||
Environment.SetEnvironmentVariable("BASEDIR", hostEnvironment.MapPathContentRoot("/").TrimEndExact("\\"), EnvironmentVariableTarget.Process);
|
||||
Environment.SetEnvironmentVariable("BASEDIR", hostEnvironment.MapPathContentRoot("/").TrimEnd("\\"), EnvironmentVariableTarget.Process);
|
||||
Environment.SetEnvironmentVariable("UMBLOGDIR", loggingConfiguration.LogDirectory, EnvironmentVariableTarget.Process);
|
||||
Environment.SetEnvironmentVariable("MACHINENAME", Environment.MachineName, EnvironmentVariableTarget.Process);
|
||||
|
||||
|
||||
@@ -226,7 +226,7 @@ namespace Umbraco.Extensions
|
||||
|
||||
var temp = new Sql<ISqlContext>(sql.SqlContext);
|
||||
temp = predicates[i](temp);
|
||||
wsql.Append(temp.SQL.TrimStartExact("WHERE "), temp.Arguments);
|
||||
wsql.Append(temp.SQL.TrimStart("WHERE "), temp.Arguments);
|
||||
}
|
||||
wsql.Append(")");
|
||||
|
||||
@@ -615,7 +615,7 @@ namespace Umbraco.Extensions
|
||||
{
|
||||
var sql = new Sql<ISqlContext>(sqlJoin.SqlContext);
|
||||
sql = on(sql);
|
||||
var text = sql.SQL.Trim().TrimStartExact("WHERE").Trim();
|
||||
var text = sql.SQL.Trim().TrimStart("WHERE").Trim();
|
||||
return sqlJoin.On(text, sql.Arguments);
|
||||
}
|
||||
|
||||
|
||||
@@ -1213,7 +1213,7 @@ SELECT 4 AS [Key], COUNT(id) AS [Value] FROM umbracoUser WHERE userDisabled = 0
|
||||
var args = filterSql.Arguments;
|
||||
var sqlFilter = hasWhereClause
|
||||
? filterSql.SQL
|
||||
: " WHERE " + filterSql.SQL.TrimStartExact("AND ");
|
||||
: " WHERE " + filterSql.SQL.TrimStart("AND ");
|
||||
|
||||
sql.Append(SqlContext.Sql(sqlFilter, args));
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ public abstract class SqlSyntaxProviderBase<TSyntax> : ISqlSyntaxProvider
|
||||
sb.Append(Format(column) + ",\n");
|
||||
}
|
||||
|
||||
return sb.ToString().TrimEndExact(",\n");
|
||||
return sb.ToString().TrimEnd(",\n");
|
||||
}
|
||||
|
||||
public virtual string Format(ColumnDefinition column) =>
|
||||
|
||||
@@ -192,7 +192,7 @@ public static class ApplicationBuilderExtensions
|
||||
public static IApplicationBuilder UseUmbracoBackOfficeRewrites(this IApplicationBuilder builder)
|
||||
{
|
||||
IBackOfficePathGenerator backOfficePathGenerator = builder.ApplicationServices.GetRequiredService<IBackOfficePathGenerator>();
|
||||
var backOfficeAssetsPath = backOfficePathGenerator.BackOfficeAssetsPath.TrimStartExact("/").EnsureEndsWith("/");
|
||||
var backOfficeAssetsPath = backOfficePathGenerator.BackOfficeAssetsPath.TrimStart("/").EnsureEndsWith("/");
|
||||
|
||||
builder.UseRewriter(new RewriteOptions()
|
||||
// The destination needs to be hardcoded to "/umbraco/backoffice" because this is where they are located in the Umbraco.Cms.StaticAssets RCL
|
||||
|
||||
@@ -40,7 +40,7 @@ public static class LinkGeneratorExtensions
|
||||
" or the result ");
|
||||
}
|
||||
|
||||
return linkGenerator.GetUmbracoApiService<T>(method.Name)?.TrimEndExact(method.Name);
|
||||
return linkGenerator.GetUmbracoApiService<T>(method.Name)?.TrimEnd(method.Name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -197,7 +197,7 @@ public static class UrlHelperExtensions
|
||||
UmbracoApiControllerTypeCollection umbracoApiControllerTypeCollection,
|
||||
string actionName)
|
||||
where T : UmbracoApiController =>
|
||||
url.GetUmbracoApiService<T>(umbracoApiControllerTypeCollection, actionName)?.TrimEndExact(actionName);
|
||||
url.GetUmbracoApiService<T>(umbracoApiControllerTypeCollection, actionName)?.TrimEnd(actionName);
|
||||
|
||||
[Obsolete("This will be removed in Umbraco 15.")]
|
||||
public static string? GetUmbracoApiServiceBaseUrl<T>(
|
||||
@@ -213,7 +213,7 @@ public static class UrlHelperExtensions
|
||||
" or the result ");
|
||||
}
|
||||
|
||||
return url.GetUmbracoApiService<T>(umbracoApiControllerTypeCollection, method.Name)?.TrimEndExact(method.Name);
|
||||
return url.GetUmbracoApiService<T>(umbracoApiControllerTypeCollection, method.Name)?.TrimEnd(method.Name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -130,7 +130,7 @@ public static class UmbracoBuilderExtensions
|
||||
uiProject.Create();
|
||||
}
|
||||
|
||||
var mainLangFolder = new DirectoryInfo(Path.Combine(uiProject.FullName, Constants.System.DefaultUmbracoPath.TrimStartExact("~/"), "config", "lang"));
|
||||
var mainLangFolder = new DirectoryInfo(Path.Combine(uiProject.FullName, Constants.System.DefaultUmbracoPath.TrimStart("~/"), "config", "lang"));
|
||||
|
||||
return new LocalizedTextServiceFileSources(
|
||||
loggerFactory.CreateLogger<LocalizedTextServiceFileSources>(),
|
||||
|
||||
@@ -111,7 +111,7 @@ public abstract class ManagementApiTest<T> : UmbracoTestServerTestBase
|
||||
|
||||
var codeVerifier = "12345"; // Just a dummy value we use in tests
|
||||
var codeChallange = Convert.ToBase64String(SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(codeVerifier)))
|
||||
.TrimEndExact("=");
|
||||
.TrimEnd("=");
|
||||
|
||||
var authorizationUrl = GetManagementApiUrl<BackOfficeController>(x => x.Authorize(CancellationToken.None)) +
|
||||
$"?client_id={backofficeOpenIddictApplicationDescriptor.ClientId}&response_type=code&redirect_uri={WebUtility.UrlEncode(backofficeOpenIddictApplicationDescriptor.RedirectUris.FirstOrDefault()?.AbsoluteUri)}&code_challenge_method=S256&code_challenge={codeChallange}";
|
||||
|
||||
@@ -240,7 +240,7 @@ public class ExamineExternalIndexSearcherTest : IExamineExternalIndexSearcherTes
|
||||
for (var index = 0; index < querywords.Length; index++)
|
||||
{
|
||||
queryWordsReplaced[index] =
|
||||
querywords[index].Replace("\\-", " ").Replace("_", " ").TrimExact(" ");
|
||||
querywords[index].Replace("\\-", " ").Replace("_", " ").Trim(" ");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -88,7 +88,7 @@ public class StringExtensionsTests
|
||||
[TestCase("Hello this is my string string", "Hello this is my string string", "")]
|
||||
public void TrimEnd(string input, string forTrimming, string shouldBe)
|
||||
{
|
||||
var trimmed = input.TrimEndExact(forTrimming);
|
||||
var trimmed = input.TrimEnd(forTrimming);
|
||||
Assert.AreEqual(shouldBe, trimmed);
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public class StringExtensionsTests
|
||||
[TestCase("Hello this is my string", "Hello this is my string", "")]
|
||||
public void TrimStart(string input, string forTrimming, string shouldBe)
|
||||
{
|
||||
var trimmed = input.TrimStartExact(forTrimming);
|
||||
var trimmed = input.TrimStart(forTrimming);
|
||||
Assert.AreEqual(shouldBe, trimmed);
|
||||
}
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@ public class NPocoSqlTemplateTests
|
||||
.Append("AND whatever=@0", SqlTemplate.Arg("k")));
|
||||
|
||||
sql = template.Sql(new { j = new[] { 1, 2, 3 }, k = "oops" });
|
||||
Assert.AreEqual(sqlBase.TrimEndExact("WHERE ") + "AND whatever=@0,@1,@2 AND whatever=@3", sql.SQL.NoCrLf());
|
||||
Assert.AreEqual(sqlBase.TrimEnd("WHERE ") + "AND whatever=@0,@1,@2 AND whatever=@3", sql.SQL.NoCrLf());
|
||||
Assert.AreEqual(4, sql.Arguments.Length);
|
||||
Assert.AreEqual(1, sql.Arguments[0]);
|
||||
Assert.AreEqual(2, sql.Arguments[1]);
|
||||
|
||||
Reference in New Issue
Block a user