| Index: installer/src/installer-lib/test/property_test.cpp | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/installer/src/installer-lib/test/property_test.cpp | 
| @@ -0,0 +1,40 @@ | 
| +#include <gtest/gtest.h> | 
| + | 
| +#include "../database.h" | 
| +#include "../property.h" | 
| + | 
| +TEST( Property_Test, null ) | 
| +{ | 
| +  /* | 
| +   * This is an extract of manual test code originally run from abp_close_ie DLL entry point. | 
| +   * This code relies on an MSI database opened for installation, which we don't need to access properties. | 
| +   * We can instead use an offline session, with the database opened outside Windows Installer. | 
| +   * That session class, though, isn't written yet. | 
| +   */ | 
| +  /* | 
| +   * DISABLED. Refactor into proper tests. | 
| +   */ | 
| +  if ( false ) | 
| +  { | 
| +    // This variable was the argument to the entry point. | 
| +    MSIHANDLE session_handle = 0; | 
| + | 
| +    // The code in the body. | 
| +    Immediate_Session session( session_handle, "abp_close_ie" ) ; | 
| +    session.log( L"Have session object" ) ; | 
| +    Installation_Database db( session ) ; | 
| +    session.log( L"Have database object" ) ; | 
| + | 
| +    // Test: ensure that a property is present with its expected value. Exercises the conversion operator to String. | 
| +    session.log( L"VersionMsi = " + Property( session, L"VersionMsi" ) ) ; | 
| + | 
| +    // Test: create a property dynamically from within the CA. Not sure if this can be done offline. | 
| +    Property tv( session, L"TESTVARIABLE" ) ; | 
| +    session.log( L"TESTVARIABLE = " + tv ) ; | 
| + | 
| +    // Test: assign a new value to a property. | 
| +    session.log( L"Setting TESTVARIABLE to 'testvalue'" ) ; | 
| +    tv = L"testvalue" ; | 
| +    session.log( L"TESTVARIABLE = " + tv ) ; | 
| +  } | 
| +} | 
|  |