aboutsummaryrefslogtreecommitdiff
path: root/src/test/BurnUnitTest/VariableTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/BurnUnitTest/VariableTest.cpp')
-rw-r--r--src/test/BurnUnitTest/VariableTest.cpp106
1 files changed, 55 insertions, 51 deletions
diff --git a/src/test/BurnUnitTest/VariableTest.cpp b/src/test/BurnUnitTest/VariableTest.cpp
index 3a4caecf..7d670744 100644
--- a/src/test/BurnUnitTest/VariableTest.cpp
+++ b/src/test/BurnUnitTest/VariableTest.cpp
@@ -20,7 +20,11 @@ namespace Bootstrapper
20 public ref class VariableTest : BurnUnitTest 20 public ref class VariableTest : BurnUnitTest
21 { 21 {
22 public: 22 public:
23 [NamedFact] 23 VariableTest(BurnTestFixture^ fixture) : BurnUnitTest(fixture)
24 {
25 }
26
27 [Fact]
24 void VariablesBasicTest() 28 void VariablesBasicTest()
25 { 29 {
26 HRESULT hr = S_OK; 30 HRESULT hr = S_OK;
@@ -48,19 +52,19 @@ namespace Bootstrapper
48 VariableSetStringHelper(&variables, L"OVERWRITTEN_NUMBER", L"NEW"); 52 VariableSetStringHelper(&variables, L"OVERWRITTEN_NUMBER", L"NEW");
49 53
50 // get and verify variable values 54 // get and verify variable values
51 Assert::Equal(gcnew String(L"VAL1"), VariableGetStringHelper(&variables, L"PROP1")); 55 Assert::Equal<String^>(gcnew String(L"VAL1"), VariableGetStringHelper(&variables, L"PROP1"));
52 Assert::Equal(2ll, VariableGetNumericHelper(&variables, L"PROP2")); 56 Assert::Equal(2ll, VariableGetNumericHelper(&variables, L"PROP2"));
53 Assert::Equal(gcnew String(L"2"), VariableGetStringHelper(&variables, L"PROP2")); 57 Assert::Equal<String^>(gcnew String(L"2"), VariableGetStringHelper(&variables, L"PROP2"));
54 Assert::Equal(gcnew String(L"VAL3"), VariableGetStringHelper(&variables, L"PROP3")); 58 Assert::Equal<String^>(gcnew String(L"VAL3"), VariableGetStringHelper(&variables, L"PROP3"));
55 Assert::Equal(gcnew String(L"VAL4"), VariableGetStringHelper(&variables, L"PROP4")); 59 Assert::Equal<String^>(gcnew String(L"VAL4"), VariableGetStringHelper(&variables, L"PROP4"));
56 Assert::Equal(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5")); 60 Assert::Equal<String^>(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5"));
57 Assert::Equal(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6")); 61 Assert::Equal<String^>(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6"));
58 Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7")); 62 Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7"));
59 Assert::Equal(MAKEQWORDVERSION(1,1,0,0), VariableGetVersionHelper(&variables, L"PROP8")); 63 Assert::Equal(MAKEQWORDVERSION(1,1,0,0), VariableGetVersionHelper(&variables, L"PROP8"));
60 Assert::Equal(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8")); 64 Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8"));
61 65
62 Assert::Equal(42ll, VariableGetNumericHelper(&variables, L"OVERWRITTEN_STRING")); 66 Assert::Equal(42ll, VariableGetNumericHelper(&variables, L"OVERWRITTEN_STRING"));
63 Assert::Equal(gcnew String(L"NEW"), VariableGetStringHelper(&variables, L"OVERWRITTEN_NUMBER")); 67 Assert::Equal<String^>(gcnew String(L"NEW"), VariableGetStringHelper(&variables, L"OVERWRITTEN_NUMBER"));
64 } 68 }
65 finally 69 finally
66 { 70 {
@@ -68,7 +72,7 @@ namespace Bootstrapper
68 } 72 }
69 } 73 }
70 74
71 [NamedFact] 75 [Fact]
72 void VariablesParseXmlTest() 76 void VariablesParseXmlTest()
73 { 77 {
74 HRESULT hr = S_OK; 78 HRESULT hr = S_OK;
@@ -101,7 +105,7 @@ namespace Bootstrapper
101 Assert::Equal((int)BURN_VARIANT_TYPE_NONE, VariableGetTypeHelper(&variables, L"Var4")); 105 Assert::Equal((int)BURN_VARIANT_TYPE_NONE, VariableGetTypeHelper(&variables, L"Var4"));
102 106
103 Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Var1")); 107 Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Var1"));
104 Assert::Equal(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2")); 108 Assert::Equal<String^>(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2"));
105 Assert::Equal(MAKEQWORDVERSION(1,2,3,4), VariableGetVersionHelper(&variables, L"Var3")); 109 Assert::Equal(MAKEQWORDVERSION(1,2,3,4), VariableGetVersionHelper(&variables, L"Var3"));
106 } 110 }
107 finally 111 finally
@@ -111,7 +115,7 @@ namespace Bootstrapper
111 } 115 }
112 } 116 }
113 117
114 [NamedFact] 118 [Fact]
115 void VariablesFormatTest() 119 void VariablesFormatTest()
116 { 120 {
117 HRESULT hr = S_OK; 121 HRESULT hr = S_OK;
@@ -129,21 +133,21 @@ namespace Bootstrapper
129 VariableSetNumericHelper(&variables, L"PROP3", 3); 133 VariableSetNumericHelper(&variables, L"PROP3", 3);
130 134
131 // test string formatting 135 // test string formatting
132 Assert::Equal(gcnew String(L"NOPROP"), VariableFormatStringHelper(&variables, L"NOPROP")); 136 Assert::Equal<String^>(gcnew String(L"NOPROP"), VariableFormatStringHelper(&variables, L"NOPROP"));
133 Assert::Equal(gcnew String(L"VAL1"), VariableFormatStringHelper(&variables, L"[PROP1]")); 137 Assert::Equal<String^>(gcnew String(L"VAL1"), VariableFormatStringHelper(&variables, L"[PROP1]"));
134 Assert::Equal(gcnew String(L" VAL1 "), VariableFormatStringHelper(&variables, L" [PROP1] ")); 138 Assert::Equal<String^>(gcnew String(L" VAL1 "), VariableFormatStringHelper(&variables, L" [PROP1] "));
135 Assert::Equal(gcnew String(L"PRE VAL1"), VariableFormatStringHelper(&variables, L"PRE [PROP1]")); 139 Assert::Equal<String^>(gcnew String(L"PRE VAL1"), VariableFormatStringHelper(&variables, L"PRE [PROP1]"));
136 Assert::Equal(gcnew String(L"VAL1 POST"), VariableFormatStringHelper(&variables, L"[PROP1] POST")); 140 Assert::Equal<String^>(gcnew String(L"VAL1 POST"), VariableFormatStringHelper(&variables, L"[PROP1] POST"));
137 Assert::Equal(gcnew String(L"PRE VAL1 POST"), VariableFormatStringHelper(&variables, L"PRE [PROP1] POST")); 141 Assert::Equal<String^>(gcnew String(L"PRE VAL1 POST"), VariableFormatStringHelper(&variables, L"PRE [PROP1] POST"));
138 Assert::Equal(gcnew String(L"VAL1 MID VAL2"), VariableFormatStringHelper(&variables, L"[PROP1] MID [PROP2]")); 142 Assert::Equal<String^>(gcnew String(L"VAL1 MID VAL2"), VariableFormatStringHelper(&variables, L"[PROP1] MID [PROP2]"));
139 Assert::Equal(gcnew String(L""), VariableFormatStringHelper(&variables, L"[NONE]")); 143 Assert::Equal<String^>(gcnew String(L""), VariableFormatStringHelper(&variables, L"[NONE]"));
140 Assert::Equal(gcnew String(L""), VariableFormatStringHelper(&variables, L"[prop1]")); 144 Assert::Equal<String^>(gcnew String(L""), VariableFormatStringHelper(&variables, L"[prop1]"));
141 Assert::Equal(gcnew String(L"["), VariableFormatStringHelper(&variables, L"[\\[]")); 145 Assert::Equal<String^>(gcnew String(L"["), VariableFormatStringHelper(&variables, L"[\\[]"));
142 Assert::Equal(gcnew String(L"]"), VariableFormatStringHelper(&variables, L"[\\]]")); 146 Assert::Equal<String^>(gcnew String(L"]"), VariableFormatStringHelper(&variables, L"[\\]]"));
143 Assert::Equal(gcnew String(L"[]"), VariableFormatStringHelper(&variables, L"[]")); 147 Assert::Equal<String^>(gcnew String(L"[]"), VariableFormatStringHelper(&variables, L"[]"));
144 Assert::Equal(gcnew String(L"[NONE"), VariableFormatStringHelper(&variables, L"[NONE")); 148 Assert::Equal<String^>(gcnew String(L"[NONE"), VariableFormatStringHelper(&variables, L"[NONE"));
145 Assert::Equal(gcnew String(L"VAL2"), VariableGetFormattedHelper(&variables, L"PROP2")); 149 Assert::Equal<String^>(gcnew String(L"VAL2"), VariableGetFormattedHelper(&variables, L"PROP2"));
146 Assert::Equal(gcnew String(L"3"), VariableGetFormattedHelper(&variables, L"PROP3")); 150 Assert::Equal<String^>(gcnew String(L"3"), VariableGetFormattedHelper(&variables, L"PROP3"));
147 151
148 hr = VariableFormatString(&variables, L"PRE [PROP1] POST", &scz, &cch); 152 hr = VariableFormatString(&variables, L"PRE [PROP1] POST", &scz, &cch);
149 TestThrowOnFailure(hr, L"Failed to format string"); 153 TestThrowOnFailure(hr, L"Failed to format string");
@@ -162,16 +166,16 @@ namespace Bootstrapper
162 } 166 }
163 } 167 }
164 168
165 [NamedFact] 169 [Fact]
166 void VariablesEscapeTest() 170 void VariablesEscapeTest()
167 { 171 {
168 // test string escaping 172 // test string escaping
169 Assert::Equal(gcnew String(L"[\\[]"), VariableEscapeStringHelper(L"[")); 173 Assert::Equal<String^>(gcnew String(L"[\\[]"), VariableEscapeStringHelper(L"["));
170 Assert::Equal(gcnew String(L"[\\]]"), VariableEscapeStringHelper(L"]")); 174 Assert::Equal<String^>(gcnew String(L"[\\]]"), VariableEscapeStringHelper(L"]"));
171 Assert::Equal(gcnew String(L" [\\[]TEXT[\\]] "), VariableEscapeStringHelper(L" [TEXT] ")); 175 Assert::Equal<String^>(gcnew String(L" [\\[]TEXT[\\]] "), VariableEscapeStringHelper(L" [TEXT] "));
172 } 176 }
173 177
174 [NamedFact] 178 [Fact]
175 void VariablesConditionTest() 179 void VariablesConditionTest()
176 { 180 {
177 HRESULT hr = S_OK; 181 HRESULT hr = S_OK;
@@ -346,7 +350,7 @@ namespace Bootstrapper
346 } 350 }
347 } 351 }
348 352
349 [NamedFact] 353 [Fact]
350 void VariablesSerializationTest() 354 void VariablesSerializationTest()
351 { 355 {
352 HRESULT hr = S_OK; 356 HRESULT hr = S_OK;
@@ -376,10 +380,10 @@ namespace Bootstrapper
376 hr = VariableDeserialize(&variables2, FALSE, pbBuffer, cbBuffer, &iBuffer); 380 hr = VariableDeserialize(&variables2, FALSE, pbBuffer, cbBuffer, &iBuffer);
377 TestThrowOnFailure(hr, L"Failed to deserialize variables."); 381 TestThrowOnFailure(hr, L"Failed to deserialize variables.");
378 382
379 Assert::Equal(gcnew String(L"VAL1"), VariableGetStringHelper(&variables2, L"PROP1")); 383 Assert::Equal<String^>(gcnew String(L"VAL1"), VariableGetStringHelper(&variables2, L"PROP1"));
380 Assert::Equal(2ll, VariableGetNumericHelper(&variables2, L"PROP2")); 384 Assert::Equal(2ll, VariableGetNumericHelper(&variables2, L"PROP2"));
381 Assert::Equal(MAKEQWORDVERSION(1,1,1,1), VariableGetVersionHelper(&variables2, L"PROP3")); 385 Assert::Equal(MAKEQWORDVERSION(1,1,1,1), VariableGetVersionHelper(&variables2, L"PROP3"));
382 Assert::Equal(gcnew String(L"VAL4"), VariableGetStringHelper(&variables2, L"PROP4")); 386 Assert::Equal<String^>(gcnew String(L"VAL4"), VariableGetStringHelper(&variables2, L"PROP4"));
383 } 387 }
384 finally 388 finally
385 { 389 {
@@ -389,7 +393,7 @@ namespace Bootstrapper
389 } 393 }
390 } 394 }
391 395
392 [NamedFact] 396 [Fact]
393 void VariablesBuiltInTest() 397 void VariablesBuiltInTest()
394 { 398 {
395 HRESULT hr = S_OK; 399 HRESULT hr = S_OK;
@@ -436,29 +440,29 @@ namespace Bootstrapper
436 VariableGetNumericHelper(&variables, L"UserLanguageID"); 440 VariableGetNumericHelper(&variables, L"UserLanguageID");
437 441
438 // known folders 442 // known folders
439 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData) + "\\", VariableGetStringHelper(&variables, L"AppDataFolder")); 443 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData) + "\\", VariableGetStringHelper(&variables, L"AppDataFolder"));
440 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::CommonApplicationData) + "\\", VariableGetStringHelper(&variables, L"CommonAppDataFolder")); 444 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::CommonApplicationData) + "\\", VariableGetStringHelper(&variables, L"CommonAppDataFolder"));
441 445
442 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles) + "\\", VariableGetStringHelper(&variables, L"ProgramFilesFolder")); 446 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles) + "\\", VariableGetStringHelper(&variables, L"ProgramFilesFolder"));
443 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::DesktopDirectory) + "\\", VariableGetStringHelper(&variables, L"DesktopFolder")); 447 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::DesktopDirectory) + "\\", VariableGetStringHelper(&variables, L"DesktopFolder"));
444 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::Favorites) + "\\", VariableGetStringHelper(&variables, L"FavoritesFolder")); 448 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::Favorites) + "\\", VariableGetStringHelper(&variables, L"FavoritesFolder"));
445 VariableGetStringHelper(&variables, L"FontsFolder"); 449 VariableGetStringHelper(&variables, L"FontsFolder");
446 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::LocalApplicationData) + "\\", VariableGetStringHelper(&variables, L"LocalAppDataFolder")); 450 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::LocalApplicationData) + "\\", VariableGetStringHelper(&variables, L"LocalAppDataFolder"));
447 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::Personal) + "\\", VariableGetStringHelper(&variables, L"PersonalFolder")); 451 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::Personal) + "\\", VariableGetStringHelper(&variables, L"PersonalFolder"));
448 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::Programs) + "\\", VariableGetStringHelper(&variables, L"ProgramMenuFolder")); 452 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::Programs) + "\\", VariableGetStringHelper(&variables, L"ProgramMenuFolder"));
449 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::SendTo) + "\\", VariableGetStringHelper(&variables, L"SendToFolder")); 453 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::SendTo) + "\\", VariableGetStringHelper(&variables, L"SendToFolder"));
450 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::StartMenu) + "\\", VariableGetStringHelper(&variables, L"StartMenuFolder")); 454 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::StartMenu) + "\\", VariableGetStringHelper(&variables, L"StartMenuFolder"));
451 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::Startup) + "\\", VariableGetStringHelper(&variables, L"StartupFolder")); 455 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::Startup) + "\\", VariableGetStringHelper(&variables, L"StartupFolder"));
452 VariableGetStringHelper(&variables, L"SystemFolder"); 456 VariableGetStringHelper(&variables, L"SystemFolder");
453 VariableGetStringHelper(&variables, L"WindowsFolder"); 457 VariableGetStringHelper(&variables, L"WindowsFolder");
454 VariableGetStringHelper(&variables, L"WindowsVolume"); 458 VariableGetStringHelper(&variables, L"WindowsVolume");
455 459
456 Assert::Equal(System::IO::Path::GetTempPath(), System::IO::Path::GetFullPath(VariableGetStringHelper(&variables, L"TempFolder"))); 460 Assert::Equal<String^>(System::IO::Path::GetTempPath(), System::IO::Path::GetFullPath(VariableGetStringHelper(&variables, L"TempFolder")));
457 461
458 VariableGetStringHelper(&variables, L"AdminToolsFolder"); 462 VariableGetStringHelper(&variables, L"AdminToolsFolder");
459 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::CommonProgramFiles) + "\\", VariableGetStringHelper(&variables, L"CommonFilesFolder")); 463 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::CommonProgramFiles) + "\\", VariableGetStringHelper(&variables, L"CommonFilesFolder"));
460 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::MyPictures) + "\\", VariableGetStringHelper(&variables, L"MyPicturesFolder")); 464 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::MyPictures) + "\\", VariableGetStringHelper(&variables, L"MyPicturesFolder"));
461 Assert::Equal(Environment::GetFolderPath(Environment::SpecialFolder::Templates) + "\\", VariableGetStringHelper(&variables, L"TemplateFolder")); 465 Assert::Equal<String^>(Environment::GetFolderPath(Environment::SpecialFolder::Templates) + "\\", VariableGetStringHelper(&variables, L"TemplateFolder"));
462 466
463 if (Environment::Is64BitOperatingSystem) 467 if (Environment::Is64BitOperatingSystem)
464 { 468 {