Index: chrome/browser/gtk/gtk_expanded_container_unittest.cc |
=================================================================== |
--- chrome/browser/gtk/gtk_expanded_container_unittest.cc (revision 71352) |
+++ chrome/browser/gtk/gtk_expanded_container_unittest.cc (working copy) |
@@ -1,159 +0,0 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/gtk/gtk_expanded_container.h" |
- |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-class GtkExpandedContainerTest : public testing::Test { |
- protected: |
- GtkExpandedContainerTest() |
- : window_(gtk_window_new(GTK_WINDOW_TOPLEVEL)), |
- expanded_(gtk_expanded_container_new()) { |
- gtk_window_set_default_size(GTK_WINDOW(window_), 200, 200); |
- gtk_container_add(GTK_CONTAINER(window_), expanded_); |
- } |
- ~GtkExpandedContainerTest() { |
- gtk_widget_destroy(window_); |
- } |
- |
- bool FindChild(GtkWidget* widget) { |
- GList* children = gtk_container_get_children(GTK_CONTAINER(expanded_)); |
- for (GList* child = children; child; child = child->next) { |
- if (GTK_WIDGET(child->data) == widget) { |
- g_list_free(children); |
- return true; |
- } |
- } |
- g_list_free(children); |
- return false; |
- } |
- |
- int GetChildX(GtkWidget* widget) { |
- GValue x = { 0 }; |
- g_value_init(&x, G_TYPE_INT); |
- gtk_container_child_get_property(GTK_CONTAINER(expanded_), widget, "x", &x); |
- return g_value_get_int(&x); |
- } |
- |
- int GetChildY(GtkWidget* widget) { |
- GValue y = { 0 }; |
- g_value_init(&y, G_TYPE_INT); |
- gtk_container_child_get_property(GTK_CONTAINER(expanded_), widget, "y", &y); |
- return g_value_get_int(&y); |
- } |
- |
- protected: |
- GtkWidget* window_; |
- GtkWidget* expanded_; |
-}; |
- |
-TEST_F(GtkExpandedContainerTest, AddRemove) { |
- GtkWidget* child1 = gtk_fixed_new(); |
- GtkWidget* child2 = gtk_fixed_new(); |
- gtk_container_add(GTK_CONTAINER(expanded_), child1); |
- ASSERT_TRUE(FindChild(child1)); |
- |
- gtk_container_add(GTK_CONTAINER(expanded_), child2); |
- ASSERT_TRUE(FindChild(child2)); |
- ASSERT_TRUE(FindChild(child1)); |
- |
- gtk_container_remove(GTK_CONTAINER(expanded_), child1); |
- ASSERT_FALSE(FindChild(child1)); |
- ASSERT_TRUE(FindChild(child2)); |
- |
- gtk_container_remove(GTK_CONTAINER(expanded_), child2); |
- ASSERT_FALSE(FindChild(child2)); |
-} |
- |
-TEST_F(GtkExpandedContainerTest, Expand) { |
- GtkWidget* child1 = gtk_fixed_new(); |
- GtkWidget* child2 = gtk_fixed_new(); |
- gtk_container_add(GTK_CONTAINER(expanded_), child1); |
- gtk_expanded_container_put(GTK_EXPANDED_CONTAINER(expanded_), |
- child2, 10, 20); |
- gtk_widget_show_all(window_); |
- |
- GtkAllocation allocation = { 0, 0, 50, 100 }; |
- gtk_widget_size_allocate(expanded_, &allocation); |
- |
- EXPECT_EQ(0, child1->allocation.x); |
- EXPECT_EQ(0, child1->allocation.y); |
- EXPECT_EQ(50, child1->allocation.width); |
- EXPECT_EQ(100, child1->allocation.height); |
- |
- EXPECT_EQ(10, child2->allocation.x); |
- EXPECT_EQ(20, child2->allocation.y); |
- EXPECT_EQ(50, child2->allocation.width); |
- EXPECT_EQ(100, child2->allocation.height); |
- |
- allocation.x = 10; |
- allocation.y = 20; |
- gtk_widget_size_allocate(expanded_, &allocation); |
- |
- EXPECT_EQ(10, child1->allocation.x); |
- EXPECT_EQ(20, child1->allocation.y); |
- EXPECT_EQ(20, child2->allocation.x); |
- EXPECT_EQ(40, child2->allocation.y); |
-} |
- |
-// Test if the size allocation for children still works when using own |
-// GdkWindow. In this case, the children's origin starts from (0, 0) rather |
-// than the container's origin. |
-TEST_F(GtkExpandedContainerTest, HasWindow) { |
- GtkWidget* child = gtk_fixed_new(); |
- gtk_container_add(GTK_CONTAINER(expanded_), child); |
- gtk_expanded_container_set_has_window(GTK_EXPANDED_CONTAINER(expanded_), |
- TRUE); |
- gtk_widget_show_all(window_); |
- |
- GtkAllocation allocation = { 10, 10, 50, 100 }; |
- gtk_widget_size_allocate(expanded_, &allocation); |
- |
- EXPECT_EQ(0, child->allocation.x); |
- EXPECT_EQ(0, child->allocation.y); |
- EXPECT_EQ(50, child->allocation.width); |
- EXPECT_EQ(100, child->allocation.height); |
-} |
- |
-static void OnChildSizeRequest(GtkExpandedContainer* container, |
- GtkWidget* child, |
- GtkRequisition* requisition, |
- gpointer userdata) { |
- ASSERT_EQ(child, GTK_WIDGET(userdata)); |
- requisition->width = 250; |
- requisition->height = -1; |
-} |
- |
-TEST_F(GtkExpandedContainerTest, ChildSizeRequest) { |
- GtkWidget* child = gtk_fixed_new(); |
- gtk_widget_set_size_request(child, 10, 25); |
- g_signal_connect(expanded_, "child-size-request", |
- G_CALLBACK(OnChildSizeRequest), child); |
- gtk_container_add(GTK_CONTAINER(expanded_), child); |
- gtk_widget_show_all(window_); |
- |
- GtkAllocation allocation = { 0, 0, 300, 100 }; |
- gtk_widget_size_allocate(expanded_, &allocation); |
- |
- EXPECT_EQ(0, child->allocation.x); |
- EXPECT_EQ(0, child->allocation.y); |
- EXPECT_EQ(250, child->allocation.width); |
- EXPECT_EQ(25, child->allocation.height); |
-} |
- |
-TEST_F(GtkExpandedContainerTest, ChildPosition) { |
- GtkWidget* child = gtk_fixed_new(); |
- gtk_expanded_container_put(GTK_EXPANDED_CONTAINER(expanded_), |
- child, 10, 20); |
- gtk_widget_show_all(window_); |
- |
- EXPECT_EQ(10, GetChildX(child)); |
- EXPECT_EQ(20, GetChildY(child)); |
- |
- gtk_expanded_container_move(GTK_EXPANDED_CONTAINER(expanded_), |
- child, 40, 50); |
- EXPECT_EQ(40, GetChildX(child)); |
- EXPECT_EQ(50, GetChildY(child)); |
-} |