private IEnumerable <FieldConverter> GenerateConverters(QueryContext context) { if (!context.IsFrontendClient) { yield return(FieldConverters.ExcludeHidden()); yield return(FieldConverters.ForNestedName2Name(ValueConverters.ExcludeHidden())); } yield return(FieldConverters.ExcludeChangedTypes()); yield return(FieldConverters.ForNestedName2Name(ValueConverters.ExcludeChangedTypes())); yield return(FieldConverters.ResolveInvariant(context.App.LanguagesConfig)); yield return(FieldConverters.ResolveLanguages(context.App.LanguagesConfig)); if (!context.IsFrontendClient) { yield return(FieldConverters.ResolveFallbackLanguages(context.App.LanguagesConfig)); if (context.Languages?.Any() == true) { yield return(FieldConverters.FilterLanguages(context.App.LanguagesConfig, context.Languages)); } if (context.AssetUrlsToResolve?.Any() == true) { yield return(FieldConverters.ResolveAssetUrls(context.AssetUrlsToResolve, assetUrlGenerator)); } } }
private IEnumerable<FieldConverter> GenerateConverters(QueryContext context, bool checkType) { if (!context.IsFrontendClient) { yield return FieldConverters.ExcludeHidden(); } if (checkType) { yield return FieldConverters.ExcludeChangedTypes(); } yield return FieldConverters.ResolveInvariant(context.App.LanguagesConfig); yield return FieldConverters.ResolveLanguages(context.App.LanguagesConfig); if (!context.IsFrontendClient) { yield return FieldConverters.ResolveFallbackLanguages(context.App.LanguagesConfig); if (context.Languages?.Any() == true) { yield return FieldConverters.FilterLanguages(context.App.LanguagesConfig, context.Languages); } } }
public void Should_return_same_values_if_filtering_languages_from_invariant_field() { var source = new ContentFieldData(); var result = FieldConverters.FilterLanguages(languagesConfig, null)(source, stringInvariantField); Assert.Same(source, result); }
public void Should_return_same_values_if_filtered_languages_is_empty() { var source = new ContentFieldData(); var result = FieldConverters.FilterLanguages(languagesConfig, Enumerable.Empty <Language>())(source, stringLanguageField); Assert.Same(source, result); }
public void Should_return_same_values_if_filtered_languages_are_invalid() { var source = new ContentFieldData(); var result = FieldConverters.FilterLanguages(languagesConfig, new[] { Language.CA })(source, stringLanguageField); Assert.Same(source, result); }
private IEnumerable <FieldConverter> GenerateConverters(Context context, ValueConverter?cleanReferences) { if (!context.IsFrontendClient) { yield return(excludedHiddenField); yield return(excludedHiddenValue); } yield return(excludedChangedField); yield return(excludedChangedValue); if (cleanReferences != null) { yield return(FieldConverters.ForValues(cleanReferences)); yield return(FieldConverters.ForValues(ValueConverters.ForNested(cleanReferences))); } yield return(FieldConverters.ResolveInvariant(context.App.Languages)); yield return(FieldConverters.ResolveLanguages(context.App.Languages)); if (!context.IsFrontendClient) { if (context.ShouldResolveLanguages()) { yield return(FieldConverters.ResolveFallbackLanguages(context.App.Languages)); } var languages = context.Languages(); if (languages.Any()) { yield return(FieldConverters.FilterLanguages(context.App.Languages, languages)); } var assetUrls = context.AssetUrls().ToList(); if (assetUrls.Count > 0) { var appId = context.App.NamedId(); var resolveAssetUrls = ValueConverters.ResolveAssetUrls(appId, assetUrls, urlGenerator); yield return(FieldConverters.ForValues(resolveAssetUrls)); yield return(FieldConverters.ForValues(ValueConverters.ForNested(resolveAssetUrls))); } } }
public void Should_return_master_language_if_languages_to_filter_are_invalid() { var source = new ContentFieldData() .AddValue("en", "EN") .AddValue("de", "DE"); var expected = new ContentFieldData() .AddValue("en", "EN"); var result = FieldConverters.FilterLanguages(languagesConfig, new[] { Language.CA })(source, stringLanguageField); Assert.Equal(expected, result); }
public void Should_return_master_language_if_languages_to_filter_are_invalid() { var field = Fields.String(1, "string", Partitioning.Language); var source = new ContentFieldData() .AddLocalized("en", "EN") .AddLocalized("de", "DE"); var expected = new ContentFieldData() .AddLocalized("en", "EN"); var result = FieldConverters.FilterLanguages(languagesConfig, new[] { Language.CA })(source, field); Assert.Equal(expected, result); }
private IEnumerable <FieldConverter> GenerateConverters(Context context, ValueConverter?cleanReferences) { if (!context.IsFrontendClient) { yield return(FieldConverters.ExcludeHidden()); yield return(FieldConverters.ForNestedName2Name(ValueConverters.ExcludeHidden())); } yield return(FieldConverters.ExcludeChangedTypes()); yield return(FieldConverters.ForNestedName2Name(ValueConverters.ExcludeChangedTypes())); if (cleanReferences != null) { yield return(FieldConverters.ForValues(cleanReferences)); yield return(FieldConverters.ForNestedName2Name(cleanReferences)); } yield return(FieldConverters.ResolveInvariant(context.App.LanguagesConfig)); yield return(FieldConverters.ResolveLanguages(context.App.LanguagesConfig)); if (!context.IsFrontendClient) { if (context.ShouldResolveLanguages()) { yield return(FieldConverters.ResolveFallbackLanguages(context.App.LanguagesConfig)); } var languages = context.Languages(); if (languages.Any()) { yield return(FieldConverters.FilterLanguages(context.App.LanguagesConfig, languages)); } var assetUrls = context.AssetUrls(); if (assetUrls.Any()) { yield return(FieldConverters.ResolveAssetUrls(assetUrls.ToList(), assetUrlGenerator)); } } }
public void Should_filter_languages() { var field = Fields.String(1, "string", Partitioning.Language); var source = new ContentFieldData() .AddValue("en", "EN") .AddValue("de", "DE"); var expected = new ContentFieldData() .AddValue("de", "DE"); var result = FieldConverters.FilterLanguages(languagesConfig, new[] { Language.DE })(source, field); Assert.Equal(expected, result); }