diff options
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 | ||