| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
| 6 | 6 |
| 7 #include "app/mac/nsimage_cache.h" |
| 7 #include "base/file_path.h" | 8 #include "base/file_path.h" |
| 8 #include "base/mac_util.h" | 9 #include "base/mac_util.h" |
| 9 #include "base/nsimage_cache_mac.h" | |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| 11 #include "chrome/common/chrome_constants.h" | 11 #include "chrome/common/chrome_constants.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "testing/platform_test.h" | 13 #include "testing/platform_test.h" |
| 14 | 14 |
| 15 // This tests nsimage_cache, which lives in base/. The unit test is in | 15 // This tests nsimage_cache, which lives in base/. The unit test is in |
| 16 // chrome/ because it depends on having a built-up Chrome present. | 16 // chrome/ because it depends on having a built-up Chrome present. |
| 17 | 17 |
| 18 namespace { | 18 namespace { |
| 19 | 19 |
| 20 class NSImageCacheTest : public PlatformTest { | 20 class NSImageCacheTest : public PlatformTest { |
| 21 public: | 21 public: |
| 22 NSImageCacheTest() { | 22 NSImageCacheTest() { |
| 23 // Look in the framework bundle for resources. | 23 // Look in the framework bundle for resources. |
| 24 FilePath path; | 24 FilePath path; |
| 25 PathService::Get(base::DIR_EXE, &path); | 25 PathService::Get(base::DIR_EXE, &path); |
| 26 path = path.Append(chrome::kFrameworkName); | 26 path = path.Append(chrome::kFrameworkName); |
| 27 mac_util::SetOverrideAppBundlePath(path); | 27 mac_util::SetOverrideAppBundlePath(path); |
| 28 } | 28 } |
| 29 virtual ~NSImageCacheTest() { | 29 virtual ~NSImageCacheTest() { |
| 30 mac_util::SetOverrideAppBundle(nil); | 30 mac_util::SetOverrideAppBundle(nil); |
| 31 } | 31 } |
| 32 }; | 32 }; |
| 33 | 33 |
| 34 TEST_F(NSImageCacheTest, LookupFound) { | 34 TEST_F(NSImageCacheTest, LookupFound) { |
| 35 EXPECT_TRUE(nsimage_cache::ImageNamed(@"back_Template.pdf") != nil) | 35 EXPECT_TRUE(app::mac::GetCachedImageWithName(@"back_Template.pdf") != nil) |
| 36 << "Failed to find the toolbar image?"; | 36 << "Failed to find the toolbar image?"; |
| 37 } | 37 } |
| 38 | 38 |
| 39 TEST_F(NSImageCacheTest, LookupCached) { | 39 TEST_F(NSImageCacheTest, LookupCached) { |
| 40 EXPECT_EQ(nsimage_cache::ImageNamed(@"back_Template.pdf"), | 40 EXPECT_EQ(app::mac::GetCachedImageWithName(@"back_Template.pdf"), |
| 41 nsimage_cache::ImageNamed(@"back_Template.pdf")) | 41 app::mac::GetCachedImageWithName(@"back_Template.pdf")) |
| 42 << "Didn't get the same NSImage back?"; | 42 << "Didn't get the same NSImage back?"; |
| 43 } | 43 } |
| 44 | 44 |
| 45 TEST_F(NSImageCacheTest, LookupMiss) { | 45 TEST_F(NSImageCacheTest, LookupMiss) { |
| 46 EXPECT_TRUE(nsimage_cache::ImageNamed(@"should_not.exist") == nil) | 46 EXPECT_TRUE(app::mac::GetCachedImageWithName(@"should_not.exist") == nil) |
| 47 << "There shouldn't be an image with this name?"; | 47 << "There shouldn't be an image with this name?"; |
| 48 } | 48 } |
| 49 | 49 |
| 50 TEST_F(NSImageCacheTest, LookupFoundAndClear) { | 50 TEST_F(NSImageCacheTest, LookupFoundAndClear) { |
| 51 NSImage *first = nsimage_cache::ImageNamed(@"back_Template.pdf"); | 51 NSImage *first = app::mac::GetCachedImageWithName(@"back_Template.pdf"); |
| 52 // Hang on to the first image so that the second one doesn't get allocated | 52 // Hang on to the first image so that the second one doesn't get allocated |
| 53 // in the same location by (bad) luck. | 53 // in the same location by (bad) luck. |
| 54 [[first retain] autorelease]; | 54 [[first retain] autorelease]; |
| 55 EXPECT_TRUE(first != nil) | 55 EXPECT_TRUE(first != nil) |
| 56 << "Failed to find the toolbar image?"; | 56 << "Failed to find the toolbar image?"; |
| 57 nsimage_cache::Clear(); | 57 app::mac::ClearCachedImages(); |
| 58 NSImage *second = nsimage_cache::ImageNamed(@"back_Template.pdf"); | 58 NSImage *second = app::mac::GetCachedImageWithName(@"back_Template.pdf"); |
| 59 EXPECT_TRUE(second != nil) | 59 EXPECT_TRUE(second != nil) |
| 60 << "Failed to find the toolbar image...again?"; | 60 << "Failed to find the toolbar image...again?"; |
| 61 EXPECT_NE(second, first) | 61 EXPECT_NE(second, first) |
| 62 << "how'd we get the same image after a cache clear?"; | 62 << "how'd we get the same image after a cache clear?"; |
| 63 } | 63 } |
| 64 | 64 |
| 65 TEST_F(NSImageCacheTest, AutoTemplating) { | 65 TEST_F(NSImageCacheTest, AutoTemplating) { |
| 66 NSImage *templateImage = nsimage_cache::ImageNamed(@"back_Template.pdf"); | 66 NSImage *templateImage = |
| 67 app::mac::GetCachedImageWithName(@"back_Template.pdf"); |
| 67 EXPECT_TRUE([templateImage isTemplate] == YES) | 68 EXPECT_TRUE([templateImage isTemplate] == YES) |
| 68 << "Image ending in 'Template' should be marked as being a template"; | 69 << "Image ending in 'Template' should be marked as being a template"; |
| 69 NSImage *nonTemplateImage = nsimage_cache::ImageNamed(@"aliasCursor.png"); | 70 NSImage *nonTemplateImage = |
| 71 app::mac::GetCachedImageWithName(@"aliasCursor.png"); |
| 70 EXPECT_FALSE([nonTemplateImage isTemplate] == YES) | 72 EXPECT_FALSE([nonTemplateImage isTemplate] == YES) |
| 71 << "Image not ending in 'Template' should not be marked as being a " | 73 << "Image not ending in 'Template' should not be marked as being a " |
| 72 "template"; | 74 "template"; |
| 73 } | 75 } |
| 74 | 76 |
| 75 } // namespace | 77 } // namespace |
| OLD | NEW |