Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: chrome/browser/extensions/extensions_service_unittest.cc

Issue 149046: PageActions can now specify multiple icons and switch between them... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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 <algorithm> 5 #include <algorithm>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 22 matching lines...) Expand all
33 33
34 namespace { 34 namespace {
35 35
36 // Extension ids used during testing. 36 // Extension ids used during testing.
37 const char* const all_zero = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; 37 const char* const all_zero = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
38 const char* const zero_n_one = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"; 38 const char* const zero_n_one = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab";
39 const char* const good0 = "behllobkkfkfnphdnhnkndlbkcpglgmj"; 39 const char* const good0 = "behllobkkfkfnphdnhnkndlbkcpglgmj";
40 const char* const good1 = "hpiknbiabeeppbpihjehijgoemciehgk"; 40 const char* const good1 = "hpiknbiabeeppbpihjehijgoemciehgk";
41 const char* const good2 = "bjafgdebaacbbbecmhlhpofkepfkgcpa"; 41 const char* const good2 = "bjafgdebaacbbbecmhlhpofkepfkgcpa";
42 const char* const good_crx = "ldnnhddmnhbkjipkidpdiheffobcpfmf"; 42 const char* const good_crx = "ldnnhddmnhbkjipkidpdiheffobcpfmf";
43 const char* const page_action = "kemkhnabegjkabakmlcaafgikalipenj"; 43 const char* const page_action = "obcimlgaoabeegjmmpldobjndiealpln";
44 const char* const theme_crx = "iamefpfkojoapidjnbafmgkgncegbkad"; 44 const char* const theme_crx = "iamefpfkojoapidjnbafmgkgncegbkad";
45 const char* const theme2_crx = "pjpgmfcmabopnnfonnhmdjglfpjjfkbf"; 45 const char* const theme2_crx = "pjpgmfcmabopnnfonnhmdjglfpjjfkbf";
46 46
47 struct ExtensionsOrder { 47 struct ExtensionsOrder {
48 bool operator()(const Extension* a, const Extension* b) { 48 bool operator()(const Extension* a, const Extension* b) {
49 return a->name() < b->name(); 49 return a->name() < b->name();
50 } 50 }
51 }; 51 };
52 52
53 static std::vector<std::string> GetErrors() { 53 static std::vector<std::string> GetErrors() {
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 count++; 645 count++;
646 646
647 // We should have only gotten two extensions now. 647 // We should have only gotten two extensions now.
648 EXPECT_EQ(2u, count); 648 EXPECT_EQ(2u, count);
649 649
650 // And extension1 dir should now be toast. 650 // And extension1 dir should now be toast.
651 vers = vers.DirName(); 651 vers = vers.DirName();
652 ASSERT_FALSE(file_util::PathExists(vers)); 652 ASSERT_FALSE(file_util::PathExists(vers));
653 } 653 }
654 654
655 // Test installing extensions. 655 // Test installing extensions. This test tries to install few extensions using
656 // crx files. If you need to change those crx files, feel free to repackage
657 // them, throw away the key used and change the id's above.
656 TEST_F(ExtensionsServiceTest, InstallExtension) { 658 TEST_F(ExtensionsServiceTest, InstallExtension) {
657 InitializeEmptyExtensionsService(); 659 InitializeEmptyExtensionsService();
658 660
659 FilePath extensions_path; 661 FilePath extensions_path;
660 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path)); 662 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &extensions_path));
661 extensions_path = extensions_path.AppendASCII("extensions"); 663 extensions_path = extensions_path.AppendASCII("extensions");
662 664
663 // Extensions not enabled. 665 // Extensions not enabled.
664 SetExtensionsEnabled(false); 666 SetExtensionsEnabled(false);
665 FilePath path = extensions_path.AppendASCII("good.crx"); 667 FilePath path = extensions_path.AppendASCII("good.crx");
(...skipping 15 matching lines...) Expand all
681 // An extension with page actions. 683 // An extension with page actions.
682 path = extensions_path.AppendASCII("page_action.crx"); 684 path = extensions_path.AppendASCII("page_action.crx");
683 InstallExtension(path, true); 685 InstallExtension(path, true);
684 ValidatePrefKeyCount(++pref_count); 686 ValidatePrefKeyCount(++pref_count);
685 ValidatePref(page_action, L"state", Extension::ENABLED); 687 ValidatePref(page_action, L"state", Extension::ENABLED);
686 ValidatePref(page_action, L"location", Extension::INTERNAL); 688 ValidatePref(page_action, L"location", Extension::INTERNAL);
687 689
688 // Bad signature. 690 // Bad signature.
689 path = extensions_path.AppendASCII("bad_signature.crx"); 691 path = extensions_path.AppendASCII("bad_signature.crx");
690 InstallExtension(path, false); 692 InstallExtension(path, false);
693 ValidatePrefKeyCount(pref_count);
691 694
692 // 0-length extension file. 695 // 0-length extension file.
693 path = extensions_path.AppendASCII("not_an_extension.crx"); 696 path = extensions_path.AppendASCII("not_an_extension.crx");
694 InstallExtension(path, false); 697 InstallExtension(path, false);
695 ValidatePrefKeyCount(pref_count); 698 ValidatePrefKeyCount(pref_count);
696 699
697 // Bad magic number. 700 // Bad magic number.
698 path = extensions_path.AppendASCII("bad_magic.crx"); 701 path = extensions_path.AppendASCII("bad_magic.crx");
699 InstallExtension(path, false); 702 InstallExtension(path, false);
700 ValidatePrefKeyCount(pref_count); 703 ValidatePrefKeyCount(pref_count);
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 profile.GetPrefs()->SetBoolean(prefs::kEnableExtensions, true); 1418 profile.GetPrefs()->SetBoolean(prefs::kEnableExtensions, true);
1416 service = new ExtensionsService(&profile, command_line.get(), 1419 service = new ExtensionsService(&profile, command_line.get(),
1417 profile.GetPrefs(), install_dir, &loop, &loop); 1420 profile.GetPrefs(), install_dir, &loop, &loop);
1418 EXPECT_TRUE(service->extensions_enabled()); 1421 EXPECT_TRUE(service->extensions_enabled());
1419 1422
1420 command_line.reset(new CommandLine(L"")); 1423 command_line.reset(new CommandLine(L""));
1421 service = new ExtensionsService(&profile, command_line.get(), 1424 service = new ExtensionsService(&profile, command_line.get(),
1422 profile.GetPrefs(), install_dir, &loop, &loop); 1425 profile.GetPrefs(), install_dir, &loop, &loop);
1423 EXPECT_TRUE(service->extensions_enabled()); 1426 EXPECT_TRUE(service->extensions_enabled());
1424 } 1427 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extensions_service.cc ('k') | chrome/browser/tab_contents/tab_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698