TestMediaControlService.cpp (2284B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 #include "MediaControlService.h" 6 #include "MediaController.h" 7 #include "gtest/gtest.h" 8 9 using namespace mozilla::dom; 10 11 #define FIRST_CONTROLLER_ID 0 12 #define SECOND_CONTROLLER_ID 1 13 14 TEST(MediaControlService, TestAddOrRemoveControllers) 15 { 16 RefPtr<MediaControlService> service = MediaControlService::GetService(); 17 ASSERT_TRUE(service->GetActiveControllersNum() == 0); 18 19 RefPtr<MediaController> controller1 = 20 new MediaController(FIRST_CONTROLLER_ID); 21 RefPtr<MediaController> controller2 = 22 new MediaController(SECOND_CONTROLLER_ID); 23 24 service->RegisterActiveMediaController(controller1); 25 ASSERT_TRUE(service->GetActiveControllersNum() == 1); 26 27 service->RegisterActiveMediaController(controller2); 28 ASSERT_TRUE(service->GetActiveControllersNum() == 2); 29 30 service->UnregisterActiveMediaController(controller1); 31 ASSERT_TRUE(service->GetActiveControllersNum() == 1); 32 33 service->UnregisterActiveMediaController(controller2); 34 ASSERT_TRUE(service->GetActiveControllersNum() == 0); 35 } 36 37 TEST(MediaControlService, TestMainController) 38 { 39 RefPtr<MediaControlService> service = MediaControlService::GetService(); 40 ASSERT_TRUE(service->GetActiveControllersNum() == 0); 41 42 RefPtr<MediaController> controller1 = 43 new MediaController(FIRST_CONTROLLER_ID); 44 service->RegisterActiveMediaController(controller1); 45 46 RefPtr<MediaController> mainController = service->GetMainController(); 47 ASSERT_TRUE(mainController->Id() == FIRST_CONTROLLER_ID); 48 49 RefPtr<MediaController> controller2 = 50 new MediaController(SECOND_CONTROLLER_ID); 51 service->RegisterActiveMediaController(controller2); 52 53 mainController = service->GetMainController(); 54 ASSERT_TRUE(mainController->Id() == SECOND_CONTROLLER_ID); 55 56 service->UnregisterActiveMediaController(controller2); 57 mainController = service->GetMainController(); 58 ASSERT_TRUE(mainController->Id() == FIRST_CONTROLLER_ID); 59 60 service->UnregisterActiveMediaController(controller1); 61 mainController = service->GetMainController(); 62 ASSERT_TRUE(service->GetActiveControllersNum() == 0); 63 ASSERT_TRUE(!mainController); 64 }