Roll src/third_party/WebKit 6b63e20:35e1984 (svn 201060:201061)
[chromium-blink-merge.git] / base / memory / memory_pressure_monitor_mac_unittest.cc
blobe037a9dcdd6d65df9e907303c84acce421bca2b8
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.
5 #include "base/memory/memory_pressure_monitor_mac.h"
7 #include "testing/gtest/include/gtest/gtest.h"
9 namespace base {
10 namespace mac {
12 class TestMemoryPressureMonitor : public MemoryPressureMonitor {
13 public:
14 using MemoryPressureMonitor::MemoryPressureLevelForMacMemoryPressure;
16 TestMemoryPressureMonitor() { }
18 private:
19 DISALLOW_COPY_AND_ASSIGN(TestMemoryPressureMonitor);
22 TEST(MacMemoryPressureMonitorTest, MemoryPressureFromMacMemoryPressure) {
23 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE,
24 TestMemoryPressureMonitor::
25 MemoryPressureLevelForMacMemoryPressure(
26 DISPATCH_MEMORYPRESSURE_NORMAL));
27 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE,
28 TestMemoryPressureMonitor::
29 MemoryPressureLevelForMacMemoryPressure(
30 DISPATCH_MEMORYPRESSURE_WARN));
31 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL,
32 TestMemoryPressureMonitor::
33 MemoryPressureLevelForMacMemoryPressure(
34 DISPATCH_MEMORYPRESSURE_CRITICAL));
35 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE,
36 TestMemoryPressureMonitor::
37 MemoryPressureLevelForMacMemoryPressure(0));
38 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE,
39 TestMemoryPressureMonitor::
40 MemoryPressureLevelForMacMemoryPressure(3));
41 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE,
42 TestMemoryPressureMonitor::
43 MemoryPressureLevelForMacMemoryPressure(5));
44 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE,
45 TestMemoryPressureMonitor::
46 MemoryPressureLevelForMacMemoryPressure(-1));
49 TEST(MacMemoryPressureMonitorTest, CurrentMemoryPressure) {
50 TestMemoryPressureMonitor monitor;
51 MemoryPressureListener::MemoryPressureLevel memory_pressure =
52 monitor.GetCurrentPressureLevel();
53 EXPECT_TRUE(memory_pressure ==
54 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE ||
55 memory_pressure ==
56 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE ||
57 memory_pressure ==
58 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL);
61 } // namespace mac
62 } // namespace base