OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/files/scoped_temp_dir.h" | 5 #include "base/files/scoped_temp_dir.h" |
6 #include "base/threading/thread.h" | 6 #include "base/threading/thread.h" |
7 #include "content/browser/browser_thread_impl.h" | 7 #include "content/browser/browser_thread_impl.h" |
8 #include "content/browser/gpu/shader_disk_cache.h" | 8 #include "content/browser/gpu/shader_disk_cache.h" |
9 #include "content/public/test/test_browser_thread.h" | 9 #include "content/public/test/test_browser_thread_bundle.h" |
10 #include "net/base/test_completion_callback.h" | 10 #include "net/base/test_completion_callback.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 namespace { | 14 namespace { |
15 | 15 |
16 const int kDefaultClientId = 42; | 16 const int kDefaultClientId = 42; |
17 const char kCacheKey[] = "key"; | 17 const char kCacheKey[] = "key"; |
18 const char kCacheValue[] = "cached value"; | 18 const char kCacheValue[] = "cached value"; |
19 | 19 |
20 } // namespace | 20 } // namespace |
21 | 21 |
22 class ShaderDiskCacheTest : public testing::Test { | 22 class ShaderDiskCacheTest : public testing::Test { |
23 public: | 23 public: |
24 ShaderDiskCacheTest() | 24 ShaderDiskCacheTest() |
25 : cache_thread_(BrowserThread::CACHE, &message_loop_), | 25 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) { |
26 io_thread_(BrowserThread::IO, &message_loop_) { | |
27 } | 26 } |
28 | 27 |
29 virtual ~ShaderDiskCacheTest() {} | 28 virtual ~ShaderDiskCacheTest() {} |
30 | 29 |
31 const base::FilePath& cache_path() { return temp_dir_.path(); } | 30 const base::FilePath& cache_path() { return temp_dir_.path(); } |
32 | 31 |
33 void InitCache() { | 32 void InitCache() { |
34 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 33 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
35 ShaderCacheFactory::GetInstance()->SetCacheInfo(kDefaultClientId, | 34 ShaderCacheFactory::GetInstance()->SetCacheInfo(kDefaultClientId, |
36 cache_path()); | 35 cache_path()); |
37 } | 36 } |
38 | 37 |
39 private: | 38 private: |
40 virtual void TearDown() OVERRIDE { | 39 virtual void TearDown() OVERRIDE { |
41 ShaderCacheFactory::GetInstance()->RemoveCacheInfo(kDefaultClientId); | 40 ShaderCacheFactory::GetInstance()->RemoveCacheInfo(kDefaultClientId); |
42 } | 41 } |
43 | 42 |
44 base::ScopedTempDir temp_dir_; | 43 base::ScopedTempDir temp_dir_; |
45 base::MessageLoopForIO message_loop_; | 44 content::TestBrowserThreadBundle thread_bundle_; |
46 TestBrowserThread cache_thread_; | |
47 TestBrowserThread io_thread_; | |
48 | 45 |
49 DISALLOW_COPY_AND_ASSIGN(ShaderDiskCacheTest); | 46 DISALLOW_COPY_AND_ASSIGN(ShaderDiskCacheTest); |
50 }; | 47 }; |
51 | 48 |
52 TEST_F(ShaderDiskCacheTest, ClearsCache) { | 49 TEST_F(ShaderDiskCacheTest, ClearsCache) { |
53 InitCache(); | 50 InitCache(); |
54 | 51 |
55 scoped_refptr<ShaderDiskCache> cache = | 52 scoped_refptr<ShaderDiskCache> cache = |
56 ShaderCacheFactory::GetInstance()->Get(kDefaultClientId); | 53 ShaderCacheFactory::GetInstance()->Get(kDefaultClientId); |
57 ASSERT_TRUE(cache.get() != NULL); | 54 ASSERT_TRUE(cache.get() != NULL); |
(...skipping 11 matching lines...) Expand all Loading... |
69 EXPECT_EQ(1, cache->Size()); | 66 EXPECT_EQ(1, cache->Size()); |
70 | 67 |
71 base::Time time; | 68 base::Time time; |
72 net::TestCompletionCallback clear_cb; | 69 net::TestCompletionCallback clear_cb; |
73 rv = cache->Clear(time, time, clear_cb.callback()); | 70 rv = cache->Clear(time, time, clear_cb.callback()); |
74 ASSERT_EQ(net::OK, clear_cb.GetResult(rv)); | 71 ASSERT_EQ(net::OK, clear_cb.GetResult(rv)); |
75 EXPECT_EQ(0, cache->Size()); | 72 EXPECT_EQ(0, cache->Size()); |
76 }; | 73 }; |
77 | 74 |
78 } // namespace content | 75 } // namespace content |
OLD | NEW |