From 7cf13cbf94b3888e7a19080ed1ab9644e9d87f92 Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 17 Apr 2019 11:29:00 +0200 Subject: [PATCH] Fix IPublishedContent.Name(), .Segment() for invariant --- .../PublishedContent/NuCacheTests.cs | 2 +- .../NuCache/PublishedContent.cs | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs index 89c2458f18..073ebf58ca 100644 --- a/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs +++ b/src/Umbraco.Tests/PublishedContent/NuCacheTests.cs @@ -249,7 +249,7 @@ namespace Umbraco.Tests.PublishedContent Assert.AreEqual(ContentVariation.Nothing, againContent.ContentType.GetPropertyType("prop").Variations); // now, "no culture" means "invariant" - Assert.IsNull(againContent.Name()); // no invariant name for varying content + Assert.AreEqual("It Works1!", againContent.Name()); Assert.AreEqual("val1", againContent.Value("prop")); } diff --git a/src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs b/src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs index 7f67aff870..2e745aacb0 100644 --- a/src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs +++ b/src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs @@ -187,31 +187,31 @@ namespace Umbraco.Web.PublishedCache.NuCache /// public override string Name(string culture = null) { - // handle context culture + // invariant has invariant value (whatever the requested culture) + if (!ContentType.VariesByCulture()) + return ContentData.Name; + + // handle context culture for variant if (culture == null) culture = VariationContextAccessor?.VariationContext?.Culture ?? ""; - // invariant culture - if (culture == "") - return ContentType.VariesByCulture() ? null : ContentData.Name; - - // explicit culture - return Cultures.TryGetValue(culture, out var cultureInfos) ? cultureInfos.Name : null; + // get + return culture != "" && Cultures.TryGetValue(culture, out var infos) ? infos.Name : null; } /// public override string UrlSegment(string culture = null) { - // handle context culture + // invariant has invariant value (whatever the requested culture) + if (!ContentType.VariesByCulture()) + return _urlSegment; + + // handle context culture fpr variant if (culture == null) culture = VariationContextAccessor?.VariationContext?.Culture ?? ""; - // invariant culture - if (culture == "") - return ContentType.VariesByCulture() ? null : _urlSegment; - - // explicit culture - return Cultures.TryGetValue(culture, out var cultureInfos) ? cultureInfos.UrlSegment : null; + // get + return culture != "" && Cultures.TryGetValue(culture, out var infos) ? infos.UrlSegment : null; } ///