diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-11-01 14:16:32 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-11-01 18:35:01 -0600 |
| commit | b5553689ed1b1bd32f854654f56935c039a9b13b (patch) | |
| tree | 6afcbd397eebab56c8235b30ee10d4d07d89de2b /src/test/BurnUnitTest/VariableTest.cpp | |
| parent | 79d7d3aa1de224d90d5e3a1174b3158ffe49b6f3 (diff) | |
| download | wix-b5553689ed1b1bd32f854654f56935c039a9b13b.tar.gz wix-b5553689ed1b1bd32f854654f56935c039a9b13b.tar.bz2 wix-b5553689ed1b1bd32f854654f56935c039a9b13b.zip | |
WIXFEAT:6258 - Format variables when evaluating condition.
Diffstat (limited to 'src/test/BurnUnitTest/VariableTest.cpp')
| -rw-r--r-- | src/test/BurnUnitTest/VariableTest.cpp | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/src/test/BurnUnitTest/VariableTest.cpp b/src/test/BurnUnitTest/VariableTest.cpp index f5511199..676c134e 100644 --- a/src/test/BurnUnitTest/VariableTest.cpp +++ b/src/test/BurnUnitTest/VariableTest.cpp | |||
| @@ -80,6 +80,7 @@ namespace Bootstrapper | |||
| 80 | HRESULT hr = S_OK; | 80 | HRESULT hr = S_OK; |
| 81 | IXMLDOMElement* pixeBundle = NULL; | 81 | IXMLDOMElement* pixeBundle = NULL; |
| 82 | BURN_VARIABLES variables = { }; | 82 | BURN_VARIABLES variables = { }; |
| 83 | BOOL fContainsHiddenData = FALSE; | ||
| 83 | try | 84 | try |
| 84 | { | 85 | { |
| 85 | LPCWSTR wzDocument = | 86 | LPCWSTR wzDocument = |
| @@ -90,6 +91,7 @@ namespace Bootstrapper | |||
| 90 | L" <Variable Id='Var4' Hidden='no' Persisted='no' />" | 91 | L" <Variable Id='Var4' Hidden='no' Persisted='no' />" |
| 91 | L" <Variable Id='Var5' Type='string' Value='' Hidden='no' Persisted='no' />" | 92 | L" <Variable Id='Var5' Type='string' Value='' Hidden='no' Persisted='no' />" |
| 92 | L" <Variable Id='Var6' Type='formatted' Value='[Formatted]' Hidden='no' Persisted='no' />" | 93 | L" <Variable Id='Var6' Type='formatted' Value='[Formatted]' Hidden='no' Persisted='no' />" |
| 94 | L" <Variable Id='Formatted' Type='formatted' Value='supersecret' Hidden='yes' Persisted='no' />" | ||
| 93 | L"</Bundle>"; | 95 | L"</Bundle>"; |
| 94 | 96 | ||
| 95 | hr = VariableInitialize(&variables); | 97 | hr = VariableInitialize(&variables); |
| @@ -99,7 +101,7 @@ namespace Bootstrapper | |||
| 99 | LoadBundleXmlHelper(wzDocument, &pixeBundle); | 101 | LoadBundleXmlHelper(wzDocument, &pixeBundle); |
| 100 | 102 | ||
| 101 | hr = VariablesParseFromXml(&variables, pixeBundle); | 103 | hr = VariablesParseFromXml(&variables, pixeBundle); |
| 102 | TestThrowOnFailure(hr, L"Failed to parse searches from XML."); | 104 | TestThrowOnFailure(hr, L"Failed to parse variables from XML."); |
| 103 | 105 | ||
| 104 | // get and verify variable values | 106 | // get and verify variable values |
| 105 | Assert::Equal((int)BURN_VARIANT_TYPE_NUMERIC, VariableGetTypeHelper(&variables, L"Var1")); | 107 | Assert::Equal((int)BURN_VARIANT_TYPE_NUMERIC, VariableGetTypeHelper(&variables, L"Var1")); |
| @@ -112,6 +114,12 @@ namespace Bootstrapper | |||
| 112 | Assert::Equal<String^>(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2")); | 114 | Assert::Equal<String^>(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2")); |
| 113 | Assert::Equal<String^>(gcnew String(L"1.2.3.4"), VariableGetVersionHelper(&variables, L"Var3")); | 115 | Assert::Equal<String^>(gcnew String(L"1.2.3.4"), VariableGetVersionHelper(&variables, L"Var3")); |
| 114 | Assert::Equal<String^>(gcnew String(L"[Formatted]"), VariableGetStringHelper(&variables, L"Var6")); | 116 | Assert::Equal<String^>(gcnew String(L"[Formatted]"), VariableGetStringHelper(&variables, L"Var6")); |
| 117 | Assert::Equal<String^>(gcnew String(L"supersecret"), VariableGetFormattedHelper(&variables, L"Formatted", &fContainsHiddenData)); | ||
| 118 | Assert::Equal<BOOL>(TRUE, fContainsHiddenData); | ||
| 119 | Assert::Equal<String^>(gcnew String(L"supersecret"), VariableGetFormattedHelper(&variables, L"Var6", &fContainsHiddenData)); | ||
| 120 | Assert::Equal<BOOL>(TRUE, fContainsHiddenData); | ||
| 121 | Assert::Equal<String^>(gcnew String(L"String value."), VariableGetFormattedHelper(&variables, L"Var2", &fContainsHiddenData)); | ||
| 122 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); | ||
| 115 | } | 123 | } |
| 116 | finally | 124 | finally |
| 117 | { | 125 | { |
| @@ -127,6 +135,7 @@ namespace Bootstrapper | |||
| 127 | BURN_VARIABLES variables = { }; | 135 | BURN_VARIABLES variables = { }; |
| 128 | LPWSTR scz = NULL; | 136 | LPWSTR scz = NULL; |
| 129 | DWORD cch = 0; | 137 | DWORD cch = 0; |
| 138 | BOOL fContainsHiddenData = FALSE; | ||
| 130 | try | 139 | try |
| 131 | { | 140 | { |
| 132 | hr = VariableInitialize(&variables); | 141 | hr = VariableInitialize(&variables); |
| @@ -155,12 +164,18 @@ namespace Bootstrapper | |||
| 155 | Assert::Equal<String^>(gcnew String(L"]"), VariableFormatStringHelper(&variables, L"[\\]]")); | 164 | Assert::Equal<String^>(gcnew String(L"]"), VariableFormatStringHelper(&variables, L"[\\]]")); |
| 156 | Assert::Equal<String^>(gcnew String(L"[]"), VariableFormatStringHelper(&variables, L"[]")); | 165 | Assert::Equal<String^>(gcnew String(L"[]"), VariableFormatStringHelper(&variables, L"[]")); |
| 157 | Assert::Equal<String^>(gcnew String(L"[NONE"), VariableFormatStringHelper(&variables, L"[NONE")); | 166 | Assert::Equal<String^>(gcnew String(L"[NONE"), VariableFormatStringHelper(&variables, L"[NONE")); |
| 158 | Assert::Equal<String^>(gcnew String(L"VAL2"), VariableGetFormattedHelper(&variables, L"PROP2")); | 167 | Assert::Equal<String^>(gcnew String(L"VAL2"), VariableGetFormattedHelper(&variables, L"PROP2", &fContainsHiddenData)); |
| 159 | Assert::Equal<String^>(gcnew String(L"3"), VariableGetFormattedHelper(&variables, L"PROP3")); | 168 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); |
| 160 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetFormattedHelper(&variables, L"PROP4")); | 169 | Assert::Equal<String^>(gcnew String(L"3"), VariableGetFormattedHelper(&variables, L"PROP3", &fContainsHiddenData)); |
| 161 | Assert::Equal<String^>(gcnew String(L"[PROP2]"), VariableGetFormattedHelper(&variables, L"PROP5")); | 170 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); |
| 162 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetFormattedHelper(&variables, L"PROP6")); | 171 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetFormattedHelper(&variables, L"PROP4", &fContainsHiddenData)); |
| 163 | Assert::Equal<String^>(gcnew String(L"[PROP2]"), VariableGetFormattedHelper(&variables, L"PROP7")); | 172 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); |
| 173 | Assert::Equal<String^>(gcnew String(L"[PROP2]"), VariableGetFormattedHelper(&variables, L"PROP5", &fContainsHiddenData)); | ||
| 174 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); | ||
| 175 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetFormattedHelper(&variables, L"PROP6", &fContainsHiddenData)); | ||
| 176 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); | ||
| 177 | Assert::Equal<String^>(gcnew String(L"[PROP2]"), VariableGetFormattedHelper(&variables, L"PROP7", &fContainsHiddenData)); | ||
| 178 | Assert::Equal<BOOL>(FALSE, fContainsHiddenData); | ||
| 164 | 179 | ||
| 165 | hr = VariableFormatString(&variables, L"PRE [PROP1] POST", &scz, &cch); | 180 | hr = VariableFormatString(&variables, L"PRE [PROP1] POST", &scz, &cch); |
| 166 | TestThrowOnFailure(hr, L"Failed to format string"); | 181 | TestThrowOnFailure(hr, L"Failed to format string"); |
| @@ -235,8 +250,8 @@ namespace Bootstrapper | |||
| 235 | Assert::True(EvaluateConditionHelper(&variables, L"_PROP9")); | 250 | Assert::True(EvaluateConditionHelper(&variables, L"_PROP9")); |
| 236 | Assert::True(EvaluateConditionHelper(&variables, L"PROP16")); | 251 | Assert::True(EvaluateConditionHelper(&variables, L"PROP16")); |
| 237 | Assert::True(EvaluateConditionHelper(&variables, L"PROP17")); | 252 | Assert::True(EvaluateConditionHelper(&variables, L"PROP17")); |
| 238 | Assert::True(EvaluateConditionHelper(&variables, L"PROP24")); | 253 | Assert::True(EvaluateConditionHelper(&variables, L"PROP24=\"VAL1\"")); |
| 239 | Assert::True(EvaluateConditionHelper(&variables, L"PROP25")); | 254 | Assert::False(EvaluateConditionHelper(&variables, L"PROP25")); |
| 240 | Assert::True(EvaluateConditionHelper(&variables, L"PROP26")); | 255 | Assert::True(EvaluateConditionHelper(&variables, L"PROP26")); |
| 241 | Assert::True(EvaluateConditionHelper(&variables, L"PROP27")); | 256 | Assert::True(EvaluateConditionHelper(&variables, L"PROP27")); |
| 242 | 257 | ||
