Index: installer/src/installer-lib/test/exception_test.cpp |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/installer/src/installer-lib/test/exception_test.cpp |
@@ -0,0 +1,58 @@ |
+/** |
+ * \file exception_test.cpp Unit tests for the library-wide exception classes in installer-lib.h |
+ */ |
+ |
+#include <gtest/gtest.h> |
+ |
+#include <Windows.h> |
+ |
+#include "../installer-lib.h" |
+ |
+TEST( Exception_Test, empty_two ) |
+{ |
+ ::SetLastError( 0 ) ; |
+ windows_api_error e( "", "" ) ; |
+ ASSERT_STREQ( "<unspecified> returned <unknown> with last error code 0", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, empty_three ) |
+{ |
+ ::SetLastError( 1 ) ; |
+ windows_api_error e( "", "", "" ) ; |
+ ASSERT_STREQ( "<unspecified> returned <unknown> with last error code 1", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, empty_empty_message ) |
+{ |
+ ::SetLastError( 2 ) ; |
+ windows_api_error e( "", "", "message" ) ; |
+ ASSERT_STREQ( "<unspecified> returned <unknown> with last error code 2: message", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, string_number ) |
+{ |
+ ::SetLastError( 3 ) ; |
+ windows_api_error e( "Beep", 1 ) ; |
+ ASSERT_STREQ( "Beep returned 1 with last error code 3", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, string_number_message ) |
+{ |
+ ::SetLastError( 4 ) ; |
+ windows_api_error e( "Beep", 1, "message" ) ; |
+ ASSERT_STREQ( "Beep returned 1 with last error code 4: message", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, string_string ) |
+{ |
+ ::SetLastError( 5 ) ; |
+ windows_api_error e( "GetErrorMode", "SEM_FAILCRITICALERRORS" ) ; |
+ ASSERT_STREQ( "GetErrorMode returned SEM_FAILCRITICALERRORS with last error code 5", e.what() ) ; |
+} |
+ |
+TEST( Exception_Test, string_string_message ) |
+{ |
+ ::SetLastError( 6 ) ; |
+ windows_api_error e( "GetErrorMode", "SEM_FAILCRITICALERRORS", "message" ) ; |
+ ASSERT_STREQ( "GetErrorMode returned SEM_FAILCRITICALERRORS with last error code 6: message", e.what() ) ; |
+} |