Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / extension_file_util_unittest.cc
1 // Copyright (c) 2012 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 "chrome/common/extensions/extension_file_util.h"
6
7 #include <set>
8
9 #include "base/path_service.h"
10 #include "chrome/common/chrome_paths.h"
11 #include "extensions/common/extension.h"
12 #include "extensions/common/file_util.h"
13 #include "extensions/common/manifest.h"
14 #include "testing/gtest/include/gtest/gtest.h"
15
16 namespace extensions {
17
18 typedef testing::Test ExtensionFileUtilTest;
19
20 // Test that a browser action extension returns a path to an icon.
21 TEST_F(ExtensionFileUtilTest, GetBrowserImagePaths) {
22   base::FilePath install_dir;
23   ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &install_dir));
24   install_dir = install_dir.AppendASCII("extensions")
25                     .AppendASCII("api_test")
26                     .AppendASCII("browser_action")
27                     .AppendASCII("basics");
28
29   std::string error;
30   scoped_refptr<Extension> extension(file_util::LoadExtension(
31       install_dir, Manifest::UNPACKED, Extension::NO_FLAGS, &error));
32   ASSERT_TRUE(extension.get());
33
34   // The extension contains one icon.
35   std::set<base::FilePath> paths =
36       extension_file_util::GetBrowserImagePaths(extension.get());
37   ASSERT_EQ(1u, paths.size());
38   EXPECT_EQ("icon.png", paths.begin()->BaseName().AsUTF8Unsafe());
39 }
40
41 }  // namespace extensions