Browse Source

ITemplateContributor GetOrNull converted to Async

pull/3792/head
Ahmet 7 years ago
parent
commit
60e4a8e8c3
  1. 5
      framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateContributor.cs
  2. 2
      framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateContentProvider.cs
  3. 3
      framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContributor.cs
  4. 22
      framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContributor_Tests.cs

5
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/ITemplateContributor.cs

@ -1,4 +1,5 @@
using JetBrains.Annotations; using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Volo.Abp.TextTemplating namespace Volo.Abp.TextTemplating
{ {
@ -6,6 +7,6 @@ namespace Volo.Abp.TextTemplating
{ {
void Initialize(TemplateContributorInitializationContext context); void Initialize(TemplateContributorInitializationContext context);
string GetOrNull([CanBeNull] string cultureName); Task<string> GetOrNullAsync([CanBeNull] string cultureName);
} }
} }

2
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/TemplateContentProvider.cs

@ -31,7 +31,7 @@ namespace Volo.Abp.TextTemplating
foreach (var contributor in templateDefinition.Contributors) foreach (var contributor in templateDefinition.Contributors)
{ {
var templateString = contributor.GetOrNull(cultureName); //TODO: GetOrNull should be async! var templateString = await contributor.GetOrNullAsync(cultureName);
if (templateString != null) if (templateString != null)
{ {
return templateString; return templateString;

3
framework/src/Volo.Abp.TextTemplating/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContributor.cs

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Threading.Tasks;
using JetBrains.Annotations; using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.FileProviders;
@ -30,7 +31,7 @@ namespace Volo.Abp.TextTemplating.VirtualFiles
TemplateDefinition = context.TemplateDefinition; TemplateDefinition = context.TemplateDefinition;
} }
public string GetOrNull([CanBeNull] string cultureName = null) public async Task<string> GetOrNullAsync([CanBeNull] string cultureName = null)
{ {
//TODO: Refactor: Split implementation based on single file or dictionary of culture-specific contents //TODO: Refactor: Split implementation based on single file or dictionary of culture-specific contents

22
framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/VirtualFiles/VirtualFileTemplateContributor_Tests.cs

@ -1,4 +1,5 @@
using Shouldly; using System.Threading.Tasks;
using Shouldly;
using Xunit; using Xunit;
namespace Volo.Abp.TextTemplating.VirtualFiles namespace Volo.Abp.TextTemplating.VirtualFiles
@ -6,7 +7,7 @@ namespace Volo.Abp.TextTemplating.VirtualFiles
public class VirtualFileTemplateContributor_Tests : AbpTextTemplatingTestBase public class VirtualFileTemplateContributor_Tests : AbpTextTemplatingTestBase
{ {
[Fact] [Fact]
public void Should_Get_Localized_Content_By_Culture() public async Task Should_Get_Localized_Content_By_Culture()
{ {
var contributor = new VirtualFileTemplateContributor( var contributor = new VirtualFileTemplateContributor(
"/SampleTemplates/WelcomeEmail" "/SampleTemplates/WelcomeEmail"
@ -19,17 +20,15 @@ namespace Volo.Abp.TextTemplating.VirtualFiles
) )
); );
contributor (await contributor
.GetOrNull("en") .GetOrNullAsync("en")).ShouldBe("Welcome {{model.name}} to the abp.io!");
.ShouldBe("Welcome {{model.name}} to the abp.io!");
contributor (await contributor
.GetOrNull("tr") .GetOrNullAsync("tr")).ShouldBe("Merhaba {{model.name}}, abp.io'ya hoşgeldiniz!");
.ShouldBe("Merhaba {{model.name}}, abp.io'ya hoşgeldiniz!");
} }
[Fact] [Fact]
public void Should_Get_Non_Localized_Template_Content() public async Task Should_Get_Non_Localized_Template_Content()
{ {
var contributor = new VirtualFileTemplateContributor( var contributor = new VirtualFileTemplateContributor(
"/SampleTemplates/ForgotPasswordEmail.tpl" "/SampleTemplates/ForgotPasswordEmail.tpl"
@ -42,9 +41,8 @@ namespace Volo.Abp.TextTemplating.VirtualFiles
) )
); );
contributor (await contributor
.GetOrNull() .GetOrNullAsync()).ShouldBe("{{l \"HelloText\"}}. Please click to the following link to get an email to reset your password!");
.ShouldBe("{{l \"HelloText\"}}. Please click to the following link to get an email to reset your password!");
} }
} }
} }

Loading…
Cancel
Save