|
23 | 23 | #include "app_framework.h" // NOLINT
|
24 | 24 | #include "firebase_test_framework.h" // NOLINT
|
25 | 25 |
|
| 26 | +using ::testing::UnorderedElementsAre; |
26 | 27 | // The TO_STRING macro is useful for command line defined strings as the quotes
|
27 | 28 | // get stripped.
|
28 | 29 | #define TO_STRING_EXPAND(X) #X
|
@@ -65,4 +66,34 @@ TEST_F(FirebaseAppTest, TestDefaultAppWithDefaultOptions) {
|
65 | 66 | default_app = nullptr;
|
66 | 67 | }
|
67 | 68 |
|
| 69 | +TEST_F(FirebaseAppTest, TestGetAll) { |
| 70 | + EXPECT_EQ(firebase::App::GetApps().size(), 0); |
| 71 | + |
| 72 | + firebase::App* default_app = firebase::App::Create(APP_CREATE_PARAMS); |
| 73 | + EXPECT_THAT(firebase::App::GetApps(), UnorderedElementsAre(default_app)); |
| 74 | + |
| 75 | + firebase::App* second_app = |
| 76 | + firebase::App::Create(firebase::AppOptions(), "2ndApp"); |
| 77 | + EXPECT_THAT(firebase::App::GetApps(), |
| 78 | + UnorderedElementsAre(default_app, second_app)); |
| 79 | + |
| 80 | + firebase::App* third_app = |
| 81 | + firebase::App::Create(firebase::AppOptions(), "3rdApp"); |
| 82 | + EXPECT_THAT(firebase::App::GetApps(), |
| 83 | + UnorderedElementsAre(default_app, second_app, third_app)); |
| 84 | + |
| 85 | + delete third_app; |
| 86 | + third_app = nullptr; |
| 87 | + EXPECT_THAT(firebase::App::GetApps(), |
| 88 | + UnorderedElementsAre(default_app, second_app)); |
| 89 | + |
| 90 | + delete default_app; |
| 91 | + default_app = nullptr; |
| 92 | + EXPECT_THAT(firebase::App::GetApps(), UnorderedElementsAre(second_app)); |
| 93 | + |
| 94 | + delete second_app; |
| 95 | + second_app = nullptr; |
| 96 | + EXPECT_EQ(firebase::App::GetApps().size(), 0); |
| 97 | +} |
| 98 | + |
68 | 99 | } // namespace firebase_testapp_automated
|
0 commit comments