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

Unified Diff: chrome/browser/ui/panels/base_panel_browser_test.cc

Issue 8872044: Add test cases for panel overflow handling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/panels/base_panel_browser_test.cc
diff --git a/chrome/browser/ui/panels/base_panel_browser_test.cc b/chrome/browser/ui/panels/base_panel_browser_test.cc
index 82eb2e570ba30a8fa9fab2f108012a38803dafb7..7176ca03bd42504ed3701510eca40ec16d7b91c3 100644
--- a/chrome/browser/ui/panels/base_panel_browser_test.cc
+++ b/chrome/browser/ui/panels/base_panel_browser_test.cc
@@ -11,6 +11,7 @@
#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
#include "base/path_service.h"
+#include "base/string_number_conversions.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
@@ -157,6 +158,67 @@ bool ExistsPanel(Panel* panel) {
} // namespace
+PanelData::PanelData()
+ : panel(NULL),
+ expansion_state(Panel::EXPANDED),
+ visible(false),
+ active(false) {
+}
+
+PanelData::PanelData(Panel* panel)
+ : panel(panel),
+ name(panel->browser()->app_name()),
+ expansion_state(panel->expansion_state()),
+ visible(!panel->GetBounds().IsEmpty()),
+ active(panel->IsActive()) {
+}
+
+bool PanelData::operator==(const PanelData& another) const {
+ return panel == another.panel &&
+ expansion_state == another.expansion_state &&
+ visible == another.visible &&
+ active == another.active;
+}
+
+bool PanelData::operator!=(const PanelData& another) const {
+ return !(*this == another);
+ }
+
+::std::ostream& operator<<(::std::ostream& os, const PanelData& data) {
+ return os << "(" << data.name << ", " << data.expansion_state << ", "
+ << data.visible << ", " << data.active << ")";
+}
+
+PanelData* PanelDataList::get(Panel* panel) {
+ for (PanelDataList::iterator iter = begin(); iter != end(); ++iter) {
+ if (iter->panel == panel)
+ return &(*iter);
+ }
+ return NULL;
+}
+
+void PanelDataList::insertBefore(Panel* before_panel,
+ const PanelData& panel_data) {
+ for (PanelDataList::iterator iter = begin(); iter != end(); ++iter) {
+ if (iter->panel == before_panel) {
+ insert(iter, panel_data);
+ return;
+ }
+ }
+}
+
+PanelData PanelDataList::remove(Panel* panel) {
+ PanelData panel_data;
+ for (PanelDataList::iterator iter = begin(); iter != end(); ++iter) {
+ if (iter->panel == panel) {
+ panel_data = *iter;
+ erase(iter);
+ break;
+ }
+ }
+ return panel_data;
+}
+
const FilePath::CharType* BasePanelBrowserTest::kTestDir =
FILE_PATH_LITERAL("panels");
@@ -379,3 +441,19 @@ scoped_refptr<Extension> BasePanelBrowserTest::CreateExtension(
OnExtensionInstalled(extension.get(), false, -1);
return extension;
}
+
+std::string BasePanelBrowserTest::GetPanelName(int index) {
+ std::string panel_name("Panel");
+ return panel_name + base::IntToString(index);
+}
+
+PanelDataList BasePanelBrowserTest::GetAllPanelData() {
+ PanelDataList panel_data_list;
+ std::vector<Panel*> panels = PanelManager::GetInstance()->panels();
+ for (std::vector<Panel*>::const_iterator iter = panels.begin();
+ iter != panels.end(); ++iter) {
+ Panel* panel = *iter;
+ panel_data_list.push_back(PanelData(panel));
+ }
+ return panel_data_list;
+}

Powered by Google App Engine
This is Rietveld 408576698