using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; using Shouldly; using Volo.Abp.Localization.TestResources.Source; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; using Xunit; namespace Volo.Abp.Localization { public class TemplateLocalizer_Tests : AbpIntegratedTest { private readonly ITemplateLocalizer _templateLocalizer; private readonly IStringLocalizer _testResource; public TemplateLocalizer_Tests() { _testResource = GetRequiredService>(); _templateLocalizer = GetRequiredService(); } [Fact] public void Should_Localize() { using (AbpCultureHelper.Use("en")) { _templateLocalizer.Localize(_testResource, "

{{#L:CarPlural}} {{#L:Universe}}

") .ShouldBe("

Cars Universe

"); } } [Fact] public void Should_Work_Even_If_No_Text_To_Localize() { using (AbpCultureHelper.Use("en")) { _templateLocalizer.Localize(_testResource, "

test

") .ShouldBe("

test

"); } } [DependsOn(typeof(AbpTestBaseModule))] [DependsOn(typeof(AbpLocalizationModule))] public class TestModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { Configure(options => { options.FileSets.AddEmbedded(); }); Configure(options => { options.Resources .Add("en") .AddVirtualJson("/Volo/Abp/Localization/TestResources/Source"); }); } } } }