mirror of https://github.com/abpframework/abp.git
5 changed files with 122 additions and 43 deletions
@ -0,0 +1,39 @@ |
|||
using Volo.Abp.Localization.TestResources.Base.CountryNames; |
|||
using Volo.Abp.Localization.TestResources.Base.Validation; |
|||
using Volo.Abp.Localization.TestResources.Source; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.VirtualFileSystem; |
|||
|
|||
namespace Volo.Abp.Localization; |
|||
|
|||
[DependsOn(typeof(AbpTestBaseModule))] |
|||
[DependsOn(typeof(AbpLocalizationModule))] |
|||
public class AbpLocalizationTestModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(ServiceConfigurationContext context) |
|||
{ |
|||
Configure<AbpVirtualFileSystemOptions>(options => |
|||
{ |
|||
options.FileSets.AddEmbedded<AbpLocalizationTestModule>(); |
|||
}); |
|||
|
|||
Configure<AbpLocalizationOptions>(options => |
|||
{ |
|||
options.Resources |
|||
.Add<LocalizationTestValidationResource>("en") |
|||
.AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/Validation"); |
|||
|
|||
options.Resources |
|||
.Add<LocalizationTestCountryNamesResource>("en") |
|||
.AddVirtualJson("/Volo/Abp/Localization/TestResources/Base/CountryNames"); |
|||
|
|||
options.Resources |
|||
.Add<LocalizationTestResource>("en") |
|||
.AddVirtualJson("/Volo/Abp/Localization/TestResources/Source"); |
|||
|
|||
options.Resources |
|||
.Get<LocalizationTestResource>() |
|||
.AddVirtualJson("/Volo/Abp/Localization/TestResources/SourceExt"); |
|||
}); |
|||
} |
|||
} |
|||
@ -0,0 +1,75 @@ |
|||
using Shouldly; |
|||
using Volo.Abp.Localization.TestResources.Source; |
|||
using Volo.Abp.Testing; |
|||
using Xunit; |
|||
|
|||
namespace Volo.Abp.Localization; |
|||
|
|||
public class LocalizableStringSerializer_Tests : AbpIntegratedTest<AbpLocalizationTestModule> |
|||
{ |
|||
private readonly ILocalizableStringSerializer _serializer; |
|||
|
|||
public LocalizableStringSerializer_Tests() |
|||
{ |
|||
_serializer = GetRequiredService<ILocalizableStringSerializer>(); |
|||
} |
|||
|
|||
[Fact] |
|||
public void Serialize_FixedLocalizableString() |
|||
{ |
|||
_serializer |
|||
.Serialize(new FixedLocalizableString("")) |
|||
.ShouldBe("F:"); |
|||
|
|||
_serializer |
|||
.Serialize(new FixedLocalizableString("Hello World")) |
|||
.ShouldBe("F:Hello World"); |
|||
} |
|||
|
|||
[Fact] |
|||
public void Serialize_LocalizableString() |
|||
{ |
|||
_serializer |
|||
.Serialize(new LocalizableString(typeof(LocalizationTestResource),"Car")) |
|||
.ShouldBe("L:Test,Car"); |
|||
} |
|||
|
|||
[Fact] |
|||
public void Deserialize_FixedLocalizableString() |
|||
{ |
|||
_serializer |
|||
.Deserialize("") |
|||
.ShouldBeOfType<FixedLocalizableString>() |
|||
.Value.ShouldBe(""); |
|||
|
|||
_serializer |
|||
.Deserialize("Hello") |
|||
.ShouldBeOfType<FixedLocalizableString>() |
|||
.Value.ShouldBe("Hello"); |
|||
|
|||
_serializer |
|||
.Deserialize("F:Hello") |
|||
.ShouldBeOfType<FixedLocalizableString>() |
|||
.Value.ShouldBe("Hello"); |
|||
} |
|||
|
|||
[Fact] |
|||
public void Deserialize_LocalizableString() |
|||
{ |
|||
var localizableString = _serializer |
|||
.Deserialize("L:Test,Car") |
|||
.ShouldBeOfType<LocalizableString>(); |
|||
localizableString.ResourceType.ShouldBe(typeof(LocalizationTestResource)); |
|||
localizableString.Name.ShouldBe("Car"); |
|||
|
|||
Assert.Throws<AbpException>(() => |
|||
{ |
|||
_serializer.Deserialize("L:Test"); |
|||
}); |
|||
|
|||
Assert.Throws<AbpException>(() => |
|||
{ |
|||
_serializer.Deserialize("L:Test, "); |
|||
}); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue