tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }