• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "display_mock_object_test.h"
17 #include "display_log.h"
18 #include "display_power_mgr_client.h"
19 #include "display_power_mgr_proxy.h"
20 #include "mock_display_remote_object.h"
21 #include "power_state_machine_info.h"
22 
23 using namespace testing::ext;
24 using namespace OHOS::PowerMgr;
25 using namespace OHOS::DisplayPowerMgr;
26 using namespace OHOS;
27 using namespace std;
28 
29 namespace {
30 static constexpr uint32_t BRIGHTNESS_SETTING_VALUE = 50;
31 static constexpr uint32_t BRIGHTNESS_OVERRIDE_VALUE = 100;
32 static constexpr uint32_t BRIGHTNESS_DURATION = 0;
33 static constexpr uint32_t BRIGHTNESS_DEFAULT_VALUE = 102;
34 static constexpr uint32_t BRIGHTNESS_MIN_VALUE = 5;
35 static constexpr uint32_t BRIGHTNESS_MAX_VALUE = 255;
36 static constexpr uint32_t BRIGHTNESS_NONE_VALUE = 0;
37 static constexpr uint32_t DISPLAY_ID = 0;
38 static constexpr uint32_t MAIN_ID_PROXY = 0;
39 static constexpr uint32_t REASON = 0;
40 static constexpr int32_t BRIGHTNESS_ADJUST_VALUE = 150;
41 static constexpr int32_t MAIN_ID_CLIENT = 0;
42 static constexpr int32_t TIMEOUT_MS = 500;
43 static constexpr double DISCOUNT_VALUE = 0.30;
44 } // namespace
45 
OnDisplayStateChanged(uint32_t displayId,DisplayPowerMgr::DisplayState state)46 void DisplayMockObjectTest::DisplayPowerMgrTestCallback::OnDisplayStateChanged(
47     uint32_t displayId, DisplayPowerMgr::DisplayState state)
48 {
49     DISPLAY_HILOGI(LABEL_TEST, "DisplayPowerMgrTestCallback::OnDisplayStateChangedStub");
50 }
51 
52 namespace {
53 /**
54  * @tc.name: DisplayMockObjectTest_001
55  * @tc.desc: test DisplayPowerMgrProxy function(IRemoteObject is mock, "SendRequest" function return false)
56  * @tc.type: FUNC
57  * @tc.require: issueI5YZQR
58  */
59 HWTEST_F(DisplayMockObjectTest, DisplayMockObjectTest_001, TestSize.Level0)
60 {
61     sptr<MockDisplayRemoteObject> sptrRemoteObj = new MockDisplayRemoteObject();
62     auto sptrDisplayProxy = std::make_shared<DisplayPowerMgr::DisplayPowerMgrProxy>(sptrRemoteObj);
63     EXPECT_FALSE(sptrDisplayProxy->SetDisplayState(DISPLAY_ID, DisplayPowerMgr::DisplayState::DISPLAY_ON, REASON));
64     EXPECT_NE(DisplayPowerMgr::DisplayState::DISPLAY_ON, sptrDisplayProxy->GetDisplayState(DISPLAY_ID));
65     std::vector<uint32_t> result;
66     result.push_back(DISPLAY_ID);
67     EXPECT_NE(result, sptrDisplayProxy->GetDisplayIds());
68     EXPECT_EQ(MAIN_ID_PROXY, sptrDisplayProxy->GetMainDisplayId());
69     EXPECT_FALSE(sptrDisplayProxy->SetBrightness(BRIGHTNESS_SETTING_VALUE, DISPLAY_ID));
70     EXPECT_FALSE(sptrDisplayProxy->DiscountBrightness(DISCOUNT_VALUE, DISPLAY_ID));
71     EXPECT_FALSE(sptrDisplayProxy->OverrideBrightness(BRIGHTNESS_OVERRIDE_VALUE, DISPLAY_ID));
72     EXPECT_FALSE(sptrDisplayProxy->RestoreBrightness(DISPLAY_ID));
73     EXPECT_EQ(BRIGHTNESS_NONE_VALUE, sptrDisplayProxy->GetBrightness(DISPLAY_ID));
74     EXPECT_EQ(BRIGHTNESS_NONE_VALUE, sptrDisplayProxy->GetDeviceBrightness(DISPLAY_ID));
75     EXPECT_EQ(BRIGHTNESS_NONE_VALUE, sptrDisplayProxy->GetDefaultBrightness());
76     EXPECT_EQ(BRIGHTNESS_NONE_VALUE, sptrDisplayProxy->GetMaxBrightness());
77     EXPECT_EQ(BRIGHTNESS_NONE_VALUE, sptrDisplayProxy->GetMinBrightness());
78     EXPECT_FALSE(sptrDisplayProxy->AutoAdjustBrightness(true));
79     EXPECT_FALSE(sptrDisplayProxy->AdjustBrightness(DISPLAY_ID, BRIGHTNESS_ADJUST_VALUE, BRIGHTNESS_DURATION));
80     EXPECT_FALSE(sptrDisplayProxy->AutoAdjustBrightness(false));
81     EXPECT_FALSE(sptrDisplayProxy->IsAutoAdjustBrightness());
82     EXPECT_FALSE(sptrDisplayProxy->BoostBrightness(TIMEOUT_MS, DISPLAY_ID));
83     EXPECT_FALSE(sptrDisplayProxy->CancelBoostBrightness(DISPLAY_ID));
84 }
85 
86 /**
87  * @tc.name: DisplayMockObjectTest_001
88  * @tc.desc: test DisplayPowerMgrClient
89  * @tc.type: FUNC
90  * @tc.require: issueI5YZQR
91  */
92 HWTEST_F(DisplayMockObjectTest, DisplayMockObjectTest_002, TestSize.Level0)
93 {
94     auto& client = DisplayPowerMgrClient::GetInstance();
95     std::vector<uint32_t> result;
96     result.push_back(DISPLAY_ID);
97     EXPECT_TRUE(client.SetDisplayState(DisplayPowerMgr::DisplayState::DISPLAY_ON));
98     EXPECT_EQ(DisplayPowerMgr::DisplayState::DISPLAY_ON, client.GetDisplayState(DISPLAY_ID));
99     EXPECT_EQ(result, client.GetDisplayIds());
100     EXPECT_EQ(MAIN_ID_CLIENT, client.GetMainDisplayId());
101     EXPECT_TRUE(client.SetBrightness(BRIGHTNESS_SETTING_VALUE, DISPLAY_ID));
102     EXPECT_TRUE(client.DiscountBrightness(DISCOUNT_VALUE, DISPLAY_ID));
103     EXPECT_TRUE(client.OverrideBrightness(BRIGHTNESS_OVERRIDE_VALUE, DISPLAY_ID));
104     EXPECT_TRUE(client.RestoreBrightness(DISPLAY_ID));
105     EXPECT_EQ(BRIGHTNESS_SETTING_VALUE, client.GetBrightness(DISPLAY_ID));
106     EXPECT_EQ(BRIGHTNESS_SETTING_VALUE * DISCOUNT_VALUE, client.GetDeviceBrightness(DISPLAY_ID));
107     EXPECT_EQ(BRIGHTNESS_DEFAULT_VALUE, client.GetDefaultBrightness());
108     EXPECT_EQ(BRIGHTNESS_MAX_VALUE, client.GetMaxBrightness());
109     EXPECT_EQ(BRIGHTNESS_MIN_VALUE, client.GetMinBrightness());
110     EXPECT_TRUE(client.AdjustBrightness(BRIGHTNESS_ADJUST_VALUE, BRIGHTNESS_DURATION, DISPLAY_ID));
111     EXPECT_FALSE(client.IsAutoAdjustBrightness());
112     EXPECT_TRUE(client.BoostBrightness(TIMEOUT_MS, DISPLAY_ID));
113     EXPECT_TRUE(client.CancelBoostBrightness(DISPLAY_ID));
114 }
115 } // namespace
116