diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-07-16 16:31:49 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-07-16 16:49:44 +1000 |
| commit | ed36894d8b4da2f28972811f39d5e3685964e413 (patch) | |
| tree | db8e9c9bc90451ccee08ec4f6a153b2006ef67c8 /src/test/BurnUnitTest/VariableTest.cpp | |
| parent | 8bcb8c013a258691d4004c50af4689b90dd05c45 (diff) | |
| download | wix-ed36894d8b4da2f28972811f39d5e3685964e413.tar.gz wix-ed36894d8b4da2f28972811f39d5e3685964e413.tar.bz2 wix-ed36894d8b4da2f28972811f39d5e3685964e413.zip | |
Integrate BurnUnitTest into latest v4.
Diffstat (limited to 'src/test/BurnUnitTest/VariableTest.cpp')
| -rw-r--r-- | src/test/BurnUnitTest/VariableTest.cpp | 106 |
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 | { |
