1 // Copyright 2013 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/message_loop/message_loop.h"
6 #include "chrome/browser/extensions/extension_apitest.h"
7 #include "extensions/browser/api/system_memory/memory_info_provider.h"
11 using core_api::system_memory::MemoryInfo;
13 class MockMemoryInfoProviderImpl : public MemoryInfoProvider {
15 MockMemoryInfoProviderImpl() {}
17 bool QueryInfo() override {
18 info_.capacity = 4096;
19 info_.available_capacity = 1024;
23 ~MockMemoryInfoProviderImpl() override {}
26 class SystemMemoryApiTest: public ExtensionApiTest {
28 SystemMemoryApiTest() {}
29 ~SystemMemoryApiTest() override {}
31 void SetUpInProcessBrowserTestFixture() override {
32 ExtensionApiTest::SetUpInProcessBrowserTestFixture();
33 message_loop_.reset(new base::MessageLoopForUI);
37 scoped_ptr<base::MessageLoop> message_loop_;
40 IN_PROC_BROWSER_TEST_F(SystemMemoryApiTest, Memory) {
41 scoped_refptr<MemoryInfoProvider> provider = new MockMemoryInfoProviderImpl();
42 // The provider is owned by the single MemoryInfoProvider instance.
43 MemoryInfoProvider::InitializeForTesting(provider);
44 ASSERT_TRUE(RunExtensionTest("system/memory")) << message_;
47 } // namespace extensions