From d097c7deb98803f6e9e46fe20261dd761efeb993 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Fri, 13 Mar 2020 20:30:06 -0400 Subject: Clean up unused IVariableResolver functionality. Handle escaped bind-time variable references. --- .../VariableResolverFixture.cs | 40 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'src/test') diff --git a/src/test/WixToolsetTest.CoreIntegration/VariableResolverFixture.cs b/src/test/WixToolsetTest.CoreIntegration/VariableResolverFixture.cs index eaeb4724..abf1bd43 100644 --- a/src/test/WixToolsetTest.CoreIntegration/VariableResolverFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/VariableResolverFixture.cs @@ -29,10 +29,42 @@ namespace WixToolsetTest.CoreIntegration variableResolver.AddLocalization(localization); - Assert.Equal("Welcome to Localized Product Name", variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductName)", false).Value); - Assert.Equal("Welcome to Localized Product Name Enterprise Edition", variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductNameEdition)", false).Value); - Assert.Equal("Welcome to Localized Product Name Enterprise Edition v1.2.3", variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductNameEditionVersion)", false).Value); - Assert.Throws(() => variableResolver.ResolveVariables(null, "Welcome to !(loc.UnknownLocalizationVariable)", false)); + var result = variableResolver.ResolveVariables(null, "These are not the loc strings you're looking for."); + Assert.Equal("These are not the loc strings you're looking for.", result.Value); + Assert.False(result.UpdatedValue); + + result = variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductName)"); + Assert.Equal("Welcome to Localized Product Name", result.Value); + Assert.True(result.UpdatedValue); + + result = variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductNameEdition)"); + Assert.Equal("Welcome to Localized Product Name Enterprise Edition", result.Value); + Assert.True(result.UpdatedValue); + + result = variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductNameEditionVersion)"); + Assert.Equal("Welcome to Localized Product Name Enterprise Edition v1.2.3", result.Value); + Assert.True(result.UpdatedValue); + + result = variableResolver.ResolveVariables(null, "Welcome to !(bind.property.ProductVersion)"); + Assert.Equal("Welcome to !(bind.property.ProductVersion)", result.Value); + Assert.False(result.UpdatedValue); + Assert.True(result.DelayedResolve); + + Assert.Throws(() => variableResolver.ResolveVariables(null, "Welcome to !(loc.UnknownLocalizationVariable)")); + + result = variableResolver.ResolveVariables(null, "Welcome to !!(loc.UnknownLocalizationVariable)"); + Assert.Equal("Welcome to !(loc.UnknownLocalizationVariable)", result.Value); + Assert.True(result.UpdatedValue); + + result = variableResolver.ResolveVariables(null, "Welcome to !!(loc.UnknownLocalizationVariable) v!(bind.property.ProductVersion)"); + Assert.Equal("Welcome to !(loc.UnknownLocalizationVariable) v!(bind.property.ProductVersion)", result.Value); + Assert.True(result.UpdatedValue); + Assert.True(result.DelayedResolve); + + result = variableResolver.ResolveVariables(null, "Welcome to !(loc.ProductNameEditionVersion) !!(loc.UnknownLocalizationVariable) v!(bind.property.ProductVersion)"); + Assert.Equal("Welcome to Localized Product Name Enterprise Edition v1.2.3 !(loc.UnknownLocalizationVariable) v!(bind.property.ProductVersion)", result.Value); + Assert.True(result.UpdatedValue); + Assert.True(result.DelayedResolve); } } } -- cgit v1.2.3-55-g6feb