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

Side by Side Diff: chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_panel_unittest.cc

Issue 505913002: Remove implicit conversions from scoped_refptr to T* in chrome/browser/ui/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add {} Created 6 years, 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_pane l.h" 5 #include "chrome/browser/ui/views/apps/app_info_dialog/app_info_permissions_pane l.h"
6 6
7 #include "apps/saved_files_service.h" 7 #include "apps/saved_files_service.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 content::TestBrowserThreadBundle thread_bundle_; 56 content::TestBrowserThreadBundle thread_bundle_;
57 }; 57 };
58 58
59 // Tests that an app with no permissions is treated correctly. 59 // Tests that an app with no permissions is treated correctly.
60 TEST_F(AppInfoPermissionsPanelTest, NoPermissionsObtainedCorrectly) { 60 TEST_F(AppInfoPermissionsPanelTest, NoPermissionsObtainedCorrectly) {
61 scoped_refptr<const extensions::Extension> app = 61 scoped_refptr<const extensions::Extension> app =
62 extensions::ExtensionBuilder() 62 extensions::ExtensionBuilder()
63 .SetManifest(ValidAppManifest()) 63 .SetManifest(ValidAppManifest())
64 .SetID(kTestExtensionId) 64 .SetID(kTestExtensionId)
65 .Build(); 65 .Build();
66 AppInfoPermissionsPanel panel(&profile_, app); 66 AppInfoPermissionsPanel panel(&profile_, app.get());
67 67
68 EXPECT_TRUE(panel.GetActivePermissionMessages().empty()); 68 EXPECT_TRUE(panel.GetActivePermissionMessages().empty());
69 EXPECT_TRUE(panel.GetRetainedFilePaths().empty()); 69 EXPECT_TRUE(panel.GetRetainedFilePaths().empty());
70 } 70 }
71 71
72 // Tests that an app's required permissions are detected and converted to 72 // Tests that an app's required permissions are detected and converted to
73 // messages correctly. 73 // messages correctly.
74 TEST_F(AppInfoPermissionsPanelTest, RequiredPermissionsObtainedCorrectly) { 74 TEST_F(AppInfoPermissionsPanelTest, RequiredPermissionsObtainedCorrectly) {
75 scoped_refptr<const extensions::Extension> app = 75 scoped_refptr<const extensions::Extension> app =
76 extensions::ExtensionBuilder() 76 extensions::ExtensionBuilder()
77 .SetManifest(ValidAppManifest()) 77 .SetManifest(ValidAppManifest())
78 .MergeManifest(extensions::DictionaryBuilder().Set( 78 .MergeManifest(extensions::DictionaryBuilder().Set(
79 "permissions", 79 "permissions",
80 extensions::ListBuilder() 80 extensions::ListBuilder()
81 .Append("desktopCapture") // A valid permission with a 81 .Append("desktopCapture") // A valid permission with a
82 // message 82 // message
83 .Append("bad_perm") // An invalid permission 83 .Append("bad_perm") // An invalid permission
84 .Append("notifications") // An valid permission with 84 .Append("notifications") // An valid permission with
85 // no message 85 // no message
86 .Append("serial"))) // Another valid permission with 86 .Append("serial"))) // Another valid permission with
87 // a message 87 // a message
88 .SetID(kTestExtensionId) 88 .SetID(kTestExtensionId)
89 .Build(); 89 .Build();
90 AppInfoPermissionsPanel panel(&profile_, app); 90 AppInfoPermissionsPanel panel(&profile_, app.get());
91 91
92 const std::vector<base::string16> permission_messages = 92 const std::vector<base::string16> permission_messages =
93 panel.GetActivePermissionMessages(); 93 panel.GetActivePermissionMessages();
94 ASSERT_EQ(2U, permission_messages.size()); 94 ASSERT_EQ(2U, permission_messages.size());
95 EXPECT_EQ( 95 EXPECT_EQ(
96 l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE), 96 l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_DESKTOP_CAPTURE),
97 base::UTF16ToUTF8(permission_messages[0])); 97 base::UTF16ToUTF8(permission_messages[0]));
98 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_SERIAL), 98 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_SERIAL),
99 base::UTF16ToUTF8(permission_messages[1])); 99 base::UTF16ToUTF8(permission_messages[1]));
100 } 100 }
101 101
102 // Tests that an app's optional permissions are detected and converted to 102 // Tests that an app's optional permissions are detected and converted to
103 // messages correctly. 103 // messages correctly.
104 TEST_F(AppInfoPermissionsPanelTest, OptionalPermissionsObtainedCorrectly) { 104 TEST_F(AppInfoPermissionsPanelTest, OptionalPermissionsObtainedCorrectly) {
105 scoped_refptr<const extensions::Extension> app = 105 scoped_refptr<const extensions::Extension> app =
106 extensions::ExtensionBuilder() 106 extensions::ExtensionBuilder()
107 .SetManifest(ValidAppManifest()) 107 .SetManifest(ValidAppManifest())
108 .MergeManifest(extensions::DictionaryBuilder().Set( 108 .MergeManifest(extensions::DictionaryBuilder().Set(
109 "optional_permissions", 109 "optional_permissions",
110 extensions::ListBuilder() 110 extensions::ListBuilder()
111 .Append("clipboardRead") // A valid permission with a 111 .Append("clipboardRead") // A valid permission with a
112 // message 112 // message
113 .Append("bad_perm") // An invalid permission 113 .Append("bad_perm") // An invalid permission
114 .Append("idle") // A valid permission with 114 .Append("idle") // A valid permission with
115 // no message 115 // no message
116 .Append("serial"))) // Another valid permission with 116 .Append("serial"))) // Another valid permission with
117 // a message 117 // a message
118 .SetID(kTestExtensionId) 118 .SetID(kTestExtensionId)
119 .Build(); 119 .Build();
120 AppInfoPermissionsPanel panel(&profile_, app); 120 AppInfoPermissionsPanel panel(&profile_, app.get());
121 121
122 // Optional permissions don't appear until they are 'activated' at runtime. 122 // Optional permissions don't appear until they are 'activated' at runtime.
123 // TODO(sashab): Activate the optional permissions and ensure they are 123 // TODO(sashab): Activate the optional permissions and ensure they are
124 // successfully added to the dialog. 124 // successfully added to the dialog.
125 EXPECT_TRUE(panel.GetActivePermissionMessages().empty()); 125 EXPECT_TRUE(panel.GetActivePermissionMessages().empty());
126 EXPECT_TRUE(panel.GetRetainedFilePaths().empty()); 126 EXPECT_TRUE(panel.GetRetainedFilePaths().empty());
127 } 127 }
128 128
129 // Tests that an app's retained files are detected and converted to paths 129 // Tests that an app's retained files are detected and converted to paths
130 // correctly. 130 // correctly.
131 TEST_F(AppInfoPermissionsPanelTest, RetainedFilePermissionsObtainedCorrectly) { 131 TEST_F(AppInfoPermissionsPanelTest, RetainedFilePermissionsObtainedCorrectly) {
132 scoped_refptr<const extensions::Extension> app = 132 scoped_refptr<const extensions::Extension> app =
133 extensions::ExtensionBuilder() 133 extensions::ExtensionBuilder()
134 .SetManifest(ValidAppManifest()) 134 .SetManifest(ValidAppManifest())
135 .MergeManifest(extensions::DictionaryBuilder().Set( 135 .MergeManifest(extensions::DictionaryBuilder().Set(
136 "permissions", 136 "permissions",
137 extensions::ListBuilder().Append( 137 extensions::ListBuilder().Append(
138 extensions::DictionaryBuilder().Set( 138 extensions::DictionaryBuilder().Set(
139 "fileSystem", 139 "fileSystem",
140 extensions::ListBuilder().Append("retainEntries"))))) 140 extensions::ListBuilder().Append("retainEntries")))))
141 .SetID(kTestExtensionId) 141 .SetID(kTestExtensionId)
142 .Build(); 142 .Build();
143 AppInfoPermissionsPanel panel(&profile_, app); 143 AppInfoPermissionsPanel panel(&profile_, app.get());
144 apps::SavedFilesService* files_service = 144 apps::SavedFilesService* files_service =
145 apps::SavedFilesService::Get(&profile_); 145 apps::SavedFilesService::Get(&profile_);
146 files_service->RegisterFileEntry( 146 files_service->RegisterFileEntry(
147 app->id(), "file_id_1", FilePath(FILE_PATH_LITERAL("file_1.ext")), false); 147 app->id(), "file_id_1", FilePath(FILE_PATH_LITERAL("file_1.ext")), false);
148 files_service->RegisterFileEntry( 148 files_service->RegisterFileEntry(
149 app->id(), "file_id_2", FilePath(FILE_PATH_LITERAL("file_2.ext")), false); 149 app->id(), "file_id_2", FilePath(FILE_PATH_LITERAL("file_2.ext")), false);
150 files_service->RegisterFileEntry( 150 files_service->RegisterFileEntry(
151 app->id(), "file_id_3", FilePath(FILE_PATH_LITERAL("file_3.ext")), false); 151 app->id(), "file_id_3", FilePath(FILE_PATH_LITERAL("file_3.ext")), false);
152 152
153 const std::vector<base::string16> permission_messages = 153 const std::vector<base::string16> permission_messages =
154 panel.GetActivePermissionMessages(); 154 panel.GetActivePermissionMessages();
155 ASSERT_TRUE(permission_messages.empty()); 155 ASSERT_TRUE(permission_messages.empty());
156 156
157 // Since we have no guarantees on the order of retained files, make sure the 157 // Since we have no guarantees on the order of retained files, make sure the
158 // list is the expected length and all required entries are present. 158 // list is the expected length and all required entries are present.
159 const std::vector<base::string16> retained_file_paths = 159 const std::vector<base::string16> retained_file_paths =
160 panel.GetRetainedFilePaths(); 160 panel.GetRetainedFilePaths();
161 ASSERT_EQ(3U, retained_file_paths.size()); 161 ASSERT_EQ(3U, retained_file_paths.size());
162 EXPECT_THAT(retained_file_paths, 162 EXPECT_THAT(retained_file_paths,
163 Contains(Eq(base::UTF8ToUTF16("file_1.ext")))); 163 Contains(Eq(base::UTF8ToUTF16("file_1.ext"))));
164 EXPECT_THAT(retained_file_paths, 164 EXPECT_THAT(retained_file_paths,
165 Contains(Eq(base::UTF8ToUTF16("file_2.ext")))); 165 Contains(Eq(base::UTF8ToUTF16("file_2.ext"))));
166 EXPECT_THAT(retained_file_paths, 166 EXPECT_THAT(retained_file_paths,
167 Contains(Eq(base::UTF8ToUTF16("file_3.ext")))); 167 Contains(Eq(base::UTF8ToUTF16("file_3.ext"))));
168 } 168 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698