OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/mac/memory_pressure_monitor.h" | |
6 #include "testing/gtest/include/gtest/gtest.h" | |
7 | |
8 namespace base { | |
9 namespace mac { | |
10 | |
11 class TestMemoryPressureMonitor : public MemoryPressureMonitor { | |
12 public: | |
13 using MemoryPressureMonitor::MemoryPressureLevelForMacMemoryPressure; | |
14 | |
15 TestMemoryPressureMonitor() { } | |
16 | |
17 private: | |
18 DISALLOW_COPY_AND_ASSIGN(TestMemoryPressureMonitor); | |
19 }; | |
20 | |
21 TEST(MacMemoryPressureMonitorTest, MemoryPressureFromMacMemoryPressure) { | |
22 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE, | |
23 TestMemoryPressureMonitor:: | |
24 MemoryPressureLevelForMacMemoryPressure( | |
25 DISPATCH_MEMORYPRESSURE_NORMAL)); | |
26 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE, | |
27 TestMemoryPressureMonitor:: | |
28 MemoryPressureLevelForMacMemoryPressure( | |
29 DISPATCH_MEMORYPRESSURE_WARN)); | |
30 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL, | |
31 TestMemoryPressureMonitor:: | |
32 MemoryPressureLevelForMacMemoryPressure( | |
33 DISPATCH_MEMORYPRESSURE_CRITICAL)); | |
34 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE, | |
35 TestMemoryPressureMonitor:: | |
36 MemoryPressureLevelForMacMemoryPressure(0)); | |
37 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE, | |
38 TestMemoryPressureMonitor:: | |
39 MemoryPressureLevelForMacMemoryPressure(3)); | |
40 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE, | |
41 TestMemoryPressureMonitor:: | |
42 MemoryPressureLevelForMacMemoryPressure(5)); | |
43 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE, | |
44 TestMemoryPressureMonitor:: | |
45 MemoryPressureLevelForMacMemoryPressure(-1)); | |
46 } | |
47 | |
48 TEST(MacMemoryPressureMonitorTest, CurrentMemoryPressure) { | |
49 TestMemoryPressureMonitor monitor; | |
50 MemoryPressureListener::MemoryPressureLevel memory_pressure = | |
51 monitor.GetCurrentPressureLevel(); | |
52 EXPECT_TRUE(memory_pressure == | |
53 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE || | |
54 memory_pressure == | |
55 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE || | |
56 memory_pressure == | |
57 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); | |
58 } | |
59 | |
60 } // namespace mac | |
61 } // namespace base | |
OLD | NEW |